КЛАСТЕР 

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


Удаленный терминальный доступ

Удаленный доступ к вычислительному кластеру осуществляется через головную машину комплекса (cluster.parallel.ru, IP-адрес: 212.192.244.220) и только с тех компьютеров, IP-адреса которых были указаны в заявке при регистрации. После входа на эту машину, нужно перейти на один из кластеров, на котором Вы собираетесь работать набрав команду ant, aqua или leo соответственно. Если Вы не можете определиться, на каком именно кластере работать, обратитесь к администраторам. Непосредственный терминальный доступ на узлы кластера невозможен.

Для доступа нужно использовать протокол SSH версии 2. Читайте более подробную информацию об удаленном доступе и копировании файлов на кластер.


Хранение файлов

Пользовательские директории (вида /home/<имя пользователя>), физически размещенные на файл-сервере, доступны по протоколу NFS на всех узлах. Максимальный объем данных в этом каталоге обусловлен дисковой квотой для пользователя. Дисковая квота определяется при регистрации, но в дальнейшем может быть увеличена при необходимости. Кроме того, на каждом узле доступен локальный каталог для временных файлов (/tmp). На узлах, где установлено по 2 локальных диска, доступны два каталога для временных файлов (/tmp и /tmp2). После окончания работы программы временные файлы необходимо удалять.


Утилиты перекодировки текстовых файлов

При передаче текстовых файлов из среды Windows следует помнить, что на Unix используется свое соглашение по символам перевода строки, отличное от соглашения в среде DOS/Windows. Если Вы будете компилировать исходные тексты программ, которые записаны в соглашении DOS/Windows, то Вы можете получить множество предупреждений или ошибок. На головной машине кластера установлена утилита перекодировки из формата в DOS в формат Unix - "d2u".

В среде Unix традиционной для русских символов является кодировка KOI-8, тогда как в средах DOS и Windows используются свои кодировки. Для выполнения перекодировки файлов с русскими буквами из кодировок DOS и Windows в KOI-8 и обратно установлены утилиты: "dos2koi", "dos2win", "koi2dos", "koi2win", "win2dos", "win2koi".


Компиляция программ

Для компиляции MPI-программ рекомендуется пользоваться командами mpicc/mpiCC (для программ на С и С++), и mpif77/mpif90 (для программ на Фортране 77/90). Эти команды автоматически подключают заголовочные файлы и библиотеки MPI. Для программ на языке С++ нужно использовать расширение имени файла .C или .cpp, для программ на языке Фортран 90 - .f90.

Рекомендуется использовать опции компиляторов для оптимизации программ. Для компиляторов Intel и GNU, установленных на нашем кластере, приемлемый уровень оптимизации дает опция -O3, для справки о других опциях оптимизации рекомендуем обращаться к руководствам по компиляторам.

Если необходимо только скомпилировать один модуль, и не выполнять сборку исполняемого файла, используется опция "-с", например:

      mpiCC -c -program2.C

При этом будет создан объектный модуль "program2.o". Объектный модуль не является исполняемым, он используется как один из блоков при компоновке исполняемого файла.

Если необходимо создать исполняемый файл, то имеет смысл воспользоваться опцией -o имя, чтобы задать его имя (по умолчанию его имя будет a.out). Например:

      mpif90 -O3 program.f -o program.e

При этом будет создан исполняемый файл program.e, который можно запускать на исполнение командой mpirun (но только на том кластере, где он был собран).

Для сборки многомодульных приложений целесообразно пользоваться утилитой GNU make.

Простейшие примеры MPI-программ на языках С и Фортране 77/90 доступны в /home/examples/mpi.


Запуск приложений

При обычной работе в многопользовательском удаленном режиме пользователи ставят свои задачи в очередь. В простейшем случае запрос на выполнение программы осуществляется командой mpirun:

      mpirun -np N program <параметры программы>

Если указанное число процессоров в данный момент недоступно, задача будет поставлена в очередь. Если программа является однопроцессорной, написана без использования MPI, то при ее запуске нужно добавить ключ -as single. Например:

      mpirun -np 1 -as single program.e

Читайте более подробную информацию о системе управления заданиями и других ее опциях.


Оболочка и текстовые редакторы

В качестве пользовательского командного интерпретатора используется bash, справку по которому можно получить командой "man bash". Для редактирования файлов на системе доступны текстовые редакторы joe и vi. Также доступна NC-подобная оболочка "Midnight Commander" (mc).

При работе с оболочкой bash пользователь всегда имеет приглашение для ввода команд, которое заканчивается знаком "$" и из которого можно понять, под каким именем пользователя, на какой машине исполняются вводимые команды и какой каталог является текущим. Например, приглашение вида

      [alex@aqua:math]$ 

означает, что мы работаем на кластере AQUA под именем пользователя alex, и текущим является каталог с названием math.


Базовые команды ОС Unix

Для пользователей, не знакомых с операционной системой Unix, приводим базовые команды, необходимые для работы:

Справку по любой команде можно получить командой man имя_команды.


В случае проблем

О всех проблемах, связанных с работой на кластере, немедленно сообщайте администраторам

При обращениях по электронной почте следует указать свое имя пользователя (login), но не следует пересылать свой пароль. Проблему, с которой Вы обращаетесь, желательно описать как можно более подробно. В частности, если проблема связана с компиляцией или запуском программы, то нужно указать, в какой директории находится программа, каким образом (какими именно командами) Вы ее компилируете и запускаете, какие сообщения получаете.