Подтвердить что ты не робот

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

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

4b9b3361

Ответ 1

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

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

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

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

Ответ 2

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

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

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

Update:

Dongarra et al. ссылка

Ответ 3

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

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

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

Ответ 4

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

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

Наиболее конкретное объяснение этого вопроса я нашел в Sourcebook of Parallel Computing (Dongarra et al.):

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