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

       

Коллективные коммуникации.


Для обеспечения  коллективных  коммуникаций   введены   следующие функции:

·      барьер для всех членов группы (BARRIER);

·      передача сообщения всем членам группы от одного (BROADCAST);

·      сбор данных от всех членов группы для одного (GATHER);

·      рассылка данных всем членам группы от одного (SCATTER);

·      сбор данных от всех членов группы для всех (ALLGATHER);

·      рассылка данных всем членам группы от всех (ALLTOALL);

·      глобальные операции (сумма,  максимум, и т.п.), когда результат сообщается всем членам группы или только одному. При этом пользователь может сам определить глобальную операцию - функцию;

Схема перемещения данных между 4 процессами

Данные

Pr-0

A0



A0

Pr-1

BROADCAST

A0

Pr-2

 è

A0

Pr-3

A0

Pr-0

A0

A1

A2

A3

SCATTER

A0

Pr-1

è

A1

Pr-2

GATHER

A2

Pr-3

ç

A3

Pr-0

A0

B0

C0

D0

A0

Pr-1

A0

B0

C0

D0

ALLGATHER

B0

Pr-2

A0

B0

C0

D0

ç

C0

Pr-3

A0

B0

C0

D0

D0

<
/p>
Pr-0

A0

A1

A2

A3

A0

B0

C0

D0

Pr-1

B0

B1

B2

B3

ALLTOALL

A1

B1

C1

D1

Pr-2

C0

C1

C2

C3

è

A2

B2

C2

D2

Pr-3

D0

D1

D2

D3

A3

B3

C3

D3

Названия функций и параметры:

   MPI_BARRIER(IN comm)

    

   MPI_BCAST(IN/ OUT buffer, IN cnt, IN type, IN root, IN comm)

    

   MPI_GATHER(IN sendbuf, IN sendcnt, IN sendtype, OUT recvbuf,

                    IN recvcnt, IN recvtype, IN root, IN comm)

   

   MPI_SCATTER(IN sendbuf, IN sendcnt, IN sendtype, OUT recvbuf,

                    IN recvcnt, IN recvtype, IN root, IN comm)

   

   MPI_ALLGATHER(IN sendbuf, IN sendcnt, IN sendtype,

                    OUT recvbuf,  IN recvcnt, IN recvtype, IN comm)

   

   MPI_ALLTOALL(IN sendbuf, IN sendcnt, IN sendtype, OUT recvbuf,

                    IN recvcnt, IN recvtype, IN comm)

PVM (Parallel Virtual Machine).

Широко известная система PVM [5]  была  создана  для  объединения нескольких  связанных  сетью  рабочих  станций  в  единую  виртуальную параллельную  ЭВМ.   Система   представляет   собой   надстройку   над операционной  системой  UNIX  и  используется  в  настоящее  время  на различных  аппаратных   платформах,   включая   и   ЭВМ   с   массовым параллелизмом.

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

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

Недостатки  - низкая производительность и функциональная ограниченность (например, имеется только один режим передачи сообщений - с буферизацией).


Содержание раздела