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

[HTCondor-users] Parallel universe and requirements expression



I have a potential application for parallel universe, but I'm not sure if htcondor can work in the way I want.

The job consists of a bunch of processes which run on separate nodes and communicate via TCP/IP. However the processes each make use of local resource (a database on local SSD) which is different for each process.

Therefore, instead of saying "grab 4 random machines out of the pool", I want to say "grab 4 machines with a specific requirements _expression_ for each job", for example

job x.0: run on any machine (this is the coordinator process)
job x.1: only run on machine with database foo slice 1 present
job x.2: only run on machine with database foo slice 2 present
job x.3: only run on machine with database foo slice 3 present

Now, http://research.cs.wisc.edu/htcondor/manual/v8.0/2_9Parallel_Applications.html says:
" Each of these slots shares a common job ClassAd and will have the same ProcId job ClassAd attribute value."
and goes on to describe $(Node), but it seems this is only available at the time the job starts to execute, not at the time that the ClassAd matching takes place.

However later under " Differing Requirements for the Machines" it looks like differing ClassAd expressions *can* be used. So could I just use something like this?

machine_count = 1
requirements = WWW
queue
machine_count = 1
requirements = XXX
queue
machine_count = 1
requirements = YYY
queue
machine_count = 1
requirements = ZZZ
queue

Thanks,

Brian.