Массово-параллельная архитектура
Массово-параллельная архитектура (англ. massive parallel processing, MPP, также «массивно-параллельная архитектура») — класс архитектур параллельных вычислительных систем. Особенность архитектуры состоит в том, что память физически разделена.
Описание архитектуры
Система строится из отдельных узлов (англ. node), содержащих процессор, локальный банк оперативной памяти, коммуникационные процессоры или сетевые адаптеры, иногда — жёсткие диски и другие устройства ввода-вывода. Доступ к банку оперативной памяти данного узла имеют только процессоры из этого же узла. Узлы соединяются специальными коммуникационными каналами.
Пользователь может определить логический номер процессора, к которому он подключен, и организовать обмен сообщениями с другими процессорами. На машинах массово-параллельной архитектуры используются два варианта работы операционной системы:
- В одном полноценная операционная система работает только на управляющей машине (front-end), а на каждом отдельном узле функционирует сильно урезанный вариант операционной системы, обеспечивающий работу расположенной в нём ветви параллельного приложения.
- Во втором варианте на каждом модуле работает полноценная, чаще всего UNIX-подобная система, устанавливаемая отдельно.
Преимущества архитектуры
Главным преимуществом систем с раздельной памятью является хорошая масштабируемость: в отличие от SMP-систем, в машинах с раздельной памятью каждый процессор имеет доступ только к своей локальной памяти, в связи с чем не возникает необходимости в потактовой синхронизации процессоров. Практически все рекорды по производительности в 1990-е годы установлены на машинах именно такой архитектуры, состоящих из нескольких тысяч процессоров (ASCI Red, ASCI Blue Pacific).
Недостатки архитектуры
- отсутствие общей памяти заметно снижает скорость межпроцессорного обмена, поскольку нет общей среды для хранения данных, предназначенных для обмена между процессорами. Требуется специальная техника программирования для реализации обмена сообщениями между процессорами;
- каждый процессор может использовать только ограниченный объём локального банка памяти;
- вследствие указанных архитектурных недостатков требуются значительные усилия для того, чтобы максимально использовать системные ресурсы. Именно этим определяется высокая цена программного обеспечения для массово-параллельных систем с раздельной памятью.