Как использовать AWS sbatch (SLURM) внутри докера на инстансе EC2?

Я пытаюсь запустить OpenFOAM в кластере AWS EC2, используя AWS parallelCluster.

Одна из возможностей — скомпилировать OpenFOAM. Другой — использовать контейнер докеров. Я пытаюсь заставить работать второй вариант.

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

  1. скопируйте кейс OpenFOAM из S3 в файловую систему FSx на главном узле
  2. запустите док-контейнер, содержащий OpenFOAM
  3. Выполнение операций OpenFOAM, некоторые из которых используют кластер (наиболее важным является параллельное выполнение вычислений)

Я хочу поместить все это в сценарии, чтобы сделать их воспроизводимыми. Но мне интересно, как мне структурировать сценарии вместе, чтобы SLURM обрабатывал параллельную сторону вещей.

Моя проблема на данный момент заключается в том, что оболочка главного узла знает команду, например. sbatch, но когда я запускаю докер для доступа к команде OpenFOAM, он забывает команды sbatch.

Как я могу легко экспортировать все команды, связанные с SLURM (sbatch, ...), в докер? Это правильный способ справиться с проблемой?

Спасибо за поддержку


person FenryrMKIII    schedule 04.05.2021    source источник


Ответы (1)


для первого варианта есть семинар, который проведет вас через: cfd-on-pcluster.

Для второго варианта; Я создал семинар по работе с контейнерами, в котором используются среды выполнения контейнеров HPC containers-on-pcluster.

Я включил раздел о GROMACS, но я также рад добавить OpenFOAM. Я использую Spack для создания образов контейнеров. Хотя я задокументировал запуски только с одним узлом, мы, безусловно, можем добавить запуск с несколькими узлами.

Запуск Docker через sbatch далеко не уйдет, потому что docker не является пользовательской средой выполнения. Подробнее: FOSDEM21 Talk about Containers in HPC

Cheers
Кристиан (полное раскрытие: AWS Developer Advocate HPC/Batch)

person Christian Kniep    schedule 05.05.2021
comment
Я действительно получил доступ к этому мастер-классу ;) Спасибо за информацию о Docker. Помогает не тратить время зря! - person FenryrMKIII; 06.05.2021
comment
Дайте мне знать, если вы хотите, чтобы мы добавили в мастерскую... (твиттер: CQnib — личные сообщения открыты) - person Christian Kniep; 07.05.2021