Есть ли способ сделать определенные узлы в разделе SLURM предпочтительными по сравнению с другими узлами? - PullRequest
1 голос
/ 18 июня 2020

У меня есть кластер, состоящий в основном из узлов CPU + GPU с парой узлов CPU only. На данный момент они находятся в двух разделах: 'gpuNodes' и 'cpuNodes' соответственно. Наши потребности растут, и наши задания, связанные только с ЦП, должны использовать узлы ЦП + ГП в дополнение к узлам только ЦП для своевременного выполнения. Я думал о создании раздела 'all' , в котором есть узлы из обоих предыдущих узлов. В идеале я хотел бы заполнить узлы только CPU, прежде чем переходить к отправке заданий на узлы CPU + GPU.

Это подводит меня к моему вопросу. Есть ли способ установить приоритет / предпочтение для набора узлов в разделе, чтобы пакетное задание, назначенное разделу, сначала заполняло предпочтительные узлы? Или, если вы знаете лучший способ достичь sh моих целей, я не настроен на раздел 'all' , упомянутый выше.

Если это помогает указать схему для моего узлы следуют синтаксису, приведенному ниже:

Узлы с CPU + GPU: gn001-gn100
Узлы только с CPU: n001-n20

Заранее благодарим вас за вашу помощь!

1 Ответ

1 голос
/ 28 июня 2020

Обычно это делается с помощью параметра weight в slurm.conf

Из справочной страницы slurm.conf :

При прочих равных , задания будут распределены по узлам с наименьшим весом, который удовлетворяет их требованиям.

В вашем случае вы должны установить что-то вроде

NodeName=n[001-200] ... Weight=10
NodeName=gn[001-100] ... Weight=100

Задания, которые не запрашивают графические процессоры, будут Сначала выделяются узлы только для ЦП, и только если нет узла только для ЦП, им будут выделены узлы ЦП + ГП. Заданиям, которые запрашивают графические процессоры, естественно, будут выделены только узлы CPU + GPU.

...