Blue Gene  — проєкт комп'ютерної архітектури, розроблений для створення декількох суперкомп'ютерів і спрямований на досягнення швидкості обробки даних, що перевищує 1 петафлопс. Вже успішно досягнута швидкість майже в 20 петафлопс. Є спільним проєктом фірми IBM (Підрозділ Rochester MN і Дослідницький центр Томаса Ватсона[en]), Ліверморської національної лабораторії, Міністерства енергетики США (яке частково фінансує проєкт) та академічних кіл. Передбачено чотири етапи проєкту: Blue Gene/C, Blue Gene/L, Blue Gene/P і Blue Gene/Q.

Суперкомпютер Blue Gene/P в Аргонській національній лабораторії

Проєкт був нагороджений Національною Медаллю США в області технологій та інновацій 18 вересня 2009. Президент Барак Обама вручив нагороду 7 жовтня 2009.

Історія ред.

У грудні 1999 року IBM оголосила про дослідницьку ініціативу вартістю у 100 млн доларів для створення впродовж 5-ти років високо паралельних комп'ютерів, які повинні застосовуватися для вивчення бімолекулярних явищ, таких як згортання білків. Проєкт мав дві основні мети: щоб розширити наше розуміння механізмів які відповідають за згортання білків з допомогою великомасштабного моделювання, а також відкрити нові методи побудови високопаралельних суперкомп'ютерних архітектур та відповідного програмного забезпечення.

Початковий дизайн Blue Gene був побудований на ранній версії архітектури Cyclops64[en], яку розробив Монті Денеу[en]. На початковому етапі дослідження і розробка, здійснювалися у Дослідницькому центрі імені Томаса Ватсона. У IBM Алан Кара почав працювати над розширенням QCDOC[en] архітектури для розширення спектру виконуваних задач на суперкомп'ютері.

У листопаді 2004 року система яка мала 16 стійок, у кожній з яких 1024 обчислювальних вузлів, зайняла перше місце в рейтингу ТОП500, з продуктивністю у тесті Linpack в 70,72 TFLOPS. Тим самим вона обігнала NEC, Earth Simulator, який носив титул найшвидшого комп'ютера в світі з 2002 року. З 2004 по 2007 Blue Gene / L установлений в Ліверморській національній лабораторії поступово розширився до 104 стійок, і досягнув 478 TFLOPS в Linpack і 596 TFLOPS пікової продуктивності, та займав першу позицію в списку TOP500 протягом 3,5 років, поки в червні 2008 року його не змістив суперкомп'ютер IBM Roadrunner який був першою системою, продуктивність якої перейшла за 1 петафлопс.

Blue Gene/L ред.

 
Блок-схема чипа Blue Gene/L, що містить два ядра PowerPC 440

Blue Gene / L — це перший комп'ютер серії IBM Blue Gene, розроблений спільно з Ліверморської національної лабораторією. Його теоретична пікова продуктивність становить 360 терафлопс, а реальна продуктивність, отримана на тесті Linpack, близько 280 терафлопс. Після апгрейда в 2007 році реальна продуктивність збільшилася до 478 терафлопс при піковому продуктивності в 596 терафлопс. У листопаді 2006 року 27 комп'ютерів зі списку TOP500 мали архітектуру Blue Gene/L.

Основні характеристики ред.

The Blue Gene/L був унікальним у таких аспектах :

  • Зміна швидкості процесорів для зниження енергоспоживання. Blue Gene/L використовує процесорні ядра PowerPC, які мають низьку частоту і низьке споживання енергії, разом з блоком для операцій з плаваючою точкою. У той час як продуктивність кожного чипа була відносно низькою, система може досягти кращого відношення продуктивності до споживаної електроенергії, для програм які можуть використовувати більше число обчислювальних вузлів.
  • Два процесора на вузол з двома режимами роботи: в штатному режимі один процесор обчислювальний, другий займається комунікаціями; за відсутності пересилань обидва процесора можуть працювати як обчислювальні.
  • Дизайн SOC. Всі компоненти вузла знаходяться на чипі, крім 512 MB зовнішньої DRAM.
  • Велика кількість обчислювальних вузлів(масштабується від 1024 до 65,536)
  • Комунікаційна мережа: 3-вимірний тор[en] (в максимальній конфігурації вузла 64x32x32), пропускна здатність 175 Мб / сек. по кожному напрямку, латентність 1,5 мкс.
  • Операційна система: обчислювальні вузли — спеціальне легке ядро, вузли вводу-виводу — вбудована Linux, керуючі вузли — SuSE SLES 9 Linux

Blue Gene/P ред.

 
Ієрархія обчислювальних елементів Blue Gene

26 червня 2007 IBM представила Blue Gene/P, друге покоління суперкомп'ютерів Blue Gene. Розроблений для роботи з піковою продуктивністю в 1 петафлопс. Blue Gene/P може бути налаштований для досягнення пікової продуктивності більш, ніж 3 петафлопса. Крім того, він у сім разів більш енергетично ефективний ніж будь-які інші суперкомп'ютери. Blue Gene/P виконаний з використанням великої кількості невеликих, малопотужних чипів, що зв'язуються через п'ять спеціалізованих мереж.

Архітектура ред.

Кожен чип Blue Gene/P складається з чотирьох процесорних ядер PowerPC 450 з тактовою частотою 850 МГц. Чип, 2 або 4 ГБ оперативної пам'яті і мережеві інтерфейси утворюють обчислювальний вузол суперкомп'ютера. 32 обчислювальних вузла об'єднуються в карту (Compute Node card), до якої можна під'єднати від 0 до 2 вузлів вводу-виводу. Системна стійка вміщує в себе 32 таких карти.

Конфігурація Blue Gene/P з піковою продуктивністю 1 петафлопс являє собою 72 системні стійки, містять 294,912 процесорних ядер, об'єднаних в високошвидкісну оптичну мережу. Конфігурація Blue Gene/P може бути розширена до 216 стійок із загальним числом процесорних ядер 884,736, щоб досягти пікову продуктивність в 3 петафлопса. У стандартній конфігурації системна стійка Blue Gene/P містить 4,096 процесорних ядер.

Опис обчислювального комплексу ред.

  • 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
  • кеш 2-го рівня (L2): 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 МБ кеш-пам'яті третього рівня (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)

Blue Gene/P у світі ред.

12 листопада 2007 в Німеччині почала працювати перша система під назвою JUGENE з 65536 процесорами, в Jülich Research Centre, з обчислювальною потужністю в 167 терафлопс. Він став найбільш швидким суперкомп'ютером в Європі і шостим у всьому світі. Перша лабораторія в Сполучених Штатах використовує Blue Gene/P — Argonne National Laboratory. Перші стійки Blue Gene/P використовувалися до 2007 року. Перша установка була системою в 111-teraflop, яка мала приблизно 32,000 процесорів, і призначалася для науково-дослідного товариства США навесні 2008. Повній системі була присвоєна третя сходинка в листі Червневого Топ 500 2008 року. З 2008 року на факультеті ВМК МГУ імені М. В. Ломоносова працює суперкомп'ютер IBM Blue Gene/P.

Blue Gene/Q ред.

 
The IBM Blue Gene/Q

Blue Gene/Q — третє покоління архітектури. Метою розробників стало досягнення 20-петафлопсного рубежу в 2011 році. Blue Gene/Q є еволюційним продовженням архітектур Blue Gene/L і /P, працюючим на більш високій частоті і споживає менше енергії на один флопс продуктивності.

Архітектура ред.

BlueGene/Q — це мультиядерна, 64-бітна система на чипі, побудована за технологією PowerPC (якщо бути абсолютно конкретним, то це чотиритактних архітектура PowerPC A2). Кожен з чипів містить 18 ядер, разом набирають півтора мільярда (1,47) транзисторів. 16 ядер використовуються для, власне, обчислень, на одному працює операційна система, і, нарешті останнє ядро відповідає за надійність обчислень всієї системи. На частоті в 1,6 Ггц, кожен чип здатний видати 204,8 Гфлопс, споживаючи потужність в 55 Ватт. Природно, частиною чипа є і контролери пам'яті і операцій введення-виведення. Blue Gene/Q містить 4 блоки обчислень над числами з плаваючою комою, що дає 4 виконаних операції за один такт на кожному ядрі.

18 ядер, за твердженням співробітників IBM, потрібні для надійності. Якщо на одному з ядер процесора був зафіксований збій, воно може бути відключено і переведено на «лаву запасних». Власне, виявлення і зміна конфігурації «помилкового» ядра може бути проведено на будь-якому етапі виробництва або складання системи — не тільки коли чип вже тестується, а й на ранніх етапах, наприклад, інсталяції чипа в обчислювальний кластер. У випадку з Sequoia буде використовуватися близько 100 000 чипів, для того щоб досягти заповітних 20 петафлопс. Величезна кількість процесорів робить завдання перепризначення ядер дуже важливою: у компанії IBM підрахували, що при даному (100 тисяч) кількості чипів в суперкомп'ютері кожні 3 тижні в середньому буде виходити з ладу 1 процесорний блок. Також відомо, що в Blue Gene/Q реалізована підтримка транзакційної пам'яті не на програмному, а апаратному рівні.

Технічні характеристики ред.

  • Масштабування до 512 стійок, максимальна продуктивність до 100 петафлопс
  • Вбудований інтерконект 5D Torus забезпечуєвеличезну пропускну здатність
  • 4 об'єднаних модуля обчислень з плаваючою точкою FPU для інструкцій подвійний і четверний ширини SIMD — архітектури з подвійною точністю забезпечує більш високу продуктивність навіть при обробці однопотокових додатків
  • Упереджувальний вибірка для повторюваних звернень до пам'яті в довільно довгих сегментах коду забезпечує більш високу продуктивність при обробці однопотокових додатків
  • Багаторежимна кеш-пам'ять спільно з транзакційної пам'яттю виключають необхідність програмної обробки блокувань, спекулятивне виконання команд дозволяє OpenMP розпаралелити код з урахуванням залежності даних
  • Конвеєрна обробка атомарних операцій у кеш -пам'яті другого рівня з низькими затримками навіть при високому рівні конкуренції забезпечують швидку обробку завдань OpenMP
  • Модуль виведення з режиму сну дозволяє переводити потоки SMT у сплячий режим в очікуванні події, що дозволяє виключити витрати, пов'язані із збереженням регістрів
  • Сімнадцяте ядро обробляє переривання подій функцій надійності, доступності та зручності обслуговування (RAS) і зменшує рівень шуму і спотворень для операційної системи.

Порівняльна характеристика архітектур Blue Gene/P та Blue Gene/Q ред.

Характеристика Blue Gene/P Blue Gene/Q
Обчислювальний вузол
Процесор 32-bit PowerPC 450 64-bit PowerPC A2
Ядер на вузол 4 16 + 1 + 1
Частота 850 MHz 1.6 GHz
Пікова продуктивність на вузол 13.6 Gflops 204.8 Gflops
Когерентність кешу SMP hardware SMP hardware + speculation
L1 кеш 32 KB data; 32 KB instruction 16 KB data; 16 KB instruction
L2 кеш 2 KB; 14 stream prefetching, private 32 MB; 16 stream prefetching, shared
L3 кеш (розподілений) 8 MB n/a
Пам'ять на вузол 2 GB — 4 GB 16 GB
Пропускна здатність пам'яті 13.6 GB/s 43 GB/s
Floating-point блок (на ядро) 2 4
Мережа Тор
Топологія 3D 5D
Пропускна здатність (на вузол) 5.1 GB/s (6links*2way*425MB/s) 40 GB/s (10links*2way*2GB/s)
Апаратна затримка (найближчий сусід) <1 us <1 us
Апаратна затримка (найгірший випадок) 5 us 3 us
Колективна мережа
Пропускна здатність 5.1 GB/s 40 GB/s
Апаратна затримка(круговий обхід, найгірший випадок — 72 стійки) 3 us n/a
Властивості системи (на стійку)
Пікова продуктивність 13.9 Tflops 209.7 Tflops
Охолодження Повітряне 100 % Водяне 90 %, Повітряне 10 %
Енергоспоживання(пікове) ~32 kW ~100 kW
Енергоефективність (GFlops на Ватт) 0.37 2.1

Першою системою, побудованої з архітектури Blue Gene/Q, стала система Sequoia, яку встановили у Ліверморської національної лабораторії в 2011 році. Ця система розраховувала наукові програми лабораторії. Вона складається з 98304 обчислювальних вузлів, що містять 1,6 млн процесорних ядер і 1,6 Пб пам'яті. Розташовується система в 96 стійках, споживана потужність за проєктом становить 6 МВт.

Інша система архітектури Blue Gene/Q під назвою Mira буде встановлена в Аргонській національній лабораторії в 2012 році. Вона міститиме близько 50 тис. обчислювальних вузлів (16 ядер на вузол), 70 Пб дискового простору і мати рідинну систему охолодження.

Див. також ред.

Посилання ред.