Операционные системы распределенных вычислительных систем


MPI - Message-Passing Interface - часть 3


·      MPI_COMM_PEER  -   все,   кроме  главного процесса.

**************************************************************

(6) Операции над группами (локальные, без обмена сообщениями).

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

Для поддержки связывания с серверами, имеются средства построения коммуникатора по некоторому имени, известному и серверу и клиентам.

(7)  Точечные коммуникации.

Основные операции - send, receive

Операции могут быть блокирующими и неблокирующими.

В операции send задается:

·      адрес буфера в памяти;

·      количество посылаемых элементов;

·      тип данных каждого элемента;

·      номер процесса-адресата в его группе;

·      тег сообщения;

·      коммуникатор.

(последние 3 параметра - аналоги «почтового конверта»)

 

В операции receive задается:

·      адрес буфера в памяти;

·      количество посылаемых элементов;

·      тип данных каждого элемента;

·      номер процесса-адресата в его группе (либо «любой»);

·      тег сообщения (либо «любой»);

·      коммуникатор;

·      статус (источник и тег,  необходимые в том  случае,  когда  они неизвестны - при их задании с помощью шаблона «любой»).

 

Предусмотрена конвертация данных при работе в гетерогенной среде.

Имеется четыре  режима коммуникаций - стандартный,  буферизуемый, синхронный и режим готовности.

В стандартном  режиме  последовательность  выдачи операций send и receive произвольна,  операция send завершается тогда, когда сообщение изъято  из  памяти и она уже может использоваться процессом.  При этом выполнение  операции  может  осуществляться  независимо   от   наличия receive,  либо  требовать  наличие  (вопрос  реализации MPI).  Поэтому операция считается нелокальной.




Начало  Назад  Вперед