Статус
нашего
сайта:
ICQ Secrets Center is Online  ICQ Information Center


ICQ SHOP
     5-значные
     6-значные
     7-значные
     8-значные
     9-значные
     Rippers List
ОПЛАТА
СТАТЬИ
СЕКРЕТЫ
HELP CENTER
OWNED LIST
РОЗЫСК!New!
ICQ РЕЛИЗЫ
Протоколы ICQ
LOL ;-)
Настройка компьютера
Аватарки
Смайлики
СОФТ
     Mail Checkers
     Bruteforces
     ICQTeam Soft
     8thWonder Soft
     Other Progs
     ICQ Patches
     Miranda ICQ
ФорумАрхив!
ВАШ АККАУНТ
ICQ LiveJournal

Реклама

Наш канал:

irc.icqinfo.ru

Таненбаум Э.- Архитектура компьютера. стр.492


Таненбаум Э.- Архитектура компьютера. стр.492

♦ синхронная передача сообщений;

+ буферизуемая передача сообщений;

+ неблокирующая передача сообщений.

Если при синхронной передаче сообщений отправитель выполняет операцию send, а получатель еще не выполнил операцию receive, отправитель блокируется (приостанавливается) до тех пор, пока получатель не выполнит операцию receive, а в это время сообщение копируется. Когда управление возвращается отправителю, он уже знает, что отправленное сообщение получено. Этот метод имеет простую семантику и не требует буферизации. Но у него есть серьезный недостаток: отправитель блокируется до тех пор, пока получатель не примет сообщение и подтвердит его прием.

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

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

При неблокирующей передаче сообщений отправитель, сделав вызов, может сразу продолжать работу. Единственная задача библиотеки — сообщить операционной системе, чтобы та обработала вызов, когда у нее появится время. В результате отправитель вообще не блокируется. Недостаток этого метода состоит в том, что когда отправитель продолжает работу после выполнения операции send, он не может снова использовать буфер сообщений, так как есть вероятность, что сообщение еще не отправлено. Отправитель каким-то образом должен определять, что он может снова использовать буфер. Например, можно опрашивать систему. Другой вариант — при освобождении буфера выполнять системное прерывание. Однако оба варианта требуют сложного программного обеспечения.

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

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

Еще несколько лет назад пакет PVM (Parallel Virtual Machine — параллельная виртуальная машина) считался самым популярным пакетом для обмена информацией между мультикомпьютерами [74]. Однако в настоящее время он почти повсеместно вытеснен пакетом MPI (Message-Passing Interface — интерфейс передачи сообщений). Пакет MPI гораздо сложнее, чем PVM; он поддерживает намного больше библиотечных вызовов и намного больше параметров для каждого вызова. Первая версия MPI, которая сейчас называется MPI-1, в 1997 году была дополнена второй версией, MPI-2. Далее мы кратко расскажем о MPI-1, а затем посмотрим, что нового появилось в MPI-2. Более подробную информацию об MPI см. в [81, 190].

Пакет MPI-1, в отличии от PVM, никак не связан с созданием процессов и управлением процессами. Создавать процессы должен сам пользователь путем локальных системных вызовов. После создания процессы организуются в группы, которые уже не изменяются. Именно с этими группами работает MPI.


⇐ Предыдущая страница| |Следующая страница ⇒

.