КЛАСТЕР 

0. В каком случае и как обращаться в службу поддержки?

Прежде чем обращаться за поддержкой к администраторам, убедитесь, что решение Вашей проблемы не описано здесь или на других страницах сайта http://parallel.ru/cluster.

Перед тем, как задавать вопрос, прочтите этот документ, чтобы быть уверенным, что вопрос сформулирован верно. Это значительно ускорит решение Вашего вопроса.

Если Ваш вопрос очень общий и не относится непосредственно к вычислительному комплексу НИВЦ МГУ, возможно, имеет смысл обсудить его с другими пользователями вычислительных кластеров через Дискуссионный клуб по параллельным вычислениям.

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

Пишите только на адрес support@parallel.ru, а не на личные адреса сотрудников НИВЦ. В случае, если проблема требует срочного разрешения, можно звонить по тел. (495) 939-2347.

1. Проблема: Не могу войти на кластер

Убедитесь, что Вы входите с компьютера с IP-адресом, указанным при регистрации. Если у Вашего компьютера поменялся IP-адрес или Вам нужно постоянно входить с другого компьютера, пришлите нам этот IP-адрес.

Убедитесь, что Вы используете ssh-клиент, поддерживающий протокол SSH версии 2. Если у Вас нет такого клиента, смотрите информацию об удаленном доступе.

2. Как откомпилировать программу? Почему компилятор не подключает библиотеку MPI?

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

Подробнее - см. http://parallel.ru/cluster/howto.html.

3. Проблема: программа запускается и сразу заканчивается

Убедитесь в том, что Вы компилировали программу на том же кластере, где и запускаете. Программы, откомпилированные на одном кластере, могут не работать на другом.

Посмотрите файл отчета *.rep, нет ли там строки "killed by signal". Если есть, ищите ошибку в программе, скорее всего она требует слишком много оперативной памяти.

4. Проблема: программа не компилируется

Убедитесь, что исходный текст программы находится в формате Unix. Для перевода из формата DOS/Windows в формат UNIX пользуйтесь командой d2u (на кластере) или копируйте файлы через SFTP в режиме ASCII.

Программы на Fortran 90 можно компилировать с опцией -w90, при этом подавляется большинство предупреждений и Вы сможете легче найти ошибку.

5. Проблема: программа запускается с неверным лимитом времени счета

Ограничение по времени устанавливается в следующем порядке (выбирается первый из фактически указанных параметров): ключ -l или -maxtime командs mpirun при запуске; переменная окружения QS_TIMELIM; строка 'max_time=...' в файле .qconf в домашнем каталоге; значение по умолчанию для данной очереди (можно посмотреть командой 'tasks -q очередь -t', значения выводятся в секундах).

Учтите, что параметр -maxtime команды mpirun означает лимит времени в минутах.

6. Проблема: задача не идет на счет, хотя есть свободные процессоры

Это происходит потому, что в очереди есть и другие задачи. Если Ваша задача короткая, Вы можете сократить для нее время ожидания в очереди, если правильно установите лимит времени счета (см. пункт 5). Этот параметр служит основанием для системы очередей, чтобы оптимизировать стратегию выбора задач для запуска.

В некоторых случаях администраторам приходится блокировать очередь, так что в это время никакие задачи не идут на счет. Узнать, заблокирована ли очередь можно с помощью команды mqinfo (в выдаче должна быть строка "Queue is blocked: 1").

7. Можно ли на кластере запускать shell-сценарии?

а) Скрипт не может быть запущен в параллельном режиме. Иначе говоря, программа, запускаемая в параллельном режиме с помощью mpirun должна быть именно исполняемым модулем.

б) Сценарии (скрипты на языке shell) можно ставить в очередь только в однопроцессорном режиме (т.е. командой вида "mpirun -as single -np 1 скрипт"). В этом случае скрипт будет запущен так же, как обычная исполняемая программа на одном из узлов кластера, когда до Вашей задачи дойдет очередь. Учтите, что скрипты, запускаемые таким образом на узле кластера, не должны в свою очередь асинхронно запускать какие-либо процессов (т.е. все команды скрипта должны выполняться строго последовательно) и не должны инициировать каких-либо сетевых запросов (т.е. выполнять команды типа rsh, rlogin, ssh).

в) На головной машине кластера могут запускаться простые сценарии, существенно не загружающие процессор, например для постановки серии задач в очередь, для компиляции программ или для обработки результатов. Нужно учитывать, что если сценарий ставит в очередь последовательно несколько задач, то реально они могут пойти на счет в другом порядке (например, если сначала была поставлена задача на 8 процессоров, а затем на 4, то вторая задача может пойти на счет раньше).

8. Можно ли перенаправлять ввод и вывод программ?

Для вычислительных задач, запускаемых с помощью mpirun, перенаправление ввода и вывода обычными средствами Unix работать не будет. Вместо этого нужно использовать ключи -stdin и -stdout команды mpirun. Учтите, что перенаправленный ввод может быть доступен только одному процессу (с номером 0). Если будет указан ключ -stdout, то в этот файл будет перенаправлен весь вывод от всех процессов программы и обычный out-файл создаваться не будет.

9. Файл настроек очереди (.qconf) не обрабатывается как нужно.

Файл .qconf на разных кластерах назван по разному - .qconf3 на aqua, .qconf-leo на leo и .cleo на ant.

Не следует использовать в файле символ ~ для обозначения доманего каталога. Пишите /home/<имя_пользователя>.

10. Если я запускаю программу в каталоге /tmp, то не получаю выходных файлов...

Только каталог /home является сетевым. Остальные каталоги локальны для каждого узла. Поэтому Ваши файлы создавались на одном из узлов, но доступа к ним Вы уже не имеете.
Для повышения скорости работы желательно временные файлы сохранять в каталогах /tmp (а ещё лучше в каталоге, указанном переменной окружения TEMP_DIR), а потом выдавать их соджержимое на стандартный выход или в файлы в домашнем каталоге.

11. В программе mc не работают клавиши F1..F10, PgUp, и т.п.

Клавиши F1..F10 можно "нажать" с помощью последовательного нажатия Esc и 1..0. Для того, чтобы комфортно работать с mc его можно "обучить" кодам клавиш, которые посылает Ваш клиент ssh. Для этого зайдите в меню F9/Options/Learning keys. Там нажмите по очереди клавиши курсора, а затем выбирайте по очереди нужные клавиши, нажимайте Enter, а затем соответствующую клавишу на клавиатуре. В конце обучения выберите пункт Save.