Blue Gene — проект массово-параллельной архитектуры, разработанный для создания нескольких суперкомпьютеров и направленный на достижение скорости обработки данных, превышающей 1 петафлопс. На данный момент успешно освоена скорость почти в 20 петафлопс. Является совместным проектом фирмы IBM (подразделение Rochester MN и Исследовательский центр Томаса Уотсона[англ.]), Ливерморской национальной лаборатории, Министерства энергетики США (которое частично финансирует проект) и академических кругов. Предусмотрено три этапа проекта: Blue Gene/L, Blue Gene/P и Blue Gene/Q.
Проект был награждён Национальной Медалью США в области технологий и инноваций 18 сентября 2009 года. Президент Барак Обама вручил награду 7 октября 2009[1].
В декабре 1999 года IBM объявила о инициативе исследования длительностью пять лет и бюджетом в 100 млн долл. США по созданию массово параллельных компьютеров, которые должны применяться для изучения таких биомолекулярных явлений, как сворачивание белка. Проект преследовал две основные цели: улучшить наше понимание механизмов, лежащих в основе сворачивания белка с помощью крупномасштабного моделирования, а также изучить новые идеи в массивно-параллельной архитектуре машин и программного обеспечения.
Основными областями исследования являются:
Первоначальный проект для Blue Gene был основан на ранней версии Cyclops64 архитектуры, разработанной Деннеем Монти . На начальном этапе работы по исследованию и разработке выполнялись в IBM TJ Watson Research Center.
В IBM, Алан Гар начал работать над расширением QCDOC архитектуры в суперкомпьютер более общего назначения: четыре близких друг к другу сетей с внутрисистемной коммутацией были заменены на сеть с поддержкой маршрутизации сообщений с любого узла в любой другой, а также была добавлена подсистема параллельного ввода/вывода. Министерство энергетики начало финансировать развитие этой системы, и она стала известна как Blue Gene/L (L как Light). Разработка оригинальной Blue Gene системы продолжилась под названием Blue Gene/С (С как Циклоп), а позднее была переименована в Cyclops64.
Каждое следующее поколение системы Blue Gene получала своё название. Так, второе поколение суперкомпьютеров (представлено в 2007 году) получило название Blue Gene/P, третье (представлено в 2011 году) — Blue Gene/Q.
Blue Gene/L — это первый компьютер серии IBM Blue Gene, разработанный совместно с Ливерморской национальной лабораторией. Его теоретическая пиковая производительность составляет 360 терафлопс, а реальная производительность, полученная на тесте Linpack, около 280 терафлопс. После апгрейда в 2007 году реальная производительность увеличилась до 478 терафлопс при пиковой производительности в 596 терафлопс. Blue Gene/C подмножество для архитектуры Cyclops64.
В ноябре 2006 года 27 компьютеров из списка TOP500 имели архитектуру Blue Gene/L.
Blue Gene/ L суперкомпьютер был уникальным в следующих аспектах:
Blue Gene/L архитектура — это эволюция QCDSP- и QCDOC-архитектур. Каждый Blue Gene/L узел вычисления или ввода/вывода — это одиночная ASIC (интегральная схема специального назначения), объединённая с DRAM чипом памяти. ASIC оснащена двумя встроенными 700 МГц-процессорами PowerPC 440 (каждый с двухканальным математическим сопроцессором (FPU) двойной точности), кэшем подсистемы со встроенным контроллером DRAM и логикой для поддержки нескольких коммуникационных подсистем. Двойной FPU дал каждому Blue Gene/L узлу теоретическую пиковую производительность в 5,6 Гфлопс. Процессоры не объединены когерентным кэшем.
На одну вычислительную карту помещаются по два вычислительных узла, на одну плату помещается по 16 вычислительных карт плюс не более 2 узлов ввода/вывода. В одну стойку помещается до 32 плат. При интеграции всех необходимых систем на один чип и использовании логических элементов малой мощности каждый узел вычисления или ввода/вывода тратит малую мощность (около 17 ватт, включая расходы DRAM). Это позволяет очень плотно упаковывать до 1024 вычислительных узлов (плюс дополнительные узлы ввода/ вывода) в стандартную 19-дюймовую стойку, обеспечивая её источниками электропитания и воздушного охлаждения в разумных пределах. Показатели эффективности с точки зрения флопс на ватт, флопс на квадратный метр площади и флопс на единицу стоимости позволяет масштабировать систему до очень высокой производительности. С таким большим количеством узлов сбои в работе компонентов неизбежны. Поэтому система может электрически изолировать ряд неисправных компонентов, чтобы продолжать нормально функционировать.
Каждый Blue Gene/L узел подключается к трем параллельным сетям связи:
Узлы ввода/вывода, на которых работает ОС Linux, обеспечивают связь с хранилищем и внешними узлами через Ethernet сети. Узлы ввода/вывода обрабатывают операции с файловой системой вычислительных узлов. Наконец, отдельные и частные сети Ethernet сеть обеспечивает доступ к любому узлу для конфигурации, загрузки и диагностики.
Чтобы разрешить запуск нескольких программ одновременно, Blue Gene/L система должна быть разделена на электронно-изолированные разделы узлов. Число узлов в разделе должно быть кратным степени 2, по крайней мере, 25 = 32 узлов. Для запуска программы на Blue Gene/L, раздел сначала резервируется. Затем программа загружается и запускается на всех узлах в пределах раздела, и никакая другая программа не может получить доступ к узлам в пределах раздела, пока раздел используется. После завершения раздела узлы освобождаются для запуска следующих программ.
Вычислительные узлы Blue Gene/L используют максимально облегченную ОС, поддерживающую одну программу пользователя. Поддерживается только часть POSIX процедур, и одновременно только один процесс может работать на узле в режиме сопроцессора или один процесс на процессоре в виртуальном режиме. Программистам необходимо использовать Green threads для имитации локального параллелизма. Разработка приложений, как правило, выполняется в C, C++ или Fortran с использованием MPI для связи. Так же возможна разработка на некоторых скриптовых языках, таких как Ruby и Python, так как они интегрированы в ОС вычислительных узлов.
Проект Cyclops64 был начат в ответ на разработку Earth Simulator — (система разработана Японским агентством аэрокосмических исследований и Японским институтом ядерных исследований в 1997 для исследования эффекта глобального потепления и решения проблем геофизики).
Cyclops64 является совместным проектом Департамента энергетики США (который частично финансирует проект), Министерства обороны США, промышленных корпораций (в частности, IBM) и академий.
Архитектура была придумана победителем Seymour Cray Award Деннеем Монти, который и в настоящее время руководит проектом.
Каждый 64-разрядный чип Cyclops64 работает на 500 МГц и содержит 80 процессоров. Каждый процессор имеет две нити потоков и математический сопроцессор (FPU). Каждая нить — это упорядоченное 64-разрядное RISC-ядро с 32 КБ дополнительной памяти, использующее 60-командное подмножество набора инструкций Power Architecture. Пять процессоров разделяют 32 Кб кэш инструкций.
Процессоры связаны через 96-й порт[уточнить] с матричным коммутатором. Они общаются друг с другом через глобальную разделяемую память (память, которую можно записывать и считывать всеми потоками) в SRAM.
Теоретическая пиковая производительность чипа Cyclops64 составляет 80 ГФлопс.
На одном процессоре работает две нити (два потока), на один чип помещается до 80 процессоров. На плату помещают 1 чип, далее на промежуточную плату устанавливают до 48 плат. В одну стойку влезает по 3 промежуточных платы. Система может включать до 96 (12х8) стоек.
То есть полная система содержит 13 824 Cyclops64 чипов, состоящих из 1 105 920 процессоров, на которых способны работать 2 211 840 параллельных потоков.
Cyclops64 предоставляет большую часть своих аппаратных возможностей для программирования, позволяя программисту писать очень высоко производительное и тонко настроенное программное обеспечение. Негативным моментом является трудность программирования под Cyclops64
В данный момент ведутся исследования и разработки, что система могла поддерживать TiNy-Threads (библиотека потоков, разработанная в Университете штата Делавэр) и POSIX Threads.
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 содержит 4096 процессорных ядер[2].
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, нужны для надёжности. Если на одном из ядер процессора был зафиксирован сбой, оно может быть отключено и переведено на «скамейку запасных». Собственно, обнаружение и изменение конфигурации «ошибочного» ядра может быть проведено на любом этапе производства или сборки системы — не только когда чип уже тестируется, но и на ранних этапах, например, инсталляции чипа в вычислительный кластер. В случае с IBM Sequoia будет использоваться около 100 000 чипов, для того чтобы достичь заветных 20 петафлопс. Огромное количество процессоров делает задачу переназначения ядер очень важной: в компании IBM подсчитали, что при данном (100 тысяч) количестве чипов в суперкомпьютере каждые 3 недели в среднем будет выходить из строя 1 процессорный блок.
Также известно, что в Blue Gene/Q реализована поддержка транзакционной памяти не на программном, а аппаратном уровне[9].
Стоимость Blue Gene/Q (при использовании коммерческих цен) оценивается The Register приблизительно в 150 млн долларов США за каждый петафлопс[10].
Всего из десяти самых мощных суперкомпьютеров в списке Top500 на ноябрь 2014 года 4 построены на платформе Blue Gene/Q.
[26] Согласно последнему списку TOP500 (от ноября 2013 года) суперкомпьютеры, построенные по архитектуре Blue Gene, всё ещё не теряют своих позиций.
Рейтинг | Место нахождение | Система | Кол-во ядер | Максимальная скорость (ТФлопс/с) | Пиковая скорость (ТФлопс/с) | Энергопотребление (кВт) |
---|---|---|---|---|---|---|
3 | Ливерморский ИЦ (США) | Sequoia — BlueGene/Q, Power BQC 16C 1.60 GHz, Custom IBM | 1572864 | 17173,2 | 20132,7 | 7890 |
5 | Аргонская НЛ (США) | Mira — BlueGene/Q, Power BQC 16C 1.60 GHz, Custom IBM | 786432 | 8586,6 | 10066,3 | 3945 |
8 | Юлихский ИЦ (Германия) | JUQUEEN — BlueGene/Q, Power BQC 16C 1.600 GHz, Custom Interconnect IBM | 458752 | 5008,9 | 5872,0 | 2301 |
9 | Ливерморский ИЦ (США) | Vulcan — BlueGene/Q, Power BQC 16C 1.600 GHz, Custom Interconnect IBM | 393216 | 4293.3 | 5033.2 | 1972 |
15 | СКЦ Сиена, г. Болонья (Италия) | Fermi — BlueGene/Q, Power BQC 16C 1.60 GHz, Custom IBM | 163840 | 1788.9 | 2097.2 | 822 |
23 | Лаборатория Дарсбери, г. Варрингтон (Великобритания) | Blue Joule — BlueGene/Q, Power BQC 16C 1.60 GHz, Custom IBM | 114688 | 1252.2 | 1468.0 | 575 |
27 | Университет Единбурга (Великобритания) | DiRAC — BlueGene/Q, Power BQC 16C 1.60 GHz, Custom IBM | 98304 | 1073.3 | 1258.3 | 493 |
38 | Политехнический институт Ренсселера (США) | BlueGene/Q, Power BQC 16C 1.60 GHz, Custom IBM | 81920 | 894.4 | 1048.6 | 411 |
45 | Академия наук (Франция) | BlueGene/Q, Power BQC 16C 1.60 GHz, Custom IBM | 65536 | 715.6 | 838.9 | 329 |
46 | Компания EDF R&D, г. Париж (Франция) | Zumbrota — BlueGene/Q, Power BQC 16C 1.60 GHz, Custom IBM | 65536 | 715.6 | 838.9 | 329 |
47 | Швейцарский национальный СКЦ (Швейцария) | EPFL Blue Brain IV — BlueGene/Q, Power BQC 16C 1.600 GHz, Custom Interconnect IBM | 65536 | 715.6 | 838.9 | 329 |
48 | Victorian Life Sciences Computation Initiative (Австралия) | Avoca — BlueGene/Q, Power BQC 16C 1.60 GHz, Custom IBM | 65536 | 715.6 | 838.9 | 329 |
57 | Организация по изучению высокоэнергетических ускорителей (Япония) | SAKURA — BlueGene/Q, Power BQC 16C 1.60 GHz, Custom IBM | 49152 | 536.7 | 629.1 | 247 |
58 | Организация по изучению высокоэнергетических ускорителей (Япония) | HIMAWARI — BlueGene/Q, Power BQC 16C 1.600 GHz, Custom Interconnect IBM | 49152 | 536.7 | 629.1 | 247 |
67 | Аргонская НЛ (США | Intrepid — Blue Gene/P Solution IBM | 163840 | 458.6 | 557.1 | 1260 |
77 | Ливерморский ИЦ (США) | Dawn — Blue Gene/P Solution IBM | 147456 | 415.7 | 501.4 | 1134 |
87 | Рочестер IBM (США) | BlueGene/Q, Power BQC 16C 1.60 GHz, Custom IBM | 32768 | 357.8 | 419.4 | 164 |
88 | Рочестер IBM (США) | BlueGene/Q, Power BQC 16C 1.60 GHz, Custom IBM | 32768 | 357.8 | 419.4 | 164 |
89 | Университет Торонто (Канада) | BGQ — BlueGene/Q, Power BQC 16C 1.600 GHz, Custom Interconnect IBM | 32768 | 357.8 | 419.4 | 164 |
216 | Аргонская НЛ (США) | Vesta — BlueGene/Q, Power BQC 16C 1.60 GHz, Custom IBM | 16384 | 189.0 | 209.7 | 82 |
217 | Аргонская НЛ (США) | Cetus — BlueGene/Q, Power BQC 16C 1.600 GHz, Custom Interconnect IBM | 16384 | 189.0 | 209.7 | 82 |
218 | Федеральная политехническая школа Лозанны (Швейцария) | CADMOS BG/Q — BlueGene/Q, Power BQC 16C 1.600 GHz, Custom Interconnect IBM | 16384 | 189.0 | 209.7 | 82 |
219 | Рочестер IBM (США) | BlueGene/Q, Power BQC 16C 1.600 GHz, Custom Interconnect IBM | 16384 | 189.0 | 209.7 | 82 |
220 | IBM ИЦ им. Томаса Ватсона (США) | BlueGene/Q, Power BQC 16C 1.60 GHz, Custom IBM | 16384 | 189.0 | 209.7 | 82 |
221 | Междисциплинарный центр математического и компьютерного моделирования, Варшавский университет (Польша) | BlueGene/Q, Power BQC 16C 1.600 GHz, Custom Interconnect IBM | 16384 | 189.0 | 209.7 | 82 |
222 | Рочестер IBM (США) | BlueGene/Q, Power BQC 16C 1.60 GHz, Custom IBM | 16384 | 189.0 | 209.7 | 82 |
Самым быстродействующим компьютером из построенных на Blue Gene архитектуре является Sequoia. Сейчас он находится на третьем месте, но в июне 2012 года занимал первую строчку рейтинга TOP500. По энергоэффективности он всё же обходит лидера (17808 кВт) и серебряного призёра (8209).