Научная литература
booksshare.net -> Добавить материал -> Физика -> Александров Е.К. -> "Микропроцессорные системы" -> 518

Микропроцессорные системы - Александров Е.К.

Александров Е.К., Грушвицкий Р.И., Купрянов М.С., Мартынов О.Е. Микропроцессорные системы — Спб.: Политехника, 2002. — 935 c.
ISBN 5-7325-0516-4
Скачать (прямая ссылка): mikroprocessorniesistemi2002.djvu
Предыдущая << 1 .. 512 513 514 515 516 517 < 518 > 519 520 521 522 523 524 .. 528 >> Следующая

процесс идентификации физической области, которая может быть локальной
или удаленной по отношению к процессору и которая может быть доступна
другим процессорам. Трансляция адреса реализуется защищенно, в пределах
разделяемого адресного пространства, как это делается в однопроцессорных
системах.
Эффективность систем с разделяемой общей памятью зависит от времени
ожидания доступа к памяти, связанного с пропускной способностью среды
передачи данных. Для того чтобы достичь масштабируемости таких систем,
все решения, включая все механизмы связи, используемые для доступа к
разделяемой памяти, должны быть правильно сбалансированы.
9.2. АРХИТЕКТУРЫ С РАСПРЕДЕЛЕННОЙ ОБЛАСТЬЮ ПАМЯТИ
Ко второму важному классу параллельных машин относятся многопроцессорные
системы с распределенной областью памяти (message-passing architectures -
MPA). MPA используют законченные компьютеры, включающие микропроцессор,
память и подсистему ввода/вывода, как узлы для построения системы,
объединенные коммуникационной средой, обеспечивающую взаимодействие
процессоров посредством простых операций ввода-вывода. Структура высокого
уровня для МРА практически такая же, как и для NUMA-машин, т. е. машин с
разделяемой памятью, показанных на рис. 9.6. Первое отличие состоит в
том, что коммуникации интегрированы в уровень ввода/вывода, а не в
систему доступа к памяти. Этот стиль дизайна имеет много общего с сетями
из рабочих станций или кластерными системами, за исключением того, что в
МРА пакетирование узлов обычно более плотное, нет монитора и клавиатуры
на каждом узле, а производительность сети намного выше стандартной.
Интеграция между процессором и сетью имеет склонность быть более тесной,
чем традиционные структуры ввода/вывода, которые поддерживают соединения
с оборудованием, которое более медленное, чем процессор. Начиная с
посылки сообщения МРА, есть фундаментальное взаимодействие "Процессор -
Процессор".
Системы с распределенной памятью имеют существенную дистанцию между
программной моделью и действительными аппаратными примитивами.
Коммуникации осуществляются через средства операционной системы, или
библиотеку вызовов, которые выполняют много акций более низкого уровня,
включающих операции коммуникации.
918
АРХИТЕКТУРЫ С РАСПРЕДЕЛЕННОЙ ОБЛАСТЬЮ ПАМЯТИ
Рис. 9.8. Принцип взаимодействия процессов в системах с распределенной
областью памяти
Наиболее общие операции взаимодействия на пользовательском уровне (user-
level) в МРА есть варианты посылки (Send) и получения (Receive)
сообщения. Совместный механизм Send и Receive, вызванный передачей данных
из одного процесса в другой, показан на рис 9.8.
Передача данных из одного локального адресного пространства к другому
произойдет, если посылка сообщения со стороны процесса-отправителя будет
востребована процессом-получателем сообщения.
С этой целью в большинстве систем с распределенной памятью сообщение
специфицируется операцией Send, которая добавляет к сообщению специальный
признак (tag), а операция Receive в этом случае выполняет проверку
сравнения данного признака.
Сочетание посылки и согласованного приема сообщения (на основе совпадения
признаков) выполняет логическую связку - синхронизацию события, т. е.
копирования из памяти в память. Имеется несколько возможных вариантов
синхронизации этих событий в зависимости от того, завершиться ли Send к
моменту, когда Receive будет выполнен или нет (т. е. будет ли снова
доступен буфер посылки для использования до момента получения
подтверждения приема). Похожим образом Receive может, в принципе,
подождать до момента согласованной посылки (Send) или использовать
"почтовый ящик" для получения сообщения. Каждый из этих вариантов имеет
несколько различную интерпретацию и различные требования к реализации.
Механизм посылки сообщений долго использовался как средство коммуникации
и синхронизации совокупности арбитрирующих взаимодействующих
последовательных процессов, даже на одном процессоре. В качестве примеров
можно привести языки программирования типа CSP и Occam, наиболее общие
функции операционных систем типа Sockets.
Первые машины с распределенной областью памяти обеспечивали аппаратную
поддержку примитивов (команд), которые очень напоминали простую
абстракцию взаимодействия Send/Receive на пользовательском уровне с
некоторыми дополнительными ограничениями. Каждый узел системы соединялся
с определенным (фиксированным) числом соседей по регулярной схеме
(образцу) на основе связи "точка-точка" (poin-to-point), по-
919
АРХИТЕКТУРЫ ПАРАЛЛЕЛЬНЫХ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ
ведение которой, в свою очередь, описывалось простым FIFO. Такой тип
конструкции для минимального 3D-Ky6a показан на рис. 9.9, где каждый узел
имеет связи с соседями по трем направлениям через буфер FIFO.
В ранних системах обычно использовалась структура гиперкуба (на 2"
узлов), в которой каждый узел соединялся с п другими узлами, бинарные
адреса которых отличались на один бит. Другие машины имели решетчатую
Предыдущая << 1 .. 512 513 514 515 516 517 < 518 > 519 520 521 522 523 524 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed