Мультикомпьютеры с передачей сообщений

Общие сведения

Особенности мультикомпьютеров. Рассмотренные выше мультипроцессоры обладают по крайней мере двумя трудно преодолимыми недостатками, которые обусловлены общей памятью, заложенной в принцип их работы. При расширении мультипроцессоров увеличение количества процессорных элементов (блоков):

=> создает (помимо введения дополнительных аппаратных средств) проблему удаленного доступа, решение которой требует больших затрат. Например, в Sequent NUMA-Q увеличение до 256 процессоров достигнуто ценой неодинакового времени доступа к памяти;

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

В мультикомпьютерах каждый процессорный блок (ПБ), или узел, имеет свою собственную память, прямой доступ к которой осуществляется с помощью команд read и store. Благодаря этому мультикомпьютеры содержат гораздо большее количество ПБ. Каждый изображенный на рис. 19.1 процессорный блок в мультикомпьютере состоит из одного или нескольких процессорных элементов ПЭ, модуля памяти МП (ОЗУ), диска и/или других устройств ввода-выво-

Структура процессорного блока (а) и мультикомпьютера (б)

Рис. 19.1. Структура процессорного блока (а) и мультикомпьютера (б)

да, а также процессора передачи данных. Все ПБ связаны между собой высокоскоростной коммуникационной сетью (рис. 19.1,6).

Принцип взаимодействия. В мультикомпьютерах доступ к памяти других ПБ с помощью команд read и store запрещен. Программы разных ПБ взаимодействуют друг с другом с помощью примитивов send и receive, которые используются для передачи сообщений. Когда программа выполняет примитив send, процессор передачи данных должен получить уведомление (receive) и только затем приступить к передаче блока данных в целевую машину, возможно, после предварительного запроса и получения разрешения.

Передача данных из одного локального адресного пространства в другое произойдет, если посылаемое сообщение будет востребовано получателем. Для этого команда send добавляет к сообщению специальный признак (tag — тег), а команда receive проверяет совпадение признаков. Сочетание посылки и согласованного приема сообщения синхронизирует события при копировании данных из памяти в память. Используются д в а подхода к синхронизации событий, которые отличаются интерпретацией и требованиями к реализации: => один из них зависит от того, завершится или нет команда send к моменту, когда будет выполнена команда receive. Если команда send завершится, то буфер может быть использован для посылки, в противном случае — является недоступным;

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

Рассмотрим два типа мультикомпьютеров: процессоры с массовым параллелизмом (Massively Parallel Processor — МРР) и кластеры рабочих станций (Clusters of Workstations — COW).

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ     След >