
- •Федеральное агенство связи Поволжская государственная академия телекоммуникаций и информатики
- •Введение
- •Реализация и настройка кластера интерфейса mpi в среде ms Windows 9x/nt/xp
- •Рекомендуемая литература
- •Лабораторная работа № 1 Компиляция программ, использующих интерфейс mpi
- •Подготовка к работе
- •Контрольные вопросы
- •3. Задание
- •4. Методические указания
- •4. Листинг программы
- •5. Примечания
- •Лабораторная работа № 2 Использование функции групповой рассылки данных
- •Подготовка к работе
- •Контрольные вопросы
- •3. Задание
- •4. Методические указания
- •5. Примечания
- •Лабораторная работа № 3 Вычисление числа π
- •Подготовка к работе
- •Контрольные вопросы
- •Задание
- •4. Методические указания
- •5. Пример выполнения
- •6. Примечания
- •Лабораторная работа № 4 Передача данных отдельным процессам
- •Задание
- •Методические указания
- •Алгоритм
- •Пример выполнения
- •Лабораторная работа № 5 Матричные вычисления
- •Контрольные вопросы
- •Приложение а
- •Приложение в Краткий справочник функций mpi
- •Сообщения «точка-точка»
- •Групповые сообщения
- •Типы пересылаемых данных
- •Аргументы
Федеральное агенство связи Поволжская государственная академия телекоммуникаций и информатики
Кафедра программного обеспечения информационных технологий
Методические указания для выполнения
лабораторных работ по курсу
«Параллельное программирование»
Составители:
Подябин П.П., гр. ПО-01
Юрьев М.В., гр. ПО-02
Цирулин Д.А., гр. ПО-02
Под общей редакцией
Зав.каф.ПОИТ, д.т.н.,проф.
Солодянникова Ю.В.
Рецензент:
Д.ф.-м.н.,
проф. Блатов И.А.
Самара, 2006
Введение
Пособие предназначено для освоения практического курса параллельного программирования с использованием технологии MPI. В настоящее время технология MPI является основным средством программирования для кластерных систем и компьютеров с распределенной памятью, но может применяться также и на вычислительных системах другого типа.
Лабораторный цикл по дисциплине «Параллельное программирование» включает в себя следующие работы
Компиляция программ, использующих интерфейс MPI.
Использование функции групповой рассылки данных
Вычисление числа π
Передача данных отдельным процессам.
Матричные вычисления.
Обмен данными на системе компьютеров с топологией связи «кольцо».
Обмен данными на системе компьютеров с топологией связи «линейка».
Произведение двух матриц в топологии «кольцо».
Решение СЛАУ методом Гаусса.
Реализация и настройка кластера интерфейса mpi в среде ms Windows 9x/nt/xp
Проверить наличие работающей сети компьютеров, какие из них могут быть использованы для кластера. Запомнить/записать их имена/IP.
Создать на одном компьютере общую папку для доступа из сети. Дать доступ для неё всем на чтение/запись. В данной папке будут находится все программы, которые будут запускатся в параллельном режиме. Так же нужно будет скопировать в данную папку дистрибутив MPICH: mpich.nt.1.2.5.exe (5 404 672 байта). Где его взять – можно спросить у лаборантов.
З
апустить
на каждом нужном компьютере данный
файл. Инсталляцию провести в обычном
режиме. После окончания инсталляции –
убедится что сервис mpd.exe запущен. Для
этого нажать Ctrl+Shift+Esc – перейти на
вкладку процессов – и найти процесс
mpd.exe. Если нет – запустить «Сервисы» из
меню администрирования, и запусить
службу вручную. Либо попробовать просто
перезагрузится.
П
осле
того как служба была запущена, требуется
установить единые настройки для всех
узлов. Для этого запускаем MPIConfig.exe.
(по умолчанию она находится в меню пуск:
MPICH->mpd->MPICH Configuration tool. Либо
в %PROGRAMFILES%\MPICH\mpd\bin\MPIConfig
.exe).
В появившемся окне – 1) добавить все машины, которые являются узлами кластера.
Можно проверить наличие связи между ними – выбрав галку Show configuration, и выбирая хосты из списка слева, убедится, что служба mpd на всех хостах запущена – и видится с данного компьютера.
П
отом
следует в группе 2) нажать на галку
сверху, для выбора всех пунктов настройки.
Настройки можно оставить по умолчанию,
т.к. ничего менять не стоит.
После этого следует нажать кнопку “Apply”. И убедиться, что настройки применились для всех хостов. Признаком проблем может быть длительная пауза при применении к какому нибудь хосту. Требуется проверить данный хост на наличие проблем.
После этих процедур – можно считать, что кластер настроен на использование.
Проверить работоспособность кластера. Проверить можно с помощью программы hello.exe, исходный код которой нужно будет взять из примера к лабораторной работе № 1. Для этого, требуется скопировать скомпилированный файл hello.exe в общую папку (созданную в п.2). Внимание! для компиляции для NT систем, требуется Microsoft Visual C++ 6.0 либо gcc для win32.
После того как программа скопирована в папку, запускаем её 2 способами:
С командной строки: для запуска программы с командной строки используется программа mpirun.exe. Её синтаксис такой:
#> mpirun –np <количество процессов> -logon //компьютер/папка/cpi.exe
Пример
Пример выполнения программы hello.exe:
%PROGRAMFILES%\MPICH\mpd\bin>mpirun -np 2 -logon \\12izlab2\mpi\hello.exe
Mpd needs an account to launch processes with:
account (domain\user): admin
password:
Hello world from process 1 of 2 at 11izlab2.
Hello world from process 0 of 2 at 12izlab2.
С помощью графического интерфейса guiMPIRun.exe (его можно обнаружить там же, где и находятся остальные файлы MPICH) можно запустить на выполнение созданное приложение на сконфигурирован-ном ранее кластере.
Примечания
Помните, что для запуска или просто для входа на другой компьютер требуется иметь права, достаточные для выполнения приложений на нем. То есть – вам необходимо вводить login и пароль при запуске программ на кластере. Для варианта с командной строкой – указывается параметр –login. Так же, имеется возможность указывать эту пару автоматически. Для этого используется –pwdfile <имя файла>. В указанном файле, в первой строке должен быть логин, во второй строке – пароль. Помните, что Данным способом нужно пользоваться очень аккуратно и осторожно, т.к. ваш пароль для доступа на машину может стать известен другим лицам.
Для графической оболочки – пароль запрашивается при первом запуске программы на кластере. Если пароль не запрашивается, но требуется – следует установить галку «Always prompt for password», в окне, вызываемом по кнопке Advanced Options.
Показателем того, что требуется пароль или он введен неправильно служит следующее сообщение: