В чем разница между кластером и архитектурой суперкомпьютера MPP? - PullRequest
21 голосов
/ 06 апреля 2011

В чем разница между кластерной и MPP-архитектурой суперкомпьютера?

Ответы [ 4 ]

24 голосов
/ 06 апреля 2011

В кластере каждая машина в значительной степени независима от других с точки зрения памяти, диска и т. Д. Они связаны друг с другом с использованием некоторых изменений в обычной сети.Кластер существует главным образом в сознании программиста и того, как он / она решает распределить работу.

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

Основными вариантами являются SIMD (одна команда, несколько данных) и MIMD (несколько команд, несколько данных).В системе SIMD каждый процессор выполняет одну и ту же инструкцию в одно и то же время, только в разных битах памяти.По сути, существует только один программный счетчик.На MIMD-машине каждый ЦП имеет свой собственный ПК.

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

14 голосов
/ 18 февраля 2014

Список top500 использует немного другое различие между MPP и кластером, как объяснено в Dongarra et al. paper:

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

По сравнению с кластером современный MPP (такой как IBM Blue Gene ) более тесно интегрирован: отдельные узлы не могут работать самостоятельно, и они подключены через пользовательскую сеть (например, многомерную). тор). Но, как и в кластере, не существует единой общей памяти, охватывающей все узлы (примечание: MPP может быть иерархическим, а общая память может использоваться внутри одного узла (NUMA) или между несколькими узлами).

Поэтому я бы очень осторожно использовал термины SIMD и MIMD в этом контексте, поскольку они обычно описывают архитектуры совместно используемой памяти (SMP).

Обновление:

Донгарра и др. ссылка

Обновление: MPP может иметь узлы, которые используют совместно используемую память; но вся память MPP не используется совместно.

2 голосов
/ 06 апреля 2011

Кластер - это группа машин, обычно это Ethernet-соединения (читай: сеть), каждая из которых работает со своей собственной и отдельной копией ОС, которая служит одной цели.

Суперкомпьютер MPP обычно предполагаетболее быстрое умиротворяющее очень быстрое межсоединение (например, SGI NUMALink), которое поддерживает либо распределенную общую память (процессы запускаются на разных узлах MPP, которые используют общую память через быстрое межсоединение для совместного использования данных, как если бы они работали на одном компьютере), либо даже единую системуОбраз (один экземпляр операционной системы, в основном Linux, работающий на всех узлах одновременно, как на одном компьютере - например, «ps aux» на любом узле покажет вам все процессы, запущенные на MPP).

Как видите, определение довольно изменчиво, это скорее вопрос масштаба, а не четких различий.

0 голосов
/ 03 июля 2017

Я искал много литературы по HPC и не смог найти конкретное определение MPP. Существует достаточно единого мнения о кластере, состоящем из нескольких взаимосвязанных обычных персональных компьютеров или рабочих станций, обычно в сочетании со стандартными технологиями (такими как Ethernet или операционные системы с открытым исходным кодом). Термин MPP обычно применяется к более распространенным подходам к созданию компьютеров с распределенной памятью, обычно с пропиетальными технологиями.

Например: Tianhe-2 считается кластером, потому что он использует узлы x86-64 и обычную операционную систему (Kylin Linux). Sunway TaihuLight считается MPP, поскольку его узлы имеют особую архитектуру SW26010 и работают над собственной операционной системой Sunway Raise OS.

Наиболее конкретное объяснение этого вопроса я обнаружил в Сборнике параллельных вычислений (Донгарра и др.) :

Мы отмечаем, что термин кластер может применяться как в широком смысле (любая система, построенная из значительного числа товарных компонентов), так и узко (только товарные компоненты и программное обеспечение с открытым исходным кодом). На самом деле, нет точного определения кластера. Некоторые из проблем, которые используются, чтобы утверждать, что система представляет собой массивно параллельный процессор (MPP) вместо кластера, включают в себя проприетарные межсоединения (...), особенно те, которые предназначены для конкретной параллельный компьютер и специальное программное обеспечение, которое рассматривает всю систему как единый компьютер, особенно для системных администраторов. Кластеры могут быть построены на персональных компьютерах или рабочих станциях (либо на одном процессоре, либо на симметричных мультипроцессорах (SMP)) и могут работать с открытыми или проприетарными операционными системами.

...