Limit Condor's job scheduling: one per physical machine

I need to run a Condor job in a cluster with multiple slots per machine.

I have an additional requirement that two tasks cannot be placed simultaneously on the same physical machine. This is due to some binaries that I cannot control, which runs some network (bad).

This is a somewhat related question: Limiting the number of parallel processes planned by the condor but it does not completely solve my problem. I understand that I could limit where work can be done as follows: Requirements = (name == " slot1@machine1 ") || (name == " slot1@machine2 ") ... Requirements = (name == " slot1@machine1 ") || (name == " slot1@machine2 ") ... However, this is too restrictive, because I don’t care which slot performs the tasks until the two tasks are together on the same computer.

Is there any way to achieve this?

If this is not possible, how can I tell the condor to choose the car with the most available slots?

+5
source share
1 answer

You can try the condor_status command to check the status of the machine pool.
The first column shows the names of slots and machines

Now check out State - Activity :

  • Unclaimed : slot idle
  • Claimed-Busy : Slot Launches Condor Jobs
0
source

Source: https://habr.com/ru/post/1247094/


All Articles