#server #ram #slurm
#сервер #ОЗУ #slurm
Вопрос:
Я работаю с программой, которой требуется много оперативной памяти. В настоящее время я запускаю его в кластере SLURM. Каждый узел имеет 125 ГБ оперативной памяти. При отправке задания на один узел в конечном итоге происходит сбой, поскольку у него заканчивается память. Мой довольно наивный вопрос, поскольку я новичок в работе с серверами, заключается в:
Увеличивает ли назначение большего количества узлов с помощью флага command —nodes доступную оперативную память для отправленного задания?
Например: При назначении 10 узлов вместо 1 с помощью приведенной ниже команды программа завершается сбоем в тот же момент, что и с одним узлом.
#SBATCH --nodes=10
Есть ли какой-либо другой способ объединить оперативную память с нескольких узлов для одного задания?
Приветствуются любые советы!
Комментарии:
1. Я не могу сказать наверняка, но есть методы распространения, которые вы можете назначить: slurm.schedmd.com/dist_plane.html Это также может быть связано с программой, которую вы пытаетесь запустить, также, если ее можно распространять как обычное задание..
2.
-m, --distribution= arbitrary|<block|cyclic|plane=<options>[:block|cyclic|fcyclic]>
Ответ №1:
Это зависит от вашей программы, но, скорее всего, нет.
Чтобы использовать несколько узлов в кластере Slurm (или любом другом кластере, если на то пошло), ваша программа должна быть настроена очень специфическим образом, т.Е. вам нужна связь между узлами. Обычно это делается через MPI, и вся программа должна быть разработана с учетом этого.
Итак, если ваша программа использует MPI, она может разделить рабочую нагрузку на несколько узлов. И даже это не гарантирует меньшего объема памяти, поскольку обычно это не является целью такого распараллеливания.