Корпорация IBM в последние годы стала ведущей суперкомпьютерной компанией мира; в рейтинговом списке Top500 ей принадлежат 236 систем, 47% общего числа
Количество инсталляций Blue Gene/L в мире продолжает расти, и даже просто само присутствие таких оригинальных МРР-систем на рынке добавляет яркие краски в становящийся несколько однообразным мир архитектур современных компьютеров

Архитектурный ландшафт современных компьютеров напоминает о стиле «унисекс». В среде компьютерных архитектур сегодня, несомненно, преобладает унификация. Похожие, как две капли воды, ПК (их отличия начинают сдвигаться в сторону «одежки», дизайна корпуса) или ноутбуки заразили своей одинаковостью даже мир серверов. Появились и набирают популярность серверы «стандартной архитектуры», построенные на массовой платформе х86.

Даже «топ-модели» вычислительных систем — суперкомпьютеры — и те стали строиться в виде кластеров из одинаковых кирпичиков — узлов, в качестве которых применяются все те же серверы стандартной архитектуры. То ли дело было раньше — всякая уважающая себя фирма-разработчик создавала собственные мэйнфреймы или мини-компьютеры, совершенно не похожие на продукцию коллег-соперников.

И вообще сегодня встал вопрос, не умирают ли под натиском кластеров массивно-параллельные системы (Massive Parallel Processing, МРР) с распределенной между узлами оперативной памятью, которые когда-то, в эпоху господства Сray T3D/T3E, вытеснили векторные суперкомпьютеры куда-то на обочину. В последнем списке Top500 крупнейших суперкомпьютеров — всего 108 МРР-систем, а кластеров — 361.

Собственно, сегодня массово производимыми МРР-компьютерами по сути могут похвастаться только Cray (XD1, XT3) и IBM.

Существенный вклад в успех IBM внес суперкомпьютер Blue Gene/L (BG/L). Абсолютный лидер списка с производительностью 281 TFLOPS на тестах Linpack — инсталляция этой МРР-системы в Ливерморской национальной лаборатории США. В первой десятке представлены две инсталляции BG/L, а всего в Top500 вошли 27 инсталляций BG/L, в то время как у Cray XT3/XD1 на базе AMD Opteron — 11.

Киловатт там правит бал

Задачей, поставленной IBM при разработке BG/L, было создание универсальной высокомасштабируемой, высоконадежной и компактной суперкомпьютерной системы, потребляющей не слишком много электроэнергии (максимальная конфигурация BG/L c пиковой производительностью 367 TFLOPS «тянет» на несколько мегаватт).

IBM приводит оценку, показывающую, что производительность в расчете на одну стойку определяется производительностью в расчете на 1 Вт; электрическая же мощность стойки, расходуемая на воздушное охлаждение, в последние годы остается, грубо говоря, константой, порядка 20 Квт. Поэтому IBM применила процессоры PowerPC 440 с низкой частотой (и соответственно низкой электрической мощностью) — 700 МГц, с производительностью среднего уровня, и создала специализированную микросхему ASIC. Кроме двух процессоров (блок операций с плавающей запятой располагается вне ядер PowerPC 440) она содержит также средства поддержки сетей. Это позволяет добиться высокой интеграции, низкого энергопотребления и низкой стоимости конструирования BG/L, а также повысить надежность.

Ключевые архитектурные особенности BG/L включают межсоединение вычислительных узлов с топологией 3D-тора, имеющее низкие задержки, и дополнительные сети для коллективных операций, для ввода/вывода и др. Эти дополнительные сети имеют другую топологию. Компьютеры BG/L применяются для хорошо распараллеливаемых приложений, в которых обычно используются средства распараллеливания (библиотека времени выполнения) MPI, и соответствующие сети-межсоединения оптимизированы для работы с МРI.

Хотя в архитектуре других популярных MPP-систем от Cray также используется межсоединение с топологией 3D-тора, они построены на базе высокопроизводительных процессоров Opteron.

Основные компоненты, из которых складывается архитектура BG/L, это двухпроцессорные вычислительные узлы (общим числом до 65 536), связанные сетью с топологией 3D-тора, узлы ввода/вывода, и также еще четыре типа сетей: коллективная (для коллективных MPI-операций), барьерная (для синхронизации MPI-процессов), Gigabit Ethernet (для поддержки распределенных файловых систем для узлов ввода/вывода) и управляющая.

В составе BG/L имеется сервисный узел (это вообще характерно для суперкомпьютеров, начиная еще с Cray-1), фронтальные узлы (с которыми пользователи работают в терминальном режиме) и файловые серверы. Все это «фронтальное хозяйство» объединяется коммутаторами Gigabit Ethernet. Наконец, из-за конструктивных требований построения больших конфигураций со многими стойками в архитектуре BG/L представлены так называемые «канальные микросхемы».

Канальные микросхемы служат в первую очередь для организации межстоечных связей, в том числе для сети 3D-тора. Если внутри стоек разводка основана на применении «срединных» плат, то между стойками организованы кабельные соединения. Канальные микросхемы как раз и обеспечивают порты, к которым подсоединяются кабельные разъемы.

BG/L имеют целый ряд плат разных уровней. Прежде всего, это вычислительные платы, содержащие по два вычислительных узла (то есть четыре процессора) и оперативную память. Емкость оперативной памяти вычислительной платы равна 1 Гбайт, то есть 512 Мбайт на узел. Полагаю, сегодня недостаточно; однако надо иметь в виду, что разработка BG/L была завершена уже несколько лет назад.

Еще одна пара узлов образует плату ввода/вывода. По сравнению с вычислительной платой, здесь поддерживаются соединения Gigabit Ethernet, а емкость оперативной памяти увеличена вдвое. Узлы ввода/вывода не содержат жестких дисков: эти узлы являются лишь посредником в доступе к файловым серверам.

Вычислительные платы вставляются в слоты так называемых «плат вычислительного узла» (два ряда по восемь вычислительных плат). Наконец, в срединную плату стойки монтируется до 32 плат узлов. Итого в одной стойке размещается 2048 процессоров. В максимальной конфигурации BG/L включает 64 стойки, а число процессоров достигает впечатляющего значения — 131 072.

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

Сети

Основным межсоединением вычислительных узлов в BG/L является сеть с топологией 3D-тора 64х32х32. Это высокомасштабируемая сеть, в которой аппаратно поддерживается передача, в том числе коротких (до 32 байт) сообщений с низкими задержками. Сообщения передаются непосредственно между парами узлов.

Маршрутизация в торе происходит «на лету». Каждая стойка (ее срединная плата) содержит решетку узлов 8х8х8, а «на поверхности» решетки используются кабели, соединяющие данную стойку с другими. Отдельных маршрутизаторов и плат адаптеров в этой сети не существует; вся аппаратура интегрирована в «вычислительную» ASIC-микросхему.

Передача данных в 3D-торе сопровождается транзитом через промежуточные узлы, а потому эффективная пропускная способность может варьироваться. Следовательно, более эффективно применять BG/L при распараллеливании приложений, которые отличаются локальными (с точки зрения 3D-пространства) коммуникациями.

Сигнальная скорость каналов 3D-тора в каждом направлении в BG/L равна 1,4 Гбит/с. Каждый узел имеет шесть двунаправленных каналов, а потому общая пропускная способность узла составляет 2,1 Гбайт/с (для сравнения, пиковая пропускная способность Infiniband 4x DDR равна 2,5 Гбайт/с). Аппаратная задержка 3D-тора при прохождении узла равна примерно 100 нс, так что максимальная задержка при полной конфигурации 64х32х32 составляет порядка 6,4 мкс.

Важнейшая особенность BG/L — возможность разбиения компьютера на разделы, так называемое «парционирование». А канальные микросхемы, кроме того, что они вовлечены в коммуникации между стойками, обеспечивают также аппаратную поддержку парционирования. Это предполагает, что в BG/L каждому заданию нужно выделить некий поднабор процессоров, которые при распараллеливании будут монопольно использоваться этим заданием. Каждое задание запускается с определенным числом выделенных процессоров, которые образуют собственный раздел («маленький» тор).

Для широковещательной рассылки небольших сообщений, когда важна низкая задержка, в BG/L применяется специальная глобальная коллективная сеть с топологией дерева. Эта операция может выполняться по всей сети или по поднабору узлов с задержкой не более 5 мкс. В каждом разделе образуется своя собственная коллективная сеть.

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

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

Барьерная сеть — еще одна независимая сеть BG/L, которая обеспечивает исключительно низкую задержку синхронизации MPI-процессов, всего 1,5 мкс на 64 тыс. узлов. Эта сеть служит также для целей диагностики и обработки глобальных прерываний.

Узлы ввода/вывода используют сеть Gigabit Ethernet для доступа (через внешние коммутаторы) к параллельным файловым системам и внешним хостам.

Узлы

Вычислительная микросхема BLC узлов BG/L включает два ядра PowerPC 440, устройство с плавающей запятой, память eDRAM, интегрированный контроллер памяти DDR SDRAM, адаптер Gigabit Ethernet, буферы для маршрутизации на лету и средства управления сетями, в том числе 3D-тором и коллективной сетью. Микросхемы BLC в вычислительных узлах и узлах ввода/вывода одинаковы, но Gigabit Ethernet используют только узлы ввода/вывода.

Ядра PowerPC 440 — это 32-разрядные суперскалярные процессоры с расширенной за счет векторных команд архитектурой PowerPC и тепловыделением всего около 1 Вт. Эти суперскалярные процессоры с внеочередным выполнением одновременно до двух команд и динамическим предсказанием переходов имеют 7-стадийный основной конвейер и кэши данных и команд первого уровня емкостью по 32 Кбайт, а также маленький кэш второго уровня, используемый для предварительной выборки и буферов обратной записи кэша первого уровня.

Кроме того, ядра разделяют рабочую память SRAM емкостью 16 Кбайт, применяемую для межпроцессорных коммуникаций. Наконец, в качестве кэша третьего уровня емкостью 4 Мбайт используется память eDRAM.

Блоки устройств с плавающей запятой выступают в качестве своего рода сопроцессоров. Фактически каждый из них состоит из двух одинаковых частей, каждая из которых может завершать две команды «умножить и сложить» за такт, тем самым выдавая за такт четыре результата с плавающей запятой и соответственно пиковую производительность 2,8 GFLOPS.


Перспективы

Очевидными преимуществами BG/L — в том числе по сравнению с кластерами Beowulf — являются наличие специализированных сетей, обеспечивающих низкие задержки и повышающих эффективную пропускную способность; компактность и низкое энергопотребление (одна стойка имеет размеры 0,9х0,9х1,9 м и потребляет 27,5 КВт); высочайшая масштабируемость и удобная для 3D-декомпозиции задачи топология трехмерного тора и др.

Однако при малом и среднем числе узлов применение BG/L скорее невыгодно: эти процессоры не отличаются очень высокой производительностью, выигрыш осуществляется за счет большого числа процессоров. Соответственно приложения, которые плохо масштабируются на большое число процессоров, для BG/L не подходят. Другим ограничением может являться относительно небольшая емкость оперативной памяти в узлах. Можно с большой вероятностью предположить, что в новом поколении Blue Gene, BG/P, появление которого ожидается в недалеком будущем, этот минус будет ликвидирован. BG/P будет построен уже на базе PowerPC 450, а для сети ввода/вывода будет использован 10G Ethernet. B BG/P планируется достигнуть производительности петафлопного уровня. Вслед за ним, через несколько лет, ожидается следующее поколение — BG/Q.

BG/L отличаются также привлекательной ценой и возможностями аренды машинного времени (Capacity on Demand). Стоимость аренды одной полной стойки BG/L на сутки составляет ориентировочно 5 тыс. долл.

Количество инсталляций BG/L в мире продолжает расти, и даже просто само присутствие таких оригинальных МРР-систем на рынке добавляет яркие краски в становящийся несколько однообразным мир архитектур современных компьютеров.