Параллельное программирование: Учебное пособие, страница 75

NT-MPICH является в основном портом из MPICH к семейству Microssoft операционных систем Windows. Он включает различные устройства связи для Windows и комплект инструментов, которые позволяют использовать MPI в среде Windows. Основой большинства названных реализаций является MPICH – MPI Chameleon.

4.4  Организация MPICH

MPICH (MPI CHameleon) представляет собой одну из реализаций спецификации MPI, которая поддерживает работу на большом числе платформ и с различными коммуникационными интерфейсами, в том числе TCP/IP.

Основные особенности MPICH версии 1.2.2:

·  полная совместимость со спецификацией MPI-l;

·  наличие интерфейса в стиле MPI-2 с функциями для языка C++ из спецификации MPI-l;

·  наличие интерфейса с процедурами языка FORTRAN-77/90;

·  имеется реализация для Windows NT, которая распространяется в исходных текстах. Ее установка и использование отличаются от UNIX;

·  поддержка большого числа архитектур, в том числе кластеров рабочих станций, симметричных многопроцессорных систем и т. д.;

·  частичная поддержка спецификации MPI-2;

·  частичная поддержка параллельного ввода и вывода (ROMIO);

·  наличие средств трассировки и протоколирования (на основе масштабируемого формата log-файлов SLOG);

·  наличие средств визуализации производительности параллельных программ (upshot и jumpshot);

·  наличие в составе MPICH тестов производительности и проверки функционирования системы.

К числу (возможно временных) недостатков MPICH можно отнести невозможность порождения процессов во время выполнения программы. Отсутствие средств наблюдения за текущим состоянием вычислительной системы. Аварийное завершение всей MPI-программы, если происходит аппаратный сбой на одном из процессоров, участвующих в выполнении параллельной программы. Невозможность динамического изменения исходного набора процессов не позволяет использовать ресурсы вычислительной системы с максимальной эффективностью. Ряд определенных стандартом действий, описывающих взаимодействия в параллельной среде, еще ожидает своих более удачливых разработчиков библиотечных процедур для выполнения этих действий. Еще находятся на стадии обсуждения основные положения MPI для обработки данных в реальном масштабе времени.

Если MPICH при установке был сконфигурирован для работы на кластере, то даже при пересылках сообщений на одном компьютере будет использоваться утилита rsh и сетевой протокол TCP/IP. Это не самое эффективное решение. Если же сборка производилась для системы с разделяемой памятью, MPICH-программа не сможет работать на кластере.

Популярная не коммерческая версия MPICH для распространенной операционной системы Linux размещаются обычно в одном из подкаталогов системного каталога /usr, например, в каталоге /usr/local/mpich. Каталог определяется системным администратором в момент установки пакета. Структура и содержимое каталога MPICH имеют следующий вид:

·  /usr/local/mpich/ — файлы и подкаталоги пакета MPICH;

·  /usr/local/mpich/COPYRIGHT — файл авторских прав;

·  /usr/local/mpich/README —инструкции по использованию;

·  /usr/local/mpich/bin/ — исполняемые файлы;

·  /usr/local/mpich/examples/ — примеры программ;

·  /usr/local/mpich/doc/ — документация по установке MPICH;

·  /usr/local/mpich/include/ — заголовочные файлы;

·  /usr/local/mpich/lib/ — библиотечные файлы;

·  /usr/local/mpich/src/ — исходные тексты системы;

·  /usr/local/mpich/man/ — справочные сведения для MPICH.

В MPICH имеются и примеры программ, расположенные в каталогах:

·  mpich/examples/basic/ — демонстрация возможностей пакета;

·  mpich/examples/test/ — программы тестирования;

·  mpich/examples/perftest/ — оценка производительности.

4.5  Структура NT-MPICH для Windows