кластер ФПМИ НГТУ
Инструкция по компиляции и запуску параллельных программ
Все вопросы адресовать:
· <Роман Петров (НГТУ)>
· Артем Меркулов (merkulov@ssd.sscc.ru),
Кластер ФПМИ НГТУ состоит из 13-ти компьютеров Pentium-4. Один из компьютеров является управляющим сервером, остальные 12 - вычислительными модулями. Все компьютеры связывает Switch (100 Мгб). Вычислительные модули одновременно являются и рабочими местами для пользователей вычислительной системой. На кластере одновременно могут работать 12 пользователей (компилировать и запускать параллельные программы).
Общая схема организации работы кластера при выполнении операций: компиляции, запуска и счета параллельных программ, следующая:
1. Компиляция и запуск параллельных программ делается на сервере.
2. Выполнение ветвей параллельных программ происходит на вычислительных модулях.
Выполнение пользовательских параллельных программ на вычислительных модулях осуществляется в режиме мультипрограммирования. Например, если все 12-ть пользователей одновременно запустят свои параллельные программы, каждая из которых состоит из 12-ти параллельных ветвей, то на каждом вычислительном модуле будет выполняться по одной из ветви всех этих 12-ти параллельных программ (всего 12 ветвей разных программ). И если нужно засечь время работы параллельной программы, то необходимо запускать ее на кластере индивидуально.
Последовательность шагов при работе на кластере
Вход в систему
1. Во всех 12-ти рабочих компьютерах должна быть загружена операционная система Linux. (Эта операция осуществляется дежурным лаборантом путем перезагрузки компьютеров).
2. На компьютере, на котором вы работаете, в специальном окне набираете свое имя (login) и пароль (password). После чего вы сразу попадаете на сервер.
3. В левом нижнем углу открывшегося (на сервере) окна стоит иконка в виде «красной шляпы». Указатель «мышки» установить на эту иконку и левой клавишей «мышки» открыть окно.
4. В самом верху этого отрывшегося окна стоит клавиша со словом: Terminal. Указатель «мышки» установить на клавишу Terminal и нажать левую кнопку «мышки». Откроется окно.
5. В этом открытом окне набираем команду:
mc –ud
Откроется окно редактора mc.
6. В окне mc находим свою «папку», заранее заведенную для вас администратором, и «входим» в эту папку. В этом редакторе и осуществляется работа пользователя.
Набор текста программ и редактирование
Находясь в своей папке, в командной строке набираем и выполняем команду:
mcedit file.c
Откроется окно для набора текста. Набираем текст. Текст можно набирать и в другом редакторе. Завершаем набор текста. Для дальнейшего редактирования текста в соответствующее окно для редактирования можно входить по клавише – F4.
Компиляция параллельных программ
Находясь в папке, где стоит имя нашей программы - file.c, в командной строке набираем и выполняем команду компиляции:
mpicc [ ] –o file.exe file.c
для программ с расширением – .cpp команда:
mpiCC [ ] –o file.exe file.c
В квадратных скобках может стоять одна из опций компилятора: О1, О2, О3, О4, О5.
После выполнения этой команды с помощью клавиш: Ctrl o открыть окно и посмотреть наличие ошибок. Исправить ошибки.
Запуск параллельных программ
Находясь в папке, где стоит имя нашей программы - file.exe, в командной строке набираем и выполняем команду запуска параллельных программ:
run.sh «номер компьютера» «количество компьютеров» file.exe
«номер компьютера» - номер компьютера, обозначаемый двумя цифрами. На данном кластере это номера: 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12. Желательно ставить номер компьютера, на котором вы работаете.
«количество компьютеров» - это количество компьютеров, необходимых для решения вашей параллельной программы. В данном случае введены ограничения на количество запускаемых компьютеров и здесь может быть только два числа - 04 или число 12. Т.е. командами запуска могут быть команды:
run.sh «номер компьютера» 4 file.exe
или
run.sh «номер компьютера» 12 file.exe
Каждая ветвь параллельной программы будет выполняться на отдельном физическом компьютере. После выполнения этой команды с помощью клавиш: Ctrl o открыть окно и посмотреть результат. (Результат может быть записан в файл).
Команды запуска могут одновременно выполняться на всех компьютерах.
Примеры команд запуска
Если пользователь на машине с номером 01 выполняет команду: run.sh 01 4 file.exe, то: - ветвь параллельной программы с номером 0 будет запущена на машине с номером 01,
- ветвь параллельной программы с номером 1 будет запущена на машине с номером 02,
- ветвь параллельной программы с номером 2 будет запущена на машине с номером 03, и
- ветвь параллельной программы с номером 3 будет запущена на машине с номером 04.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.