Описание вычислительного комплекса IBM Blue Gene/P

IBM Blue Gene/P — массивно-параллельная вычислительная система, которая состоит из двух стоек, включающих 8192 процессорных ядер (2 x 1024 четырехъядерных вычислительных узлов), с пиковой производительностью 27,9 терафлопс (27,8528 триллионов операций с плавающей точкой в секунду).

Характеристики системы:

  • две стойки с вычислительными узлами и узлами ввода-вывода
  • 1024 четырехъядерных вычислительных узла в каждой из стоек
  • 16 узлов ввода-вывода в стойке (в текущей конфигурации активны 8, т.е. одна I/O-карта на 128 вычислительных узлов)
  • выделенные коммуникационные сети для межпроцессорных обменов и глобальных операций
  • программирование с использованием MPI, OpenMP/pthreads, POSIX I/O
  • высокая энергоэффективность: ∼ 372 MFlops/W (см. список Green500)
  • система воздушного охлаждения

Стойка (rack, cabinet) состоит из двух midplane'ов. В midplane входит 16 node-карт (compute node card), на каждой из которых установлено 32 вычислительных узла (compute card). Midplane, 8 x 8 x 8 = 512 вычислительных узлов, — минимальный раздел, на котором становится доступна топология трехмерного тора; для разделов меньших размеров используется топология трехмерной решетки. Node-карта может содержать до двух узлов ввода-вывода (I/O card). Вычислительный узел включает в себя четырехъядерный процессор, 2 ГБ общей памяти и сетевые интерфейсы.

Микропроцессорное ядро:

  • модель: PowerPC 450
  • рабочая частота: 850 MHz
  • адресация: 32-битная
  • кэш инструкций 1-го уровня (L1 instruction): 32 KB
  • кэш данных 1-го уровня (L1 data): 32 KB
  • кэш предвыборки (L2 prefetch): 14 потоков предварительной выборки (stream prefetching): 14 x 256 байтов
  • два блока 64-битной арифметики с плавающей точкой (Floating Point Unit, FPU), каждый из которых может выдавать за один такт результат совмещенной операции умножения-сложения (Fused Multiply-Add, FMA)
  • пиковая производительность: 2 FPU x 2 FMA x 850 MHz = 3,4 GFlop/sec per core

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

Вычислительной узел:

  • четыре микропроцессорных ядра PowerPC 450 (4-way SMP)
  • пиковая производительность: 4 cores x 3,4 GFlop/sec per core = 13,6 GFlop/sec
  • пропускная способность памяти: 13,6 GB/sec
  • 2 ГБ общей памяти
  • 2 x 4 МБ кэш-памяти 2-го уровня (в документации по BG/P носит название L3)
  • легковесное ядро (compute node kernel, CNK), представляющее собой Linux-подобную операционную систему, поддерживающую значительное подмножество Linux-совместимых системных вызовов
  • асинхронные операции межпроцессорных обменов (выполняются параллельно с вычислениями)
  • операции ввода-вывода перенаправляются I/O-картам через сеть коллективных операций

Узел ввода-вывода:

  • не учитывается при расчете пиковой производительности
  • использует сеть коллективных операций для коммуникаций с вычислительными узлами
  • подключен к внешним устройствам через Ethernet-порт посредством 10-гигабитный функциональной сети
  • операционная система на основе Linux (Mini-Control Program, MCP) с минимальным набором пакетов, необходимых для поддержки клиента сетевой файловой системы и Ethernet-подключений

Коммуникационные сети:

  • трехмерный тор (three-dimensional torus)
    • сеть общего назначения, объединяющие все вычислительные узлы; предназначена для операций типа «точка-точка»
    • вычислительный узел имеет двунаправленные связи с шестью соседями
    • пропускная способность каждого соединения — 425 MB/s (5,1 GB/s для всех 12 каналов)
    • латентность (ближайший сосед):
      • 32-байтный пакет: 0,1 μs
      • 256-байтный пакет: 0,8 μs
  • глобальные коллективные операции (global collective)
    • коммуникации типа «один-ко-многим» (broadcast-операции и редукция)
    • используется вычислительными узлами для обменов с I/O-картами
    • каждый вычислительный узел и I/O-карта имеют три двунаправленные связи
    • пропускная способность каждого соединения — 850 MB/s (1,7 GB/s для двух каналов)
    • латентность (полный обход): 3,0 μs
  • глобальные прерывания (global interrupt)
    • операции барьеров и прерываний (глобальные AND- и OR-операции)
  • функциональная сеть
    • соединяет узлы ввода-вывода с внешним окружением
    • 10-гигабитная оптическая Ethernet-сеть
  • сервисная сеть (service/control)
    • загрузка, мониторинг, диагностика, отладка, доступ к счетчикам производительности
    • гигабитная Ethernet-сеть (4 соединения на стойку)

Чтобы разгрузить процессорное ядро от операций, связанных с передачей сообщений по сети трехмерного тора, используется устройство прямого доступа к памяти (direct memory access, DMA). Кроме уменьшения нагрузки на ядро, этот механизм уменьшает вероятность взаимной блокировки процессов, обменивающихся сообщениями, которая может возникнуть вследствие ошибок программиста.

Окружение Blue Gene/P включает

  • фронтэнд (front end node) — система, открытая для доступа по протоколу SSH; служит для доступа пользователей на вычислительный комплекс; вся связь с комплексом осуществляется только через эту машину; предназначена для разработки пользователями программ, компилирования проектов и постановки задач в очередь; работа с ней осуществляется в интерактивном режиме
  • сервисный узел (service node) — обеспечивает контроль над системой Blue Gene/P; к этой машине доступа по SSH нет
  • систему управления высокопроизводительной параллельной файловой системой IBM General Parallel File System (GPFS)

Назначение Модель Процессоры Количество
фронтэнд IBM pSeries 55A POWER5+ 2
сервисный узел 2
GPFS-серверы IBM x3650 Intel Xeon 16

Для коммутации оптических линий служит высокопроизводительный свитч IBM Ethernet Switch B08R cо 112 портами 10 Gb Ethernet: 64 порта используются для подключения узлов ввода-вывода вычислительной системы Blue Gene/P, 32 порта служат для подключения GPFS-серверов, управляющих параллельной файловой системой, к четырем портам подключены фронтэнды и сервисные узлы, остальные 12 портов используются для инфраструктурных нужд, либо зарезервированы для будущего использования. Гигабитный Ethernet скоммутирован на четыре 48-портовых свитча Cisco.

Для организации файлового хранилища используется 16 дисковых систем DS3512, каждая из которых включает по две дополнительных дисковых полки EXP3512. В основу сети хранения данных положены два 80-портовых коммутатора IBM System Storage SAN80B-4 Fibre Channel.

Текст составлен на основе 2-го издания книги «IBM System Blue Gene Solution: Blue Gene/P Application Development»