Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка для MPI.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
506.88 Кб
Скачать

Федеральное агенство связи Поволжская государственная академия телекоммуникаций и информатики

Кафедра программного обеспечения информационных технологий

Методические указания для выполнения

лабораторных работ по курсу

«Параллельное программирование»

Составители:

Подябин П.П., гр. ПО-01

Юрьев М.В., гр. ПО-02

Цирулин Д.А., гр. ПО-02

Под общей редакцией

Зав.каф.ПОИТ, д.т.н.,проф.

Солодянникова Ю.В.

Рецензент:

Д.ф.-м.н.,

проф. Блатов И.А.

Самара, 2006

Введение

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

Лабораторный цикл по дисциплине «Параллельное программирование» включает в себя следующие работы

  1. Компиляция программ, использующих интерфейс MPI.

  2. Использование функции групповой рассылки данных

  3. Вычисление числа π

  4. Передача данных отдельным процессам.

  5. Матричные вычисления.

  6. Обмен данными на системе компьютеров с топологией связи «кольцо».

  7. Обмен данными на системе компьютеров с топологией связи «линейка».

  8. Произведение двух матриц в топологии «кольцо».

  9. Решение СЛАУ методом Гаусса.

Реализация и настройка кластера интерфейса 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.

Показателем того, что требуется пароль или он введен неправильно служит следующее сообщение: