Увеличивает ли назначение большего количества узлов заданию на сервере SLURM доступную оперативную память?

#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, она может разделить рабочую нагрузку на несколько узлов. И даже это не гарантирует меньшего объема памяти, поскольку обычно это не является целью такого распараллеливания.