[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [HTCondor-users] custom universes?



So walking through an example

Collector/negotiator/scheduler
Compute node 1 - centos 6, default python 2.6
Compute node 2 - ubuntu 12.04, default python 2.7
Compute node 3 - centos 6, default python 2.6 & alternate python 2.7

User submits job
  universe=vanilla
  features=python27
  executable = blah.py
  arguments = file1.dat
  transfer_input_files = file1.dat
  transfer_executable = true


It gets matched to node 3, transformed and sent off for execution.

How does the transform know the python 2.7 setup for node 3 and that it's different from node 2?  Do I have to put the goop for each node into the scheduler or will the node supply it on joining the cluster?  Startd might be a better place to transform in this situation.

Klint.


-----Original Message-----
From: HTCondor-users [mailto:htcondor-users-bounces@xxxxxxxxxxx] On Behalf Of Brian Bockelman
Sent: Thursday, 8 January 2015 12:59 PM
To: HTCondor-Users Mail List
Subject: Re: [HTCondor-users] custom universes?

Hi Klint,

It's not exactly what you asked for, but I'm working on something in the same ballpark:

https://htcondor-wiki.cs.wisc.edu/index.cgi/tktview?tn=4804

The basic idea is the admin (or, more likely, packager) can write job transforms which are applied at submit time.  Then, the user would only need to put:

features = python26

in the config file and the "goop" to transform the job into bootstrapping and running the appropriate version of python is done inside the schedd.  This would allow very site-specific (UW has a "chtc_wrapper") or domain-specific (DMTCP-based checkpointing) functionality to appear like a first-class feature like universes.

The idea is still in the concept phase; an initial implementation exists, but there's not planned release.

Brian

> On Jan 7, 2015, at 6:51 PM, Klint Gore <kgore4@xxxxxxxxxx> wrote:
> 
> Just a thought - would there be a way to setup a python universe like the java universe?  Is there some threshold where an interpreter becomes a candidate for its own universe?  
> 
> Sooner or later, I'm going to have to deal with python across a mix of ubuntu and centos which have different default python versions.  If I could create a universes like python26, python27 and python3 that might make life easier.  I'm envisaging something like /etc/condor/universe.d/python27.conf that contains where the interpreter is, the environment setup for it particular to the node, and how to construct the line to execute the program.
>