Может ли slurm запускать 3 отдельных компьютера как один "узел"? - PullRequest
0 голосов
/ 29 февраля 2020

Я - стажер, которому поручено установить slurm на три вычислительных устройства, работающих под управлением Ubuntu. Теперь все работает так: люди sh подключаются к одному из вычислительных модулей и запускают там работу, поскольку все три модуля совместно используют память через монтирование nfs. В противном случае они отдельные машины, хотя.

Моя проблема в том, что из того, что я прочитал в документации, кажется, что при установке slurm я бы указывал каждый из этих вычислительных блоков как полностью отдельный узел, и любые задания, которые я хотел бы запустить использование нескольких ядер будет по-прежнему ограничено количеством ядер, доступных на отдельном узле. Однако мой супервайзер сказал мне, что эти три модуля должны быть установлены как один узел, и когда для задания требуется больше ядер, чем доступно на одном вычислительном модуле, slurm должен просто использовать все ядра. Намерение состоит в том, что мы не будем изменять способ выполнения заданий (например, распараллеленный R-скрипт), а просто «оборачиваем» их в сценарий sbatch перед отправкой их в slurm для планирования и выполнения.

Так мой супервизор прав в том, что можно использовать slurm для запуска наших распараллеленных сценариев без изменений с большим количеством ядер, чем доступно на одной машине?

1 Ответ

1 голос
/ 29 февраля 2020

Выполнение скрипта на большем количестве ядер, чем доступно, - нонсенс. Это не обеспечивает какого-либо увеличения производительности, а скорее противоположности, поскольку необходимо управлять большим количеством потоков, но вычислительная мощность остается той же.

Но он прав в том смысле, что вы можете обернуть свой текущий скрипт и отправить его SLURM для выполнения, используя весь узел. Но три машины будут тремя узлами. Они не могут работать как один узел, потому что они не являются одним узлом / машиной. Они не разделяют ни память, ни шины, ни периферийные устройства ... они просто разделяют некоторый диск через сеть.

Вы говорите, что

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

, но это текущая ситуация с S SH. Ничто не потеряно при использовании SLURM для управления ресурсами. Фактически, SLURM позаботится о том, чтобы предоставить каждой работе надлежащие ресурсы и избегать вмешательства других пользователей в ваши вычисления.

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

...