2017/12/13 16:32:54

Исторический этап: Как изменились принципы построения крупнейших суперкомпьютеров

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

Содержание

Появление AI-суперкомпьютеров

Китайская гегемония в Top500 суперкомпьютеров мира сохранится до июня 2018 года, вплоть до публикации 51-ой редакции этого списка на европейской конференции SC18, когда на сцену выйдет компьютер Summit корпорации IBM с рекордной планируемой производительностью 300 петафлопсов. Это утверждение совершенно достоверно, потому что монтаж первых стоек Summit уже начался в 2017 году в национальной лаборатории Oak Ridge и оставшегося времени вполне достаточно на доведение этого суперкомпьютера до состояния полной готовности.

Параллельно с Summit в другой лаборатории Lawrence Livermore IBM введет в строй компьютер Sierra. Его планируемая производительность меньше – 100 петафлопсов. А в 2021 году появится первый экзафлопсный компьютер Aurora, создаваемый Intel.

Хотя продукты IBM и Intel имеют мало общего между собой, тем не менее они объединены общей новой парадигмой HPC – оказалась, что будущие суперкомпьютеры с префиксом экза создавать по силам только самым крупным вендорам, владеющим всем комплексом необходимых технологий, то есть производящим процессоры и имеющим огромный системотехнический потенциал. Впредь изделиям, собираемым из имеющихся на рынке компонентов (commodity), на вершину Top500 путь заказан.

Summit и Sierra строятся по принятому в 2014 году решению Министерства энергетики США о создании двух родственных по конструкции и архитектуре суперкомпьютеров для ядерных исследовательских центров, которые называют национальными лабораториями. По программе запуск обоих компьютеров планировался на 2017 год, но затем он был перенесен на 2018 год, поскольку к заданному времени три участника проекта - IBM, Nvidia и Mellanox - не успели собрать вместе все необходимые компоненты - CPU, GPU и сетевое оборудование.

Предполагаемая область применения Summit и Sierra существенно шире, чем у большинства существующих суперкомпьютеров. Summit и Sierra способны показать не только рекордные показатели на традиционных задачах: моделирование (modeling) и ситуационное моделирование (simulation), но к тому же они ориентированы на такие задачи, которые возникли лишь в новейший период, когда компьютеры перестают быть просто устройствами для расчетов, а превращаются в универсальные инструменты для работы с данными.

Эта трансформация затронула весь компьютинг, HPC не исключение. Лаборатории намереваются использовать Summit и Sierra для задач, связанных со слабым искусственным интеллектом, в основном, с машинным обучением, поэтому их называют AI supercomputers. Расширение сферы применения суперкомпьютеров рационально еще и с экономической точки зрения, оно способствует увеличению загрузки, что повышает эффективность инвестиций в эти машины, стоящие сотни миллионов долларов.

Summit и Sierra не только на порядок мощнее своих предшественников, таких как Titan, Mira и Sequoia. Их появление знаменательно еще и тем, что они будут построены не по тривиальной кластерной схеме, доминирующей сегодня в HPC, а по новой и более совершенной архитектуре. Ее отличают два основных признака:

  • Реализация двух альтернативных подходов к масштабированию – горизонтальное и вертикальное
  • Ориентация на работу с большими объемами данных

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

Ограничения классических суперкомпьютеров

Оба ограничения являются следствием весьма привлекательной возможности собирать мощные и дешевые конфигурации из простых модулей. С ограничениями приходилось мириться, потому что при формально равной производительности кластеры стоили на порядок меньше настоящих компьютеров - того, что называют «большим железом». Поначалу сборка кластеров вообще была студенческим занятием, и они выглядели примерно так, как показано на рисунке ниже, обычно в виде множества стоящих на стеллажах ПК. Они объединялись в сеть и нагрузка каким-то образом распределялась между ними. Позже с появлением тонких серверов и скоростных коммуникаций кластеры стали мэйнстримом в HPC.

Вернемся к ограничениям. Первое – все нынешние кластеры-наследники Beowulf гомогенны по своей природе и масштабируются только за счет увеличения числа узлов. Второе ограничение, следующее из первого – каждый из узлов кластера может работать только со своей памятью. Такую систему организации памяти называют распределенной. Распараллеливание счета по множеству простых узлов системы с распределенной памятью (горизонтальное масштабирование, scale out, SO) существенно дешевле, чем наращивание мощности систем с общей памятью (вертикальное масштабирование, scale up, SU).

Тем не менее кластеры все еще доминируют в Top500 и это объясняется чрезвычайно просто – такие системы дешевы, разумеется, относительно, и их собирать могут фирмы, не обладающие серьезной производственной базой и высоким уровнем технической экспертизой.

Компаниям, насчитывающим несколько десятков сотрудников, ничего не стоит собрать нечто из имеющихся на рынке компонентов, и дать этому громкое название, желательно, по имени академика, а себя объявить суперкомпьютерными фирмами.

Как это было - кластер Beowulf, собранный из ПК

И все же кластер – это вынужденный инженерный компромисс, и, как у любого компромисса, у него есть оборотная сторона. Ее суть задолго до появления кластеров сформулировал в законе, названном в его честь, конструктор компьютеров Джин Амдал. В 1967 году он постулировал наличие непреодолимого ограничения на рост производительности при распараллеливании вычислений:

«
В случае, когда задача разделяется на несколько частей, суммарное время ее выполнения на параллельной системе не может быть меньше времени выполнения самого длинного фрагмента
»

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

Новый подход - ответ на новые вызовы

Времена меняются и меняются нагрузки для суперкомпьютеров. Кластеры, годящиеся для параллельных вычислений, оказались малопригодными для работы с большими объемами данных из-за необходимости гонять данные между узлами. Для современных задач требуется иная архитектура, которую можно назвать дата-центричной (data-centric), то есть ориентированная не только на скорость счета, но и на эффектность работы с большими объемами данных.

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

Появление Summit и Sierra стоит рассматривать как знаковое событие, поскольку оно нарушает эволюционный процесс, сохраняющийся в HPC со времен Beowulf. Но, разумеется, было бы ошибкой напрямую противопоставлять две модели компьютинга – новую дата-центричную и традиционную компьютеро-центричную (computer-centric), обе имеют право на существование и границы между ними размыты.

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

Эволюционный процесс в компьютинге

Исследователям из IBM удалось сформулировать основные предпосылки к созданию дата-центричных систем:

  • Количество данных возрастает и перемещение данных внутри систем постоянно возрастает в цене
  • Поэтому необходимо развивать аппаратные и программные средства таким образом, чтобы обрабатывать данные максимально близко к месту их хранения
  • Проектирование систем должно быть подчинено требованиям реальных приложений
  • Для повышения эффективности аналитики данных, моделирования (modeling) и ситуационного моделирования (simulation) необходимо обеспечить совместимость на системном уровне (composability)
  • При оценке систем учитывать не только алгоритмическую эффективность, но и качество потоков работ (workflow)


На рисунке ниже сравниваются существующие вычислительные системы с тем, какими они в идеале должны быть в будущем.

Сравнение традиционного и дата-центричного подходов


Задача создания систем с вычислениями, распределенными по разным уровням хранения данных, грандиозна, и она будет решаться еще неопределенно долго, это вопрос даже не близкого будущего. А до тех пор пока иерархия хранения и обработки данных остается без особенных изменений для создания дата-центричных систем следует использовать очевидные подходы: архитектуры узлов NUMA с возможностью вертикального масштабирования и высокопроизводительные каналы связи между CPU и GPU c ускорителями. На рисунке ниже показано последовательное движение компаний Mellanox, Nvidia и IBM в этом направлении.

Хотя по состоянию на 2017 год устройство Summit и Sierra не секрет, но имеет смысл вернуться к нему тогда, когда эти компьютеры буду объявлены, и будут формально оглашены их детальные технические характеристики. Пока же можно сказать, что Summit и Sierra являются суммой технологий трех компаний - процессоров IBM, графических процессоров Nvidia и коммуникационного оборудования Mellanox, из которых ключевая технология - это Power9.

Коэволюция продуктов компаний Mellanox, Nvidia и IBM в этом направлении

Процессоры Power9 производятся в двух вариантах, что позволяет реализовать оба способа масштабирования - SO и SU. В версии Power9 SO процессор подключается к памяти DDR4 напрямую, примерно также как Intel Xeon E5, в то время как старшая версия Power9 SU подключается к памяти через буфер, что ускоряет обмен и увеличивает доступную область общей для нескольких процессоров памяти, нечто похожее на Intel Xeon E7. В качестве узлов могут использоваться серверы с воздушным охлаждением, двумя CPU Power9 и четырьмя GPU Nvidia Tesla VT100 (Volta). В начале 2018 года появится сервер IBM Power System S922LC с водяным охлаждением и шестью VT100.

Технологии для ускорения обмена данными POWERAccel


На рисунке выше показана взаимосвязь технологий, ускоряющих обмен данными. Для интерфейсных и ускоряющих протоколов микроархитектуры Power9 предложено общее название POWERAccel. Ключевым моментом POWERAccel служит интерфейс CAPI (Coherent Accelerator Processor Interface), предложенный вместе с Power8. Качественная новизна этого интерфейса в том, что он открывает возможность для создания гетерогенных систем на уровне системных плат и дополняет CPU ускорителями, прежде всего — графическими процессорами GPU от Nvidia, а также FPGA.

В оригинальной версии интерфейс CAPI был реализован в процессоре Power8, где работал поверх PCIe Gen 3. С тех пор появились две новые версии - New CAPI и CAPI 2.0. Первая работает поверх PCIe Gen 4, а вторая в сочетании с новым стандартом 25G Link. Этот же стандарт поддерживает взаимодействие с ускорителями на основе GPU по NVLink. В состав POWERAccel входят средства, которые поддерживают криптографию и компрессию данных.

Создание Summit и Sierra в известном смысле факт исторического масштаба, он возвращает суперкомпьютерам ту утерянную ныне ими роль технологического локомотива, которую они играли в шестидесятые-восьмидесятые годы XX века. Теперь, руководствуюсь теми же принципами, по которым построены эти самые производительные компьютеры, можно распространить дата-центричные решения на системы меньшего масштаба, создаваемые в рамках инициативы OpenPower.

Смотрите также