Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Параллельные вычисления лекции.doc
Скачиваний:
67
Добавлен:
10.02.2016
Размер:
979.46 Кб
Скачать

Лекция 13. Многопроцессорные системы с индивидуальной памятью или Массивно-параллельные системы (mpp)

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

Сетевой закон Амдала. Главным фактором, снижающим эффективность

таких машин, является потери времени на передачу сообщений.

Одной из главных характеристик параллельных систем является ускорение R параллельной системы, которое определяется выражением:

R = T1 /Tn ,

где T1 − время решения задачи на однопроцессорной системе, а Tn − время ре-

шения той же задачи на n − процессорной системе.

Пусть W = Wск + Wпр, где W − общее число операций в задаче, Wпр −

число операций, которые можно выполнять параллельно, а Wcк − число

скалярных (нераспараллеливаемых) операций. Обозначим также через t время

выполнения одной операции. Тогда получаем известный закон Амдала :

Здесь a = Wск /W − удельный вес скалярных операций.

Основной вариант закона Амдала не отражает потерь времени на меж-

процессорный обмен сообщениями. Перепишем закон Амдала:

Здесь Wc − количество передач данных, tc − время одной передачи данных.

Это выражение

и является сетевым законом Амдала. Этот закон определяет следующие две

особенности многопроцессорных вычислений:

Коэффициент сетевой деградации вычислений с:

определяет объем вычислений, приходящийся на одну передачу данных (по

затратам времени). При этом сА определяет алгоритмическую составляющую

коэффициента деградации, обусловленную свойствами алгоритма, а сТ − техни-

ческую составляющую, которая зависит от соотношения технического быстро-

действия процессора и аппаратуры сети.

В некоторых случаях используется еще один параметр для измерения эффективности вычислений – коэффициент утилизации z:

Программирование для систем с передачей сообщений. Наиболее распространенной библиотекой параллельного программирования в модели передачи сообщений является MPI (Message Passing Interface). MPI является биб-

лиотекой функций межпроцессорного обмена сообщениями и содержит около

300 функций.

Эффективность систем с обменом сообщениями определяется качеством параллельного алгоритма. Если в нем нет параллелизма, то ЭВМ с множеством

процессоров будет работать даже медленнее однопроцессорной ЭВМ.

Пример параллельных ЭВМ с обменом сообщениями.

Архитектура. Система состоит из однородных вычислительных узлов, включающих:

• один или несколько центральных процессоров (обычно RISC),

• локальную память (прямой доступ к памяти других узлов невозможен),

• коммуникационный процессор или сетевой адаптер,

• иногда - жесткие диски (как в SP) и/или другие устройства В/В.

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

Примеры. IBM RS/6000 SP2, Intel PARAGON/ASCI Red, CRAY T3E, Hitachi SR8000, транспьютерные системы Parsytec.

Масштабируемость. Общее число процессоров в реальных системах достигает нескольких тысяч (ASCI Red, Blue Mountain).

Операционная система. Существуют два основных варианта:

1. Полноценная ОС работает только на управляющей машине (front-end), на каждом узле работает сильно урезанный вариант ОС, обеспечивающие

только работу расположенной в нем ветви параллельного приложения.

Пример: Cray T3E.

2. На каждом узле работает полноценная UNIX-подобная ОС (вариант,

близкий к кластерному подходу). Пример: IBM RS/6000 SP + ОС AIX, устанавливаемая отдельно на каждом узле.