Новый вид суперкомпьютерной архитектуры Constellation
Просматривая Тор500 рейтинг наиболее производительных суперкомпьютеров мира, обращаем внимание на новый вид суперкомпьютерной архитектуры Constellation (Созвездие).
Чем же принципиально отличается этот вид от кластерной системы?
Обратим внимание, что речь идет не о системе Constellation, разработанной компанией Sun для суперкомпьютеров, а об архитектуре Constellation, которую пионер Beowulf (Беовульф) Том Стерлинг определил так:
Constellation – это кластер больших SMP узлов, в котором количество процессоров на узел больше, чем количество узлов.
Согласно этому определению Constellation становится кластером, когда количество узлов равно или превышает количество ядер на узел.
Сегодня стандартом является узел с 8-ю ядрами, это подразумевает, что необходимо 8 узлов или больше, чтобы суперкомпьютер называть кластером. Таким образом, современный кластер должен иметь 64 или больше ядер. Были времена, когда компьтер с 64-мя процессорами (1 узел) считался большим кластером, а по сегодняшним стандартам он вообще может не быть кластером.
Отметим, что для 16-ти ядерных узлов (например, 4 процессора по 4 ядра) кластер должен иметь 16 узлов с 256-ю ядрами. Интересно, что, используя данное выше определение, удвоение количества ядер на узел приводит к увеличению в 4 раза общего числа ядер, необходимых для того, чтобы суперкомпьютер считался кластером.
Если ваш код использует 8 узлов или меньше, тогда вам понадобится только 1 узел. С увеличением числа ядер и процессоров количество ядер на узел будет легко удвоено.
То есть, если вашему коду необходимо 16 узлов или меньше, то одного узла по-прежнему будет достаточно.
В терминах программирования, это может привести к переходу большого количества задач с MPI технологий на потоковые. Это может стать переломным моментом в развитии кластерных систем для суперкомпьютеров.
Таким образом, в отличие от кластеров, Constellation позволяет использовать другие технологии программирования, а именно многонитевое программирование (OpenMP) вместо MPI.
Общая память, доступная всем процессам задачи, в большом SMP-узле позволяет эффективно решать тесно связанные задачи с большим количеством обменов данными между процессами. Это не под силу обычным кластерам, на которых такие задачи выполняются крайне неэффективно.
Примерами задач, для которых кластеры уступают архитектуре Constellation, могут быть: прогнозирование погоды, моделирование климата, расчет плотностей, теплопереноса.


