Ограничить планирование заданий Condor: по одному на физическую машину
Мне нужно запустить задание Condor в кластере с несколькими слотами на машину.
У меня есть дополнительное требование, чтобы две работы не могли быть размещены одновременно на одной физической машине. Это из-за некоторого двоичного файла, который я не могу контролировать, который выполняет некоторые сети (плохо).
Это несколько связанный вопрос: ограничение числа одновременных процессов, запланированных кондором, но это не полностью решает мою проблему. Я понимаю, что могу ограничить место выполнения заданий следующим образом: Requirements = (name == "slot1@machine1") || (name == "slot1@machine2") ...
Однако это слишком ограничивает, так как мне все равно, в каком слоте выполняются задания, если два задания не находятся вместе на одном компьютере.
Есть ли способ добиться этого?
Если это невозможно, как я могу сказать Кондору выбрать машину с наибольшим количеством доступных слотов?
1 ответ
Ты можешь попробовать condor_status
Команда для проверки состояния пула машин.
Первый столбец показывает название слотов и машин
Теперь проверьте State - Activity
:
Unclaimed
: Слот простаиваетClaimed-Busy
: Слот запускает работу Кондора