<<
>>

BlueGene

В качестве первого примера процессор а с массовым параллелизмом рассмотрим систему IBM BlueGene. Этот проект был задуман IBM в 1999 году как суперкомпьютер для решения вычислительных задач большой сложности в биологии.
В частности, биологи считают, что функции белка определяются его трехмерной структурой. Но определение формы даже одной небольшой молекулы белка на суперкомпьютерах того времени потребовало бы нескольких лет вычислений. При этом в человеческом организме около полумиллиона различных белков, некоторые из которых исключительно сложны, и нарушения в структуре любого могут приводить к серьезным наследственным заболеваниям. Очевидно, что для расчета трехмерной структуры всех человеческих белков требуется на несколько порядков повысить вычислительную мощность, и моделирование формы белковой молекулы — лишь одна из задач, на решение которых направлен проект BlueGene. Столь же сложные задачи из молекулярной динамики, моделирования климата, астрономии и даже финансового моделирования также требуют совершенствования суперкомпьютеров.

Почувствовав потребность рынка в суперкомпьютерах, в IBM вложили в разработку и постройку BlueGene 100 млн долларов.

В ноябре 2001 года появился и первый заказчик первого компьютера из семейства BlueGene под названием BlueGene/L. Заказчиком стала национальная лаборатория Ливмора, работающая под началом департамента энергетики США.

Целью проекта BlueGene была постройка МРР-машины, которая не только была бы самой быстрой, но и самой эффективной в отношении показателей те- рафлоп/доллар, терафлоп/ватт и терафлоп/м3. По этой причине в IBM отказались от принципов, которые были положены в основу разработки предыдущих МРР-машин и согласно которым применялись самые быстрые компоненты независимо от их цены. Вместо этого было решено выпустить собственный однокристальный компонент, работающий с умеренной скоростью и обладающий низким энергопотреблением, чтобы на его основе построить большую машину с эффективным расположением компонентов.

Первая микросхема появилась в июне 2003 года, а первая четверть BlueGene/L из 16 384 вычислительных узлов была полностью работоспособна в ноябре 2004. Тогда же она была сертифициро-

вана как самый быстрый на Земле суперкомпьютер с производительностью 71 терафлоп/с. Потребляя мощность 0,4 мегаватт, эта система оказалась в своем классе победителем и в гонке на эффективность энергопотребления с показателем 177,5 мегафлоп/ватт. В целом система должна содержать 65 536 узлов.

Сердцем системы BlueGene/L является узел, образованный из специализированной микросхемы, структура которой показана на рис. 8.32. Она состоит из двух ядер PowerPC 440, работающих с частотой 700 МГц. PowerPC 440 — это конвейеризованный сдвоенный суперскалярный процессор, популярный во встраиваемых системах. В каждом ядре имеется пара сдвоенных блоков выполнения операций с плавающей точкой (Floating Point Unit, FPU), что в сумме позволяет за один цикл выполнять 4 команды с плавающей точкой. Эти блоки дополнены поддержкой SIMD-команд, которые могут быть полезны при обработке массивов. Таким образом, в отношении производительности этот процессор никак нельзя причислить к рекордсменам.

Рис. 8.32. Специализированный микропроцессор в системе В1иеОепе/1_

Два процессора на этой микросхеме идентичны, но программируются отдельно. Первый предлагается использовать для вычислений, а второй — для взаимодействия с остальными 65 535 узлами.

На микросхеме поддерживаются три уровня кэширования. Кэш первого уровня раздельный, в нем 32 Кбайт отводится для команд и еще 32 Кбайт — для данных. Кэши первого уровня на двух процессорах не согласованы, так как стандартные ядра PowerPC 400 не поддерживают этой возможности, и было принято решение специально для этого проекта их не модифицировать. Размер объединенного кэша второго уровня составляет 2 Кбайта.

В действительности это не столько кэши, сколько буферы предвыборки. В кэшах второго уровня реализован механизм слежения друг за другом, благодаря которому поддерживается их согласованность. Третий уровень представлен объединенным целостным кэшем объемом 4 Мбайт, который совместно используется обоими кэшами второго уровня. Обращение к памяти, которое вызывает кэш-промах на первом уровне и кэш-попадание на втором, обрабатывается 11 тактов. При кэш-промахе на втором уровне кэш-попадание на третьем обрабатывается уже 28 тактов. Наконец, при кэш-промахе на третьем уровне приходится обращаться к главной памяти (DDR SDRAM), на что требуется около 75 тактов.

С кэшами второго уровня соединяется небольшой модуль памяти (SRAM). Модуль SRAM, в свою очередь, соединяется с JTAG-контактами и предназначается для отладки, загрузки и взаимодействия с главным хостом, на котором хранится системный стек, а также для предоставления семафоров и других средств синхронизации.

Для более высокого уровня в IBM была разработана специализированная плата, на которую устанавливается пара описываемых микросхем, а также оперативная память на 1 Гбайт. В будущих версиях на плату предполагается устанавливать до 4 Гбайт памяти. Микросхема показана на 8.33, а, плата — на рис. 8.33, б.

Рис. 8.33. BlueGene/L: микросхема (а), плата (б), панель (а), стойка (г), система {д)

Платы монтируются на встраиваемой панели, по 16 плат на панель, что дает 32 микросхемы (то есть 32 вычислительных процессора) на панель. Так как на каждой плате имеется SDRAM объемом 1 Гбайт, всего на панели получается 16 Гбайт памяти (рис. 8.33, в).

На следующем уровне 16 этих панелей вставляются в верхнюю часть стойки, другие 16 — в нижнюю, в результате в стойке размером 60 х 90 см оказываются 1024 процессора. Две группы панелей разделены переключателем, благодаря которому одну группу можно извлечь из системы для обслуживания, а на это время подключить резервную группу. Стойка показана на рис.

8.33, г.

Наконец, вся система, состоящая из 65 536 вычислительных и 65 536 коммуникационных процессоров, изображена на рис. 8.33, д. Имея 131 072 сдвоенных блока целочисленной арифметики и 262 144 сдвоенных блока выполнения операций с плавающей точкой, система должна обрабатывать за цикл до 786 432 команд. Однако один из блоков целочисленной арифметики предназначен для подготовки данных для блоков выполнения операций с плавающей точкой, поэтому максимальная производительность снижается до 655 360 команд за цикл, или

4,6 х 1014 команд в секунду. Таким образом, эта система является самым большим компьютером из всех построенных в мире.

Система представляет собой мультикомпьютер в том смысле, что ни один из процессоров не имеет непосредственного доступа к памяти, если не считать 512 Мбайт собственной памяти на плате. Ни у одной пары процессоров нет общей памяти. Кроме того, не поддерживается вызов страниц по требованию, поскольку для размещения страниц нет локальных дисков. Вместо этого в системе имеются 1024 узла ввода-вывода, которые соединяются с дисками и другими периферийными устройствами.

Несмотря на исключительные размеры системы, она довольно проста и в ней не используются какие-либо особенные технологии, за исключением, разве что, чрезвычайно плотного размещения узлов. Это не случайно, так как основными целями были надежность и доступность. Соответственно, весьма тщательно были спроектированы системы питания, охлаждения, кабельные системы и т. д., все это позволило поднять среднее время наработки на отказ до 10 дней.

Для подключения всех микросхем требуется масштабируемая и высокопроизводительная схема соединений. В качестве топологии был выбран трехмерный тор размером 64 х 32 х 32. Таким образом, каждой микросхеме требуются 6 линий связи: 2 для соседей, логически расположенных сверху и снизу, 2 для соседей с севера и юга, 2 для соседей с запада и востока (см. соответствующие обозначения на рис. 8.32). Конструктивно, каждая стойка на 1024 узла образует тор размером 8 х 8 х 16.

Пара соседних стоек соединяется в тор размером 8 х 8 х 32. Четыре пары стоек из одного ряда образуют тор размером 8 х 32 х 32, и, наконец, все 8 рядов дают тор размером 64 х 32 х 32.

Таким образом, все соединения являются двухточечными и работают на скорости 1,4 Гбит/с. Так как от каждого из 65 536 узлов к «следующим по порядку» узлам идут три линии связи, по одной на каждое измерение, общая пропускная способность системы составляет 275 Тбайт/с. Информационная емкость книги, которую вы держите в руках, включая рисунки в формате Encapsulated PostScript, составляет около 300 млн. бит, таким образом, BlueGene/L может за секунду передать внутри себя до 900 тысяч ее копий. Куда девать эти копии, и кто мог бы их прочесть — эти вопросы мы оставляем читателю.

Взаимодействие в трехмерном торе поддерживается в форме виртуальной сквозной маршрутизации (virtual cut through routing). Этот подход в чем-то напоминает коммутацию с сохранением и продвижением пакетов (см. раздел «Сопроцессоры»), за исключением того, что перед дальнейшим продвижением по линии связи пакеты целиком не сохраняются. Как только очередной байт пакета прибывает на транзитный узел, он передается вдоль маршрута далее, не дожидаясь получения всего пакета. Допускается как динамическая (адаптивная), так и статическая (фиксированная) маршрутизация. Для реализации виртуальной сквозной маршрутизации на микросхеме имеются несколько специализированных устройств.

В дополнение к основному трехмерному тору, обеспечивающему обмен данными, есть и другие коммуникационные сети. Вторая сеть имеет древовидную структуру. В системах с высокой степенью параллелизма, таких как BlueGene/L, для выполнения многих операций требуется участие всех узлов. В качестве примера рассмотрим задачу поиска наименьшего из 65 536 значений, каждое из которых хранится в отдельном узле. Если все узлы связаны в древовидную структуру, каждые два узла могут отправить вышестоящему узлу свои значения, тот может выбрать из них меньшее и передать его выше.

При таком подходе в корневой узел попадает лишь необходимый минимум информации (представьте, если бы каждый из 65 535 узлов непосредственно передал сообщение корневому узлу).

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

Четвертая и пятая сети построены на основе технологии Gigabit Ethernet. Одна из них соединяет узлы ввода-вывода с файловыми серверами, не входящими в систему BlueGene/L, а также с Интернетом; другая используется для отладки системы.

На каждом вычислительном и коммуникационном узле работает специализированная малая операционная система, поддерживающая одного пользователя и один процесс. Процесс может иметь два программных потока, по одному на каждый процессор в узле. Эта простая структура была выбрана за ее высокую производительность и надежность.

Для повышения надежности прикладная программа может создать точку сохранения, вызвав библиотечную процедуру. После того как в сети закончится передача всех еще не переданных сообщений, можно создать глобальную точку сохранения, чтобы при сбое системы задание можно было запустить с этой точки, а не с самого начала. Узлы ввода-вывода работают под управлением традиционной ОС Linux и поддерживают многозадачность. Дополнительную информацию о BlueGene/L можно найти в [2, 7, 8, 26].

<< | >>
Источник: Таненбаум Э.. Архитектура компьютера. 5-е изд. 2007

Еще по теме BlueGene:

  1. Л.О. Доліненко, В.О. Доліненко, С.О. Сарновська. Цивільне право України, 2006
  2. ЦИВІЛЬНЕ ПРАВО УКРАЇНИ
  3. ПЕРЕДМОВА
  4. Частина І ПРОГРАМА КУРСУ «ЦИВІЛЬНЕ ПРАВО УКРАЇНИ»
  5. Розділ І. Загальні положення цивільного права
  6. Тема 1. Поняття цивільного права. Предмет та метод, система цивільного права. Функції та принципи цивільного права
  7. Тема 2. Цивільне законодавство України
  8. Тема 3. Поняття, елементи та види цивільних правовідносин
  9. Тема 4. Здійснення цивільних прав і виконання обов’язків
  10. Тема 5. Захист цивільних прав та інтересів
  11. Тема 6. Об’єкти цивільних прав
  12. Тема 7.ФІЗИЧНІ особи як суб’єкти цивільного права
  13. Тема 8. Юридичні особи
  14. Тема 9. Держава як суб’єкт цивільного права. Територіальні громади та Автономна Республіка Крим як суб’єкти цивільного права
  15. Тема 10. Правочини: поняття, види. Умови чинності правочину
  16. Тема 11. Представництво і довіреність
  17. Тема П.Строки. Позовна давність
  18. Нормативний матеріал:
  19. Література
  20. Розділ ІІ Особисті немайнові права фізичних осіб