ПАРАЛЛЕЛЬНОЕ ПРОГРАММИРОВАНИЕ
51
ТЕХНОЛОГИЯ ПАРАЛЛЕЛЬНОГО ПРОГРАММИРОВАНИЯ
MESSAGE PASSING INTERFACE (MPI)
Введение
Довольно часто, при решении вычислительных задач возникает вопрос об
уменьшении времени их работы. Одним из способов решения этой проблемы явля-
ется распределение вычислительной нагрузки. Среди прочих технологий широкое
распространение получила технология обмена сообщениями – MPI (
message passing
interface)
. Данная технология основана на распределении вычислительной нагрузки
по узлам локальной (гетерогенной) сети.
В настоящее время разными коллективами разработчиков написано несколько
программных пакетов, удовлетворяющих спецификации MPI, в частности: MPICH,
LAM, HPVM и так далее. Они выступают базовыми при переносе MPI на новые
архитектуры ЭВМ. Мы будем рассматривать реализацию MPI - LAM.
Минимально в состав MPI входят: библиотека программирования (заголовоч-
ные и библиотечные файлы для языков Си, Си++ и Фортран) и загрузчик приложе-
ний.
Данное учебное пособие содержит краткий справочник по основам MPI и
набор рекомендаций по эффективной реализации программ.
MPI. Терминология и обозначения
Номер процесса
- целое неотрицательное число, являющееся уникальным
атрибутом каждого процесса.
Атрибуты сообщения
- номер процесса-отправителя, номер процесса-
получателя и идентификатор сообщения. Для них заведена структура
MPI_Status
,
содержащая три поля:
MPI_Source
(номер процесса отправителя),
MPI_Tag
(иден-
тификатор сообщения),
MPI_Error
(код ошибки); могут быть и добавочные поля.
Идентификатор сообщения (msgtag)
- атрибут сообщения, являющийся це-
лым неотрицательным числом, лежащим в диапазоне от 0 до 32767.
Процессы объединяются в
группы
, могут быть вложенные группы. Внутри группы
все процессы перенумерованы. С каждой группой ассоциирован свой
коммуника-
тор
. Поэтому при осуществлении пересылки необходимо указать идентификатор
группы, внутри которой производится эта пересылка. Все процессы содержатся в
группе с предопределенным идентификатором
MPI_COMM_WORLD
.
1...,43,44,45,46,47,48,49,50,51,52 54,55,56,57,58,59,60,61,62,63,...180