Интерфейс передачи сообщений MPI

Аббревиатура MPI расшифровывается так: Message passing interface (интерфейс передачи сообщений). Этот интерфейс в настоящее время в параллельном программировании для вычислительных систем с распределенной памятью является стандартом де-факто [16, 17], поддерживается Аргоннской национальной лабораторией в США и развивается форумом разработчиков MPIForum [18]. Известны и популярны две основные версии стандарта - 1.1 и 2.0, для которых существует довольно большое количество реализаций интерфейса MPI для различных платформ (Windows, Linux, ...) как свободно распространяемых, так и коммерческих. В настоящем пособии рассматривается свободно распространяемая реализация MPICH, созданная Аргоннской национальной лабораторией и работающая на ОС Windows NT (и всех ее последующих вариантах) и на большинстве UNIX-систем. В этой реализации поддерживается вся функциональность версии 1.1 стандарта MPI и некоторые возможности версии 2.0.

Реализация интерфейса MPICH (буквы СН являются сокращением от слова chameleon, которым разработчики обозначили многоплатфор- менность) включает в себя следующие составные части:

  • - Spmd демон (в терминах *NIX), службу (в терминах Windows). Постоянно работает на каждом узле сети, на котором возможен за- пуск/выполнение параллельных MPI-программ. Обслуживает запросы на запуск/останов этих программ и запросы от их ветвей на взаимодействие. Здесь будет использоваться термин «служба».
  • - Библиотека функций MPI - обеспечивает интерфейс между вствыо параллельной программы и службой spmd. Для использования функций MPI к программе нужно подключать заголовочные файлы (.h) и файлы собственно библиотеки (.а, .о, .so для *NIX, .lib для Windows).
  • - Утилиты, с помощью которых осуществляется запуск параллельных программ, настройка среды и собственно MPI. Для запуска используется утилита MPIRun (в Windows - MPIexec, с графической облочкой - WMPIexec). Для настройки MPI и окружающей среды используются утилиты MPIConfig и MPI Register.
  • - Библиотека МРЕ - обеспечивает сбор, обработку и визуализацию результатов обработки статистики взаимодействий параллельных ветвей. Используется для отладки и оптимизации параллельных программ.

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

  • - выполнить процедуру установки пакета (например, запустить файл mpich2-1.3.2pl-win-ia32.rnsi);
  • - обеспечить возможность регистрации пользователя с одним и тем же логином/паролем (некоторые операции, выполняемые службой, требуют аутентификации и должны выполняться от имени одного и того же пользователя на разных узлах сети);
  • - убедиться, что брандмауэр компьютера не блокирует службу spmd и программы запуска МР1-приложений MpiExec.exe и WMpi- Exec.exe, в противном случае - добавить эти программы в список исключений блокировки (в некоторых версиях ОС возможно потребуется обеспечить исключение блокировки брандмауэром всех запускаемых параллельных программ);
  • - убедиться, что на закладке «Дополнительно» брандмауэра выключена опция «Подключение по локальной сети»;
  • - создать на диске одного из компьютеров сети общий (share) ресурс с полными правами доступа для пользователя с логином из предыдущего пункта (ветви параллельной программы на каждом узле при запуске ищутся по одному и тому же пути, поэтому при отсутствии общего ресурса программу придется вручную копировать на каждый компьютер, обеспечивая тождество путей к ней во всей сети);
  • - запустить утилиту MPIRegister.exe и зарегистрировать пользователя с этим логином.

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

Для того чтобы с помощью среды MS Visual Studio готовить к запуску параллельные программы, нужно запустить MS Visual Studio. В пункте меню «Options/Tools/Projects and Solutions/VC++ Directories» выбрать в поле «Show directories for:» пункт «Include files», щелкнуть по иконке с каталогом, потом по иконке «...» и выбрать путь «.../Program filcs/MPICH2/include». В пункте меню «Options/Tools/Projects and Solutions/VC-н- Directories» выбрать в поле «Show directories for:» пункт «Library files», щелкнуть по иконке с каталогом, потом по иконке и выбрать путь «.../Program files/MPICH2/lib». Щелкнуть по кнопке «Ок». Закрыть MS Visual Studio.

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ     След >