#slurm
Вопрос:
У меня есть сетка с десятью одинаковыми узлами. Каждый узел имеет 32 ядра и два графических процессора.
Существует две категории задач, которые отправляются в сетку:
- Задачи процессора, требующие 1-ЦП
- Задачи с графическим процессором, для которых требуется 1 процессор и 1 графический процессор
Прямо сейчас нет ограничений на ресурсы для отправки SBATCH, поэтому, если кто-то отправит 1000 задач типа 1, 320 задач будут выполняться параллельно, пока все не будут завершены. Это приводит к блокировке любой отправки задач типа 2, даже если графический процессор не используется.
Я хотел бы максимально использовать сеть. Если задача типа 2 отправляется после задачи типа 1, которая занимает всю сетку, я бы хотел, чтобы задачи типа 2 запускались на узле, как только задача типа 1 завершится, пока не будут использованы все графические процессоры, тогда задачи типа 1 могут продолжать выполняться.
Я также должен отметить, что у других пользователей и у меня нет прав администратора на случай, если какие-либо предложения требуют такого уровня контроля.
Комментарии:
1. Без прав администратора это будет сложно. Если у вас есть возможность связаться со всеми другими пользователями, вы можете попросить всех пользователей, работающих только с процессором, повысить ценность своих заданий
#SBATCH --nice=2147483600
(придать заданиям низкий приоритет) при их отправке. Таким образом, когда задания cpu и cpu gpu ожидают ресурсов, задания cpu и gpu с большей вероятностью получат ресурсы.