Blue Gene — проект массово-параллельной архитектуры, разработанный для создания нескольких суперкомпьютеров и направленный на достижение скорости обработки данных, превышающей 1 петафлопс. На данный момент успешно освоена скорость почти в 20 петафлопс. Является совместным проектом фирмы IBM (подразделение Rochester MN и ), Ливерморской национальной лаборатории, Министерства энергетики США (которое частично финансирует проект) и академических кругов. Предусмотрено три этапа проекта: Blue Gene/L, Blue Gene/P и Blue Gene/Q.
Проект был награждён Национальной медалью США в области технологий и инноваций 18 сентября 2009 года. Президент Барак Обама вручил награду 7 октября 2009.
История В декабре 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 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 использует низкочастотные и маломощные встроенные ядра PowerPC с ускоренным вычислением операций с плавающей точкой. В то время как производительность каждого чипа относительно низка, система достигает более высокой производительности с меньшим энергопотреблением, просто используя большее число узлов. Два процессора на узел с двумя режимами работы: режим сопроцессора, в котором один процессор обрабатывает вычисления, а другой обрабатывает сообщения; режим виртуальных узлов, в котором оба процессора доступны для запуска пользовательского кода, но они или совместно вычисляют, или обрабатывают сообщения. Архитектура system-on-a-chip. Все узлы-компоненты системы встроены в один чип, за исключением 512 Мб внешней DRAM. Большое количество узлов (масштабируемое с шагом 1024 до, по крайней мере, ). Связь компонентов в виде трехмерного тора со вспомогательной сетью для глобальных коммуникаций (трансляции и сокращении), ввода/вывода и управления. Облегченная ОС на узел для минимальных накладных расходов системы (системные шумы).
Архитектура 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 узел подключается к трем параллельным сетям связи:
3D-тороидальная сеть по протоколу P2P (peer-to-peer) между вычислительными узлами, общая сеть для коллективной связи (транзакций и операций редуцирования, глобальная сеть прерываний для быстрой синхронизации.
Узлы ввода/вывода, на которых работает ОС Linux, обеспечивают связь с хранилищем и внешними узлами через Ethernet-сети. Узлы ввода/вывода обрабатывают операции с файловой системой вычислительных узлов. Наконец, отдельные и частные сети, Ethernet-сеть обеспечивает доступ к любому узлу для конфигурации, загрузки и диагностики.
Чтобы разрешить запуск нескольких программ одновременно, Blue Gene/L система должна быть разделена на электронно-изолированные разделы узлов. Число узлов в разделе должно быть кратным степени 2, по крайней мере, 25 = 32 узлов. Для запуска программы на Blue Gene/L раздел сначала резервируется. Затем программа загружается и запускается на всех узлах в пределах раздела, и никакая другая программа не может получить доступ к узлам в пределах раздела, пока раздел используется. После завершения раздела узлы освобождаются для запуска следующих программ.
Программное обеспечение Вычислительные узлы Blue Gene/L используют максимально облегченную ОС, поддерживающую одну программу пользователя. Поддерживается только часть POSIX-процедур, и одновременно только один процесс может работать на узле в режиме сопроцессора или один процесс на процессоре в виртуальном режиме. Программистам необходимо использовать Green threads для имитации локального параллелизма. Разработка приложений, как правило, выполняется на C, C++ или Fortran с использованием MPI для связи. Так же возможна разработка на некоторых скриптовых языках, таких как Ruby и Python, так как они интегрированы в ОС вычислительных узлов.
Фотографии Blue Gene/L
Blue Gene/C (Cyclops64) Проект 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) стоек.
То есть полная система содержит Cyclops64 чипов, состоящих из , на которых способны работать параллельных потоков.
Программное обеспечение Cyclops64 предоставляет большую часть своих аппаратных возможностей для программирования, позволяя программисту писать очень высоко производительное и тонко настроенное программное обеспечение. Негативным моментом является трудность программирования под Cyclops64
В данный момент ведутся исследования и разработки, что система могла поддерживать TiNy-Threads (библиотека потоков, разработанная в Университете штата Делавэр) и POSIX Threads.
Blue Gene/P 26 июня 2007 года IBM представила Blue Gene/P, второе поколение суперкомпьютеров Blue Gene. Разработан для работы с пиковой производительностью в 1 петафлопс. Blue Gene/P может быть сконфигурирован для достижения пиковой производительности более, чем 3 петафлопса. Кроме того, он в семь раз более энергетически эффективен чем любые другие суперкомпьютеры. Blue Gene/P выполнен с использованием большого числа небольших, маломощных чипов, связывающихся через пять специализированных сетей.
Архитектура Каждый чип Blue Gene/P состоит из четырёх процессорных ядер с тактовой частотой 850 МГц. Чип оперативной памяти 2 или 4 ГБ и сетевые интерфейсы образуют вычислительный узел суперкомпьютера. 32 вычислительных узла объединяются в карту (Compute Node card), к которой можно подсоединить от 0 до 2 узлов ввода-вывода. Системная стойка вмещает в себя 32 таких карты.
Конфигурация Blue Gene/P с пиковой производительностью 1 петафлопс представляет собой 72 системные стойки, содержащие , объединённых в высокоскоростную оптическую сеть. Конфигурация Blue Gene/P может быть расширена до 216 стоек с общим числом процессорных ядер , чтобы достигнуть пиковую производительность в 3 петафлопса. В стандартной конфигурации системная стойка Blue Gene/P содержит 4096 процессорных ядер.
Blue Gene/P в мире Топалов Веселин Александров, болгарский шахматист, гроссмейстер (1992), шестой чемпион мира по шахматам по версии ФИДЕ (2005), в 2010 году подтвердил в интервью, что использовал Blue Gene/P суперкомпьютер во время его подготовки к матчу. Blue Gene/P компьютер был использован для имитации приблизительно одного процента коры головного мозга человека, содержащей с примерно . Проект IBM Kittyhawk была перенесена Linux на вычислительные узлы и продемонстрировала типовые Web 2.0 рабочие задачи, выполняемых в масштабе на Blue Gene/P. Результат запуска стандартного программного обеспечения Linux (например, MySQL) по тесту SpecJBB является одним из самых высоких за всю историю.