Python

PHOIF cluster statistics

Новости кластера

Как сделать свой кластер? Локальная версия

Краткая инструкция: "Как пользоваться кластером?"

$ - приглашение к вводу команды в терминале.

Вход в кластер по ssh (нужен пароль):
$ ssh UserName@cluster.phoi.ifmo.ru

Выход из кластера:
$ exit

На кластере используется менеджер ресурсов SLURM

Основные команды:

посмотреть занятость нод
$ sinfo

посмотреть очередь задач (JobID - номер задачи в очереди)
$ squeue

пример запуска задачи (читать справа налево): в фоновом режиме запускается на выполнение программа test-fc2 c помощью mpirun (дефолтная реализация openMPI) на 64 ядрах, запрошенных у менеджера ресурсов командой salloc.
$ salloc -n 64 mpirun test-fc2 &

если нужно запускать задачу без MPI команда другая. Для одного ядра:
$ srun путь_к_одноядерной_задаче

Пример запуска одноядерной задачи в фоновом режиме с копированием стандартного вывода терминала в файл, продолжающей работать при завершении ssh сессии (т.е. можно набрать exit и выйти из кластера):
$nohup srun путь_к_одноядерной_задаче | tee output-copy.txt &

Для многопоточного не MPI приложения (на каждой ноде 2 CPU по 4 ядра):
$ srun -с 8 путь_к_многопоточной_задаче

более подробно об salloc
$ man salloc

удалить задачу из очереди
$ scancel номер_задачи

Политик по ограничению ресурсов пока нет никаких, поэтому sinfo смотрим число нод в состоянии idle, умножаем на 8, получаем число свободных ядер. Это число можно ставить с salloc (хотя для некоторых задач (зависит от соотношения интереконекта и вычислений) может оказаться, что есть оптимальное число ядер, больше\меньше этого числа - счет будет идти дольше).

Если все ресурсы заняты, но нужно быстро посчитать небольшую задачу, которая тем не менее требует мощностей кластера, то можно указать для команд salloc и srun ключ "-p max1hour". Такие задачи запускаются отдельной очередью, имеющей вытесняющий приоретет над основной очередью. Ограничение - время кластера, выделяемое на одну задачу, не должно превышать 1 час. Например:
$ salloc -n 128 -p max1hour mpirun test-fc2
Аналогично (в порядке убывания приоритета) можно использовать ключи max3hours, max7hours, max1day, max3days, max7days

Компиляторы есть gcc и g++, по запросу ставятся любые из репозитария debian 6. Ну и любые по желанию пользователя из его домашней папки (там нет никаких ограничений на исполняемые файлы). Свободные узлы slurm выделяет сам, если все занято, ждет пока освободятся запрашиваемые ресурсы, после чего запустит задачу. Никаких специальных запускающих файлов писать не надо, при желании можно написать go.sh

#!/bin/bash
salloc -n 8  mpirun MyBinarFileMPI
сделать его выполняемым и запускать им.