Restrict scheduling of Condor jobs: one per physical machine
Asked Answered
H

1

6

I need to launch a Condor job on a cluster with multiple slots per machine.

I have an additional requirement that two jobs can not be placed at the same time in the same physical machine. This is due to some binary that I can not control which performs some networking (poorly).

This is a somewhat related question: Limiting number of concurrent processes scheduled by condor but it does not completely solves my problem. I understand I could restrict where jobs can run in the following way: Requirements = (name == "slot1@machine1") || (name == "slot1@machine2") ... However this is too restricting as I don't care which slot the jobs run as long as two jobs are not together in the same machine.

Is there a way to achieve this?

If this is not possible how can I tell condor to pick the machine that has the most slots available?

Heyman answered 14/4, 2016 at 3:26 Comment(0)
B
-1

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

Now check the State - Activity:

  • Unclaimed : Slot is idle
  • Claimed-Busy : Slot is running Condor jobs
Bellona answered 28/4, 2016 at 17:51 Comment(1)
How can I use that information in the Job requirement?Heyman

© 2022 - 2024 — McMap. All rights reserved.