Информация для пользователей вычислительного кластера

Точка входа на кластер

Для работы на вычислительном кластере необходимо зайти на компьютер vm-access.math.sgu.ru через протокол ssh. Для этой цели используется любой ssh-клиент (для пользователей ОС Windows рекомендуем программный пакет Putty, распространяемый под открытой лицензией и не требующий установки).

Домашняя директория

Домашняя директория пользователя располагается по адресу /home/<имя пользователя>. Эта директория расположена на жестком диске виртуальной машины vm-access, поэтому

не храните файлы большого размера в домашней директории!

Общая сетевая файловая система

Директория /mnt/share является общей сетевой файловой системой. Физически она располагается на отдельном компьютере с RAID-массивом большого размера. Она смонтирована на всех узалах кластера.

Для каждого пользователя вычислительного кластера имеется директория внутри сетевой файловой системы /mnt/share/<имя пользователя>

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

Общая сетевая файловая система предназначена для работы с вычислительным кластером, а не для долговременного хранения информации!

Загрузка и выгрузка файлов

Загрузка и выгрузка файлов осуществляется с помощью команды scp (secure copy) из пакета ssh или pscp (Putty). Информацию по использованию этой команды можно найти, например, здесь.

Очередь задач

В качестве очереди задач на кластере используется менеждер ресурсов Torque. Просмотр очереди задач осуществляется командой qstat

Пример вывода:

$qstat
Job id                    Name             User            Time Use S Queue
------------------------- ---------------- --------------- -------- - -----
106.vm-torque              job              roman                  0 Q batch

job id - идентификатор задачи. Name - имя задачи, выбирается пользователем (об этом ниже) User - пользователь, запустивший задачу Time Use - время выполнения задачи S (state) - состояние задачи Queue - очередь, в которой запущена задача

Состояние задачи может быть следующим:

Символ Состояние
Q Задача находится в очереди, ожидает выполнения
R Задача выполняется
E Задача выполнилась, производится ее обработка
C Задача выполнилась, обработка закончилась

Работа с задачами

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

Рассмотрим пример скрипта для запуска простейшей задачи.

#PBS -l nodes=20:ppn=1
#PBS -N job

mpirun -mca btl ^usnic hostname

В первых двух строчках приводятся опции, сообщающие менеджеру ресурсов torque информацию о запуске задачи. Основные опции приведены ниже в таблице.

Option Description
#PBS -N myJob Задание имени задачи
#PBS -l nodes=4:ppn=2 Количество используемых узлов кластера(nodes) и количество процессов, запускаемых на каждом узле (ppn - proc per node)
#PBS -q queuename Очередь, в которой запускать задачу
#PBS -l walltime=01:00:00 Максимальное время выполнение задачи

Далее идет строка с запуском программы hostname (вывод имени компьютера) в параллельном режиме через MPI. Обратите внимание на то, что в сторке запуска mpirun не указано опций запуска, их передает torque. mpirun передаются параметры, необходимые для инициализации высокоскоростной сети infiniband.

Запуск задачи на выполнение осуществляется с помощью команды qsub. Приведенный выше скрипт можно подать ей на стандартный поток ввода

$ cat a.sh | qsub
qsub < a.sh

либо указать как параметр

qsub a.sh

qsub выведет идентификатор задачи, который затем будет отображаться в очереди.

После выполнения задачи в директории, откуда она была запущена, появятся файлы с именами <имя задачи>.o<идентификатор задачи> и <имя задачи>.e<идентификатор задачи>. В них содержится полученная от стандартного потока вывода и стандартного потока ошибок информация. Поэтому

Запускайте задачу из той директории, где у вас есть права доступа на запись

Удалить задачу из очереди можно командой qdel <идентификатор задачи>.

Особенности запуска программного пакета gaussian

не включайте в имена файлов пробелы и другие символы, которые могут быть распознаны как управляющие символы bash!

Особенности запуска программного пакета kvazar

В связи с некоторыми особенностями оптимизации пакета kvazar при расчете молекулярной динамики, ему требуется специфический скрипт запуска.

#PBS -l nodes=3:ppn=1
#PBS -N kvazar

username = `whoami`
base_dir="/mnt/share/$username/kvazar"

CMPDIR="$base_dir/compile/$PBS_JOBID"
TMPDIR="$base_dir/tmp/$PBS_JOBID"
config_small="$base_dir/config_small.cfg"
config_large="$base_dir/config_large.cfg"
caesar="$base_dir/caesar.py"
run_ser="$TMPDIR/run_serial.sh"
run_par="$TMPDIR/run_parall.sh"

mkdir -p $CMPDIR
mkdir -p $TMPDIR


echo "#!/bin/bash
export PYTHONCOMPILED=\"$CMPDIR\"
cd $base_dir
python2 $caesar $config_small
" > $run_ser

echo "#!/bin/bash
export PYTHONCOMPILED=\"$CMPDIR\"
cd $base_dir
python2 $caesar $config_large
" > $run_par


bash $run_ser

mpirun -mca btl ^usnic bash $run_par
Last modified 20 месяцев ago Последнее изменение: 26 дек. 2016 г., 8:40:50