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

Среди задач, решаемых суперкомпьютерами и вычислительными кластерами, немало таких, которые требуют очень высокой производительности (см. врезку «Планы создания образцов перспективных суперкомпьютеров») — от нее зависит ценность получаемых результатов. В числе примеров — прогнозирование погоды и изменений климата, обработка сейсмических данных при добыче полезных ископаемых, анализ Больших Данных, обработка видео (видеоаналитика), инженерные расчеты, разработка медицинских препаратов. Какими же должны быть вычислительные системы, позволяющие успешно решать такие задачи?

 

Планы создания образцов перспективных суперкомпьютеров в мире

  • 2015–2017 годы — заказные суперкомпьютеры, оптимизированные для решения как задач с хорошей пространственно-временной локализацией работы с памятью (CF-задачи), так и задач с плохой пространственно-временной локализацией работы с памятью (DIS-задачи);
  • 2018–2020 годы — создание в лабораториях ядерно-оружейного комплекса DoE (NNSA) экзафлопсного суперкомпьютера эволюционного типа (путем улучшения существующих суперкомпьютеров и их экстенсивного развития);
  • после 2020 года — создание заказных специализированных суперкомпьютеров уровней зетта (2020 год) и йотта (2024 год), в которых будут применены такие технологии постмуровской эры, как Rapid Single Flux Quantum (RSFQ), Quantum Cellular Automata (QCA) и квантовые аналогово-спиновые;
  • после 2022 года — создание в лабораториях исследовательского комплекса DoE (OS/ASCR) экзафлопсного суперкомпьютера с высокими характеристиками реальной производительности на широком классе задач, а также выдающимися показателями энергопотребления, надежности и продуктивности программирования.

 

На четвертом Московском суперкомпьютерном форуме (МСКФ), проведенном издательством «Открытые системы» в октябре 2013 года в рамках выставки SofTool и при поддержке РАН, РФФИ, компаний «Т-платформы», РСК, Intel и nVidia, обсуждался широкий круг вопросов — от архитектуры, технологий и программирования до эксплуатации систем высокопроизводительных вычислений (HPC). Одной из фокусных тем стало использование в системах HPC графических процессоров (GPU). Графические процессоры в сочетании с традиционными для систем x86 вычислительными узлами пользуются сегодня особой популярностью у создателей суперкомпьютеров и вычислительных кластеров, в том числе у российских компаний «Т-Платформы» и «Открытые технологии». Высокий интерес к гибридным вычислительным системам наблюдается во всем мире, поскольку использование массивно-параллельной структуры GPU в высокопроизводительных вычислениях позволяет существенно ускорить решение критических задач (см. Рисунок 1).

Многоядерные процессоры в высокопроизводительных вычислениях
Рисунок 1. Семейство GPU Fermi лидирует среди систем HPC, оснащенных ускорителями.

 

Многоядерные процессоры в высокопроизводительных вычислениях
Рисунок 2. Построенный РСК суперкомпьютер МВС-10П в МСЦ РАН — крупнейшая система с процессорами Intel Xeon Phi, развернутая за пределами США. Она содержит 208 вычислительных узлов (производительностью по 2,5 Тфлопс) с двумя процессорами Intel Xeon E5-2690 (135 Вт) и двумя Intel Xeon Phi SE10X (300 Вт), памятью DDR3-1600 LV 64 Гбайт и интерконнектом FDR Infiniband. Система находится на 72-м месте в рейтинге Top500 (июнь 2013 года), на 30-м в Green500 и является самой большой в России. Общая пиковая производительность — 523,8 Тфлопс. Весь комплекс, включая три вычислительных шкафа и две инфраструктурные стойки, занимает менее 20 м2 и потребляет 222 кВт электроэнергии.

Между тем активно используется и альтернативное решение — процессоры стандартной архитектуры с большим число ядер. Как утверждают в Intel, системы на базе Intel Xeon Phi по ряду показателей уже догнали и обогнали системы с GPU. В России две системы на процессорах Phi построены российской группой компанией РСК: одна в Межведомственном суперкомпьютерном центре (см. Рисунок 2), другая в Южно-Уральском университете. О преимуществах и особенностях двух подходов на форуме рассказали Антон Джораев, руководитель направления профессиональных решений nVidia, и Николай Местер, директор Intel по развитию корпоративных проектов.

Проблемы на пути к экзафлопсным вычислениям (exascale), конечно, не ограничиваются выбором CPU или GPU: еще предстоит добиться максимальной производительности ядра, процессора и кластерного узла, довести энергопотребление до приемлемого уровня, обеспечить эффективное охлаждение системы, разработать методы и алгоритмы распараллеливания задач.

Это направление востребовано как в технических задачах, так и в исследованиях различного характера. Будущее высокопроизводительных вычислений определяют несколько ключевых элементов — аппаратных, программных и коммуникационных: производительность процессора, надежность и самовосстановление (заложенные в аппаратное и программное обеспечение), межсоединения (новые протоколы и аппаратное обеспечение), память (ее емкость и пропускная способность), энергоэффективность (в пределах 20 МВт на экзафлоп), а также модели программирования для параллельных вычислений. Вычисления такого масштаба потребуют не только высокой производительности, но и инноваций на всех уровнях, включая методы программирования и программное обеспечение.

ГИБРИДНЫЕ ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ

Высокопроизводительные вычисления эволюционируют от «централизованной обработки данных» на центральном процессоре к «совместной обработке» на CPU и GPU, считают в nVidia. Для реализации новой вычислительной парадигмы компания предложила архитектуру параллельных вычислений CUDA. На данный момент она представлена графическими процессорами GeForce, ION, Quadro и Tesla, которые обеспечивают необходимую базу для разработчиков ПО. CUDA позволяет существенно увеличить вычислительную производительность благодаря применению графических процессоров.

Многоядерные процессоры в высокопроизводительных вычислениях«GPU — ответ на вызовы будущего. Это максимальная производительность и энергоэффектив-ность, большое количество библиотек и ПО, графический потенциал»

Антон Джораев, руководитель направления профессиональных решений nVidia

До появления графических процессоров и гибридных вычислительных систем (CPU+GPU) разработчики использовали универсальные процессоры х86, однако, как подчеркивает Антон Джораев, данной архитектуре свойственны ограниченная масштабируемость, низкая производительность SIMD (неэффективное функционирование многопоточных приложений с распараллеливанием операций вследствие оптимизации для выполнения последовательного кода) и низкая эффективность (в том, что касается стоимости системы, ее энергопотребления и охлаждения).

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

«Мы считаем, что будущее HPC — это гибридные вычислительные системы. Для выполнения одной арифметической операции графическому процессору требуется на порядок меньше электроэнергии, чем процессору архитектуры х86. Среди существующих архитектур GPU обладают не только самой высокой энергоэффективностью, но и наивысшей производительностью. Кроме того, они превосходно справляются с задачами визуализации», — поясняет Антон Джораев. В качестве примера можно привести характеристики процессора Tesla K20X (см. Таблицу 1).

Многоядерные процессоры в высокопроизводительных вычислениях
Таблица 1. Характеристики графического процессора Tesla K20X.

 

Как следствие, многие суперкомпьютерные центры мира выбирают GPU при создании высокопроизводительных систем. 50 систем из списка Top500 уже построены на базе графических процессоров. В России на основе GPU (см. Рисунок 3) созданы треть суперкомпьютеров (16 систем). В списке самых энергоэффективных компьютеров Green500 гибридные системы занимают лидирующие места. Они более чем на 20% превосходят наиболее энергоэффективные системы на базе процессоров Intel. «С каждым новым поколением процессоров мы почти удваиваем энергоэффективность наших архитектур», — подчеркивает Антон Джораев.

Многоядерные процессоры в высокопроизводительных вычислениях
Рисунок 3. Планы компании nVidia по выпуску GPU.

 

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

Многоядерные процессоры в высокопроизводительных вычислениях
Рисунок 4. «Ускорители» Tesla K10, K20 и K20X GPU предназначены для самых требовательных нагрузок HPC, а платы nVidia GRID K1 и K2 улучшают качество графики в специализированных средах.

Только на рынки России и СНГ в 2013 году было поставлено более 20 млн GPU с CUDA (для систем всех классов — от суперкомпьютеров до ноутбуков). 65% академических институтов, решающих вычислительные задачи, применяют для расчетов именно графические процессоры. Для GPU создано большое количество библиотек ПО (nVidia и Open Source) и прикладных программных пакетов. Для инженерных расчетов на GPU можно использовать пакеты ANSYS Mechanical, Ansys Fluent, Abaqus/Standard (Silmulia), MSC Nastran, MSC Marc, Matlab, CST Microwave Studio и др.

GPU обеспечивает полноценную графику, в том числе и на виртуальных машинах, когда ресурсы графического процессора разделяются между несколькими ВМ. При этом технология аппаратной виртуализации графического процессора nVidia GRID vGPU позволяет виртуальным машинам взаимодействовать с GPU напрямую. Для виртуальных рабочих станций разработаны процессоры nVidia GRID K1 и K2 (см. Рисунок 4).

МНОГОЯДЕРНОСТЬ ДЛЯ КОНКРЕТНЫХ ЗАДАЧ

Активное участие в проектах высокопроизводительных вычислений принимает Intel. В списке Top500 доля систем на базе процессоров Intel превышает 80%. По словам Николая Местера, тактические подходы в HPC зависят от решаемых задач, например, для некоторых из них подходят векторные процессоры. С хорошо распараллеливаемыми процессами, такими как обработка графики, неплохо справляются многоядерные процессоры, а задачам, не поддающимся распараллеливанию на сотни тредов, требуется больше емкости памяти на каждое вычислительное ядро.

Многоядерные процессоры в высокопроизводительных вычислениях
Рисунок 5. Процессоры Intel Xeon Phi в форм-факторе PCIe производятся по технологическому процессу 22 нм, содержат более 50 вычислительных ядер и от 8 Гбайт памяти GDDR5, а кроме того, в них используются трехзатворные транзисторы. 

В Intel считают, что заказчикам нужно предоставить несколько вариантов решений — для разных типов задач. Для задач с меньшей степенью векторизации и параллелизма, где требуются большие объемы памяти на ядро и более «тяжелые» треды, подойдет уже проверенное семейство серверных процессоров Intel Xeon. Если необходимо большее число тредов с меньшими объемами памяти, можно воспользоваться разработанными Intel процессорами Xeon Phi с ядром x86 (см. Рисунок 5).

Процессоры Intel Xeon содержат меньшее число ядер с большей тактовой частотой. Такое многоядерное решение (multicоre) позволяет получить высокую производительность потока и нужное быстродействие для широкого спектра приложений и добиться хорошего соотношения «производительность на ватт» для последовательных и параллельных нагрузок.

По сравнению с Xeon многоядерная архитектура Phi (manycore) характеризуется большим количеством ядер, но сами вычислительные ядра меньше и потребляют меньше электроэнергии. У такого процессора производительность отдельного потока ниже, зато общая производительность выше — меньшая частота компенсируется большим параллелизмом. Поскольку используемые в нем программные средства те же, что и в Xeon, возможны быстрая адаптация приложений и их оптимизация.

Intel предусматривает три модели вычислений: во-первых, возможность применения ускорителей, когда часть операций выносится на специальные сопроцессоры (offload); во-вторых, симметричную модель — ядра Xeon работают на хосте совместно с ядрами сопроцессора Phi; в-третьих, использование исключительно процессоров Phi (native). Это и означает, что заказчик может выбрать подходящую модель. Однако будущее, как считают в Intel, за двумя последними вариантами (symmetric и native).

Важный фактор — удобство программирования наряду с возможностью оптимизации существующего ПО к той или иной архитектуре. Для этого Intel использует стандартные компиляторы: при компиляции программы просто задается соответствующий ключ (см. Рисунок 6). В отличие от CUDA, разрабатывать специальное ПО не требуется, и это важное преимущество.

Многоядерные процессоры в высокопроизводительных вычислениях
Рисунок 6. В отличие от графических ускорителей, продукты Intel Xeon Phi и Intel Xeon используют одни и те же языки, директивы, библиотеки и инструменты.

 

Выпущенный в прошлом году новый процессор Intel Xeon Phi 7120 обладает на 20–25% более высокой производительностью по сравнению с прежней версией (более 1,238 Гфлопс на операциях DP) и поддерживает память GDDR5 емкостью до 16 Гбайт с пропускной способностью 320 Гбайт/с. Его мощность составляет 300 Вт, а выпускается он на платах с активным или пассивным охлаждением либо вовсе без охлаждения.

Будущий процессор Phi под кодовым названием Khight Landing, производимый по тонкой технологии 14 нм, предусматривает более высокую степень интеграции компонентов (в частности, памяти). Предполагается выпуск разных форм-факторов: как автономного процессора, так и сопроцессора с интерфейсом PCIe.

Производительность системы в целом в значительной мере определяется подсистемой ввода-вывода. В контексте тенденции миниатюризации и удешевления решений для хранения данных — как быстрой кэш-памяти, так и массивов хранения данных большой емкости — активно развивается технология SSD. Intel предлагает специализированные высокопроизводительные и высоконадежные SSD для ЦОД (серии 910). В этом году компания намерена предоставить новые накопители SSD с увеличенной пропускной способностью и производительностью в IOPS.

Одной из ключевых технологий является технология фабрики — интерконнекта. Благодаря покупке ряда компаний-разработчиков, Intel активно развивает данное направление, так что можно ожидать, например, интеграции коммутационной фабрики с процессором и памятью.

ЭНЕРГОПОТРЕБЛЕНИЕ

Серьезной проблемой остается немалое энергопотребление высокопроизводительных систем (см. Рисунок 7). Сейчас оно составляет около 1200 пДж (пикоджоулей) на операцию, в то время как целевой показатель — 20 пДж, а по процессорной части (без учета системы охлаждения, интерконнекта и т. д.) — около 10 пДж. Таким образом, эти показатели предстоит снизить примерно в 60 раз.

Многоядерные процессоры в высокопроизводительных вычислениях
Рисунок 7. По данным nVidia, системы на базе процессоров Tesla являются лидерами по энергоэффективности.

 

Каждая смена поколений процессоров позволяет достичь 1,3–1,4-кратного улучшения в соотношении «производительность/энергозатраты». А в результате смены парадигмы многоядерности (multicore -> manycore) (см. Рисунок 8) количество вычислительных ядер увеличивается в десятки раз, что дает примерно четырехкратный выигрыш в производительности на каждом этапе. В целом каждые два года достигается 1,4–4-кратный выигрыш. Многоядерность позволит сократить разрыв с целевыми показателями энергоэффективности до 2–3-кратного. «Эту проблему можно решить за год-два даже при существующих технологиях. Причем не потребуется кардинально менять модель программирования, можно будет сохранить имеющееся ПО, оптимизировав его под многоядерную архитектуру», — подчеркивает Николай Местер.

Многоядерные процессоры в высокопроизводительных вычислениях
Рисунок 8. Архитектурные отличия процессоров multicore и manycore. В процессорах multicore большая часть транзисторов выполняет функции управления и кэширования, в то время как в процессорах manycore они находятся преимущественно в вычислительных модулях.

 

Еще одна проблема — память, пропускная способность которой имеет фундаментальное значение для НРС. Кроме того, необходимо добиться баланса емкости памяти и энергопотребления. Потребуется определенная емкость памяти на ядро.

Целевые показатели системы с экзафлопсной производительностью по оперативной памяти — пропускная способность 200–300 Пбайт/с и 2–3 пДж/бит. Память GDDR такими параметрами не обладает, и существующая технология все равно оставляет разрыв в 3–4 пДж/бит. Сейчас энергоэффективность памяти увеличивается недостаточно быстро — для ликвидации отставания понадобится внедрение новых технологий. Применение же внешней памяти требует большого числа разъемов, а из-за сложной разводки по плате энергоэффективность последней снижается. Как ожидается, к 2018 году удастся добиться 3–4-кратного улучшения (в пикоджоулях на бит передаваемой информации), но никак не 60-кратного.

Для достижения показателей в 2–3 пДж/бит нужно найти оптимальное соотношение емкости памяти, пропускной способности и энергопотребления. Вероятнее всего, иерархическая модель памяти сохранится, но память будет все глубже интегрироваться с процессором (Multipackage, Multichip Package, Direct Attached), что позволит на один-два порядка ускорить обмен данными между ними. Иначе говоря, отрасль продолжит двигаться по пути дальнейшей миниатюризации и упаковки.

С процессором можно интегрировать логику управления вводом-выводом (PCIe) и интерконнектом, а также графику (что уже используется на практике). «Пакетирование позволяет резко уменьшить цену, улучшить энергоэффективность, плотность, производительность и масштабируемость решения в целом. Будущее — за еще более интегрированными базовыми компонентами (см. Рисунок 9), представляющими собой решения для построения высокопроизводительных систем», — считает Николай Местер.

Многоядерные процессоры в высокопроизводительных вычислениях
Рисунок 9. Интеграция — ключ к успеху процессорных технологий.

 

ЧТО ДАЛЬШЕ?

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

Гетерогенность позволяет резко повысить производительность за счет специализации. Особенно важное значение приобретает появление специализированных процессоров на элементной базе нового поколения. Примером может служить специализированный 128-кубитовый аналогово-спиновый квантовый суперкомпьютер канадской компании D-Wave. Один процессор такого суперкомпьютера при решении одной из задач оптимизации функционирует на 4–6 порядков быстрее серверного узла на базе процессоров Intel Xeon.

Многоядерные процессоры в высокопроизводительных вычислениях«Интеграция различных компонентов на чипе дает преимущество на уровне системы — в цене, энергетике, плотности, масштабируемости и производительности»


Николай Местер, директор Intel по развитию корпоративных проектов

Как ожидается, в 2014 году на рынке появятся коммерческие версии «обучающихся» процессоров (Deep Learning), созданные на основе нейронных сетей и нейроморфных процессоров. При этом процессоры Deep Learning при выполнении некоторых задач станут работать в 150 раз быстрее, чем графические процессоры, а новые нейроморфные процессоры будут обладать функциями самовосстановления, адаптируемости и обучаемости. Так, созданные в Университете Пердью (США) тестовые образцы процессоров Deep Learning («глубокое обучение») в определенных случаях в 15 раз производительнее графических процессоров, и разработчики уверены, что смогут на порядок повысить их эффективность. Такие процессоры можно применять, в частности, для распознавания изображений, людей и объектов. Некоторые компании, например TeraDeep, уже разрабатывают коммерческие версии процессоров Deep Learning.

Тем временем компании IBM и Qualcomm уже создали нейроморфные процессоры, и последняя намерена в этом году начать коммерческие поставки таких изделий. Одно из их преимуществ — устойчивость к сбоям. Система сможет адаптироваться к отказам и при выходе из строя отдельных компонентов продолжит выполнение своей задачи, подобно биологическим организмам. С учетом огромного числа транзисторов в современных процессорах, каждый из которых может стать причиной отказа, это качество становится важным преимуществом.

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

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

Сергей Орлов — ведущий редактор «Журнала сетевых решений/LAN». С ним можно связаться по адресу: sorlov@lanmag.ru.