Суперкомпьютер IBM BlueGene/Q (Sequoia)

Осипов М. А.,
ВМК МГУ,
Москва, 2018


1. История архитектуры BlueGene

Проект Blue Gene был начат фирмой IBM в 1999 году. Целью данного проекта было построение суперкомпьютера с производительностью в 1 Pflop/s, в первую очередь, предназначенного для решения задач биомолекулярного моделирования. Предварительно стоимость реализации проекта оценили в $100 млн[5], на данный момент она значительно превышена. Его стоимость оценивается в $250 млн[8].

Blue Gene/Q является третьем поколением архитектуры. Целью разработчиков стало достижение 20-PFLOPS рубежа в 2011 году. Blue Gene/Q — это эволюционное продолжением архитектур Blue Gene/L и Blue Gene/P, работающее на более высокой частоте и потребляющее меньше энергии на один FLOPS производительности.

Первой системой, построенной по архитектуре Blue Gene/Q, стала система Sequoia, которую разворачивали в Ливерморской национальной лаборатории им. Э. Лоуренса (Lawrence Livermore National Laboratory, LLNL) - Национальный исследовательский центр Министерства энергетики США в Ливерморе с начала 2011 года и полностью ввели в эксплуатацию в июне 2012 года. Эта система необходима для расчета научных программ лаборатории.

Рис. 1 - Стойки суперкомпьютера IBM Sequoia

2. Конфигурация суперкомпьютера Sequoia

Таблица 1 - Конфигурация суперкомпьютера Sequoia

Процессоры

Power BQC 16C (IBM A2) (x64)

Частота процессора

1.6 ГГц

Число ядер на процессоре

16 + 2 дополнительных ядра

Количество ядер (всего)

1 572 864

Количество стоек

96

Узлов в стойке

1024

Мощность, МВт

7,89

Операционная система

Linux (RHEL, CNK)

Теоретическая пиковая производительность системы, PFLOPS

20,133

Максимальная производительность согласно тесту Linpack, PFLOPS

17,173

Текущая позиция в ТОП500 (на ноябрь 2018 г.)

10

Занимая площадь, м2

300

3. Структура суперкомпьютера Blue Gene/Q - Sequoia

Рис. 2 - Структура суперкомпьютера Blue Gene/QSequoia

На рисунке 2 представлена структура суперкомпьютера Blue Gene/QSequoia. Одной из базовых составляющей является процессорный чип, состоящий из 16 основных и 2 дополнительных ядер (подробное описание представлено в следующем разделе). Затем следует более крупная составляющая – это вычислительный узел, плата с размещенной на ней процессорным чипом, 16 Gb оперативной памяти. Структура каждого такого узла предусматривает теплоотвод с помощью водяного охлаждения. Далее следует объединение 32-x вычислительных узлов на общей плате (Node card). К каждой такой плате подведены трубки водяного охлаждения, плата оснащена блоком питания и оптоволоконными коннекторами. Объединяет вычислительные узлы конфигурация интерконнекта 5D – тор, скоростью «chip-to-chip» соединения 2 Гб/с. Далее происходит сборка так называемых шкафов/стоек (rack), путем объединения 32 узловых плат (node card) и системы ввода/вывода (объединенная конфигурацией 3d – тор). Объединенные коммуникационной сетью, такие 96 шкафов/стоек (rack), в совокупности и образует суперкомпьютер Blue Gene/QSequoia. [1] [2]

4. Конфигурация процессора Power BQC 16C (IBM A2)

Рис. 3 - архитектура процессора IBM A2

Центром процессора, показанного на рисунке 3, является перекрестный переключатель (xbar switch), который соединяет ядра процессора, сетевую логику, кэш – L2. Данный процессор включает 16 основных ядер (PU) (4 – way threaded) , 17 ядро предназначено для операционной системы, чтобы избежать джиттера (фазовое дрожание цифрового сигнала данных – нежелательные фазовые или частотные отклонения передаваемого сигнала) и 18 ядро необходимо для повышения устойчивости системы (запасное ядро). Serdes - пара функциональных блоков, обычно используемых в высокоскоростной связи, чтобы компенсировать ограничения входа/выхода. Эти блоки преобразуют данные между последовательным и параллельным интерфейсом в обоих направлениях. Архитектура процессора 64 – разрядная, тактовая частота процессора составляет 1.6 GHz. Также каждое ядро процессора имеет FPU (Floating Point Unit) – блок, производящий операции с плавающей точкой или математический сопроцессор двойной точности. Каждый FPU на каждом ядре имеет четыре конвейера, которые могут использоваться для выполнения скалярных инструкций с плавающей запятой. Каждый из конвейеров шестиступенчатый, имеет перестановочные инструкции для реорганизации векторных данных на лету; такой конвейер может выполнять не более восьми одновременных операций с плавающей запятой за такт.[10] Помимо этого, каждый процессор имеет центральный общий кэш – L2 (32Mb), а также двойной контроллер памяти (16 Gb внешней памяти DDR3, пропускная способность памяти 42.6 GB/s). Потребляемая мощность 55 Ватт, пиковая производительность 204.8 GFLOPS. [2]

5. Программное обеспечение компьютера Blue Gene/Q Sequoia

·      DynInst - мультиплатформенная библиотека патчинга исполнимого кода, разработанная в Университете Висконсина-Мэдисона и Университете Мэриленда, Колледж-Парк.

·      Valgrind - инструментальное программное обеспечение, предназначенное для отладки использования памяти, обнаружения утечек памяти, а также профилирования.

·      PAPI - переносимый интерфейс, реализованный в виде библиотеки, для доступа к счетчикам аппаратной производительности на различных современных микропроцессорах. Он широко применяется для сбора низкоуровневых метрик производительности (например, счетчики инструкций).

·      MPI (для C, C++) - программный интерфейс для передачи информации, который позволяет обмениваться сообщениями между процессами, выполняющими одну задачу.

·      OpenMP (для C, C++)  - открытый стандарт для распараллеливания программ.

·      UPC (Unified Parallel C) - расширение языка программирования Си, предназначенное для high-performance computing на масштабных параллельных компьютерах, в том числе на SMP/NUMA системах с общей памятью и с распределенной памятью.

·      Charm++ - параллельный объектно - ориентированный язык программирования на базе Си++. Разработан в лаборатории параллельного программирования Иллинойсского университета

·      Red Hat Enterprise Linux (RHEL) - дистрибутив Linux, разработанный «Red Hat» и ориентированный на коммерческий рынок. Red Hat Enterprise Linux выпускается в серверных версиях для x86-64, ARM64 и IBM Z, а также в настольной версии для x86-64. Вся официальная поддержка и обучение предоставляется вместе с программой сертификации Red Hat.[7]

Основная особенность дистрибутива - наличие коммерческой поддержки на протяжении 10 лет, с возможностью продления до 13 лет. Многие производители программного и аппаратного обеспечения включили RHEL в число поддерживаемых ими дистрибутивов Linux.

Red Hat Enterprise Linux - высокопроизводительная операционная система, играющая исключительную роль в IT-среде на протяжении уже почти 10 лет. В настоящее время Red Hat Enterprise Linux используется для развертывания важных приложений, например, на мировых биржах, в финансовых учреждениях, ведущих телекоммуникационных компаниях.

·      Compute Node Kernel - легковесное ядро, работающее на каждом узле и поддерживающее одно приложение, работающее для одного пользователя на этом узле. Compute Node Kernel является операционной системой на уровне узла для серии суперкомпьютеров IBM Blue Gene. Для того чтобы увеличить эффективность работы, были предприняты попытки реализовать CNK максимально простыми и понятными способами. Так, например, реализация составляет примерно 5000 строк кода на C++. Физическая память статически сопоставлена, CNK не нуждается и не предоставляет планирование или переключение контекста.

6. Система охлаждения

В суперкомпьютере Sequoia используется жидкостное охлаждение. Помимо этого вида охлаждения существует еще и воздушное охлаждение.[3]

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

Кроме того, использование систем жидкостного охлаждения помогает экономить средства. Специалисты считаю, что снижение эксплуатационных расходов в случае работы с жидкостями вместо воздуха составляет около 40%.

Об эффективности этих систем можно судить и по тому, что в списке наиболее производительных компьютеров мира TOP500 в настоящее время присутствуют несколько систем, которые используют жидкостное охлаждение. Есть и схожий рейтинг, GREEN500, в котором показаны наиболее производительные системы, которые используют те либо иные технологии. Здесь присутствуют еще более мощные компьютеры с системами охлаждения жидкостью, некоторые из них представлены в топ-10.

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

Рис. 4 - Серверная система охлаждения от компании IBM

7. Специализация под классы задач

·      квантовая химия

·      медико-биологические науки

·      моделирование природных явлений

·      вычислительная динамика жидкости 

·      молекулярная динамика

·      астрономия и космические исследования

·      наука о материалах

·      моделирование климата

Используется Sequoia для поддержки различных научных приложений, изучения астрономии, энергетики, человеческого генома, изменения климата и разработки ядерного оружия. 

Например, «Кардиоидный код» (Cardioid code) - проект, который моделирует электрофизиологию человеческого сердца, достиг почти 12 PFLOPS во время моделирования в режиме реального времени. Другими целями этого суперкомпьютера являются изучение астрономии, энергии, человеческого генома, климатических изменений и, конечно, ядерного оружия.

Еще один пример, решения очень важной задачи с помощью Sequoia IBM BlueGene/Q - это моделирование процессов в недрах Земли.

На сайте IBM[9] опубликовано сообщение о том, что специалисты исследовательского центра IBM Research, Техасского университета в Остине, Нью-Йоркского университета и Калифорнийского технологического института стали лауреатами премии Гордона Белла 2015 года за наиболее реалистичное воспроизведение процессов внутри Земли, управляющих движением плит.

На суперкомпьютере Sequoia IBM BlueGene/Q было выполнено моделирование по новым алгоритмам. По словам ученых, разработанная ими программа характеризуется рекордной параллельной эффективностью масштабирования (97%) до 1,6 миллионов ядер. Получение такого высокого результата стало возможно благодаря полному переосмысливанию вычислительного подхода: от математической модели и численных методов до массированной параллельной реализации. Специалисты IBM разработали численный метод, эффективно использующий массивно-параллельную архитектуру суперкомпьютера BlueGene/Q. Созданная ими модель включает более 600 миллиардов нелинейных уравнений. По словам ученых, модель поможет лучше воспроизвести процессы в недрах Земли, понять причины возникновения землетрясений и вулканов, предсказать движение плит.[11]

 

1.     https://www.osp.ru/netcat_files/18/10/06_Vysokoproizvoditel_nye_resheniya_ot_kompanii_IBM.pdf

2.     http://projects.csail.mit.edu/caos/2012-01-25-caos-bgq-v1-ed.pdf

3.     https://computation.llnl.gov/newsroom/integrating-sequoia-supercomputer

4.     https://habr.com/company/kingservers/blog/324110/

5.     https://parallel.ru/computers/reviews/BlueGene.html

6.     https://www.osp.ru/lan/2013/04/13035149/

7.     https://en.wikipedia.org/wiki/Red_Hat_Enterprise_Linux

8.     https://novate.ru/blogs/090116/34497/

9.     http://www-03.ibm.com/press/us/en/pressrelease/48151.wss

10.  https://www.theregister.co.uk/2011/08/22/ibm_bluegene_q_chip/

11.  https://www.ixbt.com/news/2015/12/09/sequoia-ibm-bluegene-q.html