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

RE: [Condor-users] split processors among multiple jobs



> If i would put a group for each machine, like the first 
> machine would be group1, second machine group2, etc..

There's no big gain in defining a group for each machine. You can just
as easily say:

RANK = (Machine =?= "one.domain.com") + (Machine =?= "two.domain.com") +
...

Or if you want VM-level control:

RANK = (Name =?= "vm1@xxxxxxxxxxxxxx") + (Name =?= "vm1@xxxxxxxxxxxxxx")
+ ...
 
> Then I guess I could query before i submit a job, how many 
> other jobs are running, what rank groups they prefer, and 
> then submit the job with a different rank.  That way, you 
> could load balance 20 jobs easily.

Yes. But you're on the verge of entering into a painful world. Where
ever possible try to use the scheduling and load balancing features
built in to Condor. They are very robust. You can look into writing rank
expressions on the machine-side to apply some steering policies.

> The only part where that might get tricky, is if you submit 5 
> jobs, having ranks from group 1 to 5, (but the whole network 
> has actually 30 groups (1 for each proc)), will they occupy 
> the remaining groups equally, or will job 1 get the rest of 
> the 25 processor "groups"

They will occupy the remaining machines based on condor's fair-share
policy (if they submitted jobs are from different users) and then by
fifo if they're all from the same user. I think that's right.
 
> and then, if you submit  another 5 jobs (while the other 5 
> are still running)..what happends then ?

FIFO. But of course, with some steering if you have a RANK expressions
defined for these jobs.

- Ian