Массово-параллельная архитектура

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Массово-параллельная архитектура (англ. massively parallel processing, MPP, также «массивно-параллельная архитектура») — класс архитектур параллельных вычислительных систем. Особенность архитектуры состоит в том, что память физически разделена.

Описание архитектуры

[править | править код]

Система строится из отдельных узлов (англ. node), содержащих процессор, локальный банк оперативной памяти, коммуникационные процессоры или сетевые адаптеры, иногда — жёсткие диски и другие устройства ввода-вывода. Доступ к банку оперативной памяти данного узла имеют только процессоры из этого же узла. Узлы соединяются специальными коммуникационными каналами.

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

  • В одном полноценная операционная система работает только на управляющей машине (front-end), а на каждом отдельном узле функционирует сильно урезанный вариант операционной системы, обеспечивающий работу расположенной в нём ветви параллельного приложения.
  • Во втором варианте на каждом модуле работает полноценная, чаще всего UNIX-подобная система, устанавливаемая отдельно.

Преимущества архитектуры

[править | править код]

Главным преимуществом систем с раздельной памятью является хорошая масштабируемость: в отличие от SMP-систем, в машинах с раздельной памятью каждый процессор имеет доступ только к своей локальной памяти, в связи с чем не возникает необходимости в потактовой синхронизации процессоров. Практически все рекорды по производительности в 1990-е годы установлены на машинах именно такой архитектуры, состоящих из нескольких тысяч процессоров (ASCI Red, ASCI Blue Pacific).

Недостатки архитектуры

[править | править код]
  • отсутствие общей памяти заметно снижает скорость межпроцессорного обмена, поскольку нет общей среды для хранения данных, предназначенных для обмена между процессорами. Требуется специальная техника программирования для реализации обмена сообщениями между процессорами;
  • каждый процессор может использовать только ограниченный объём локального банка памяти;
  • вследствие указанных архитектурных недостатков требуются значительные усилия для того, чтобы максимально использовать системные ресурсы. Именно этим определяется высокая цена программного обеспечения для массово-параллельных систем с раздельной памятью.

Примечания

[править | править код]