В индустрии HPC (главным образом в США) сегодня можно выделить три основных направления работ: выпуск коммерческих образцов суперкомпьютеров гиперпетафлопсного уровня и заказных специализированных вычислительных комплексов (2012–2017 годы) на базе результатов программы DARPA HPCS (2002–2010 годы) и аналогичных программ Китая и Японии; создание новых экзамасштабных технологий в рамках программы DARPA UHPC (2010–2020 годы) для систем с удельной эффективностью 50 GFLOPS/вт; а также выполнение программы DARPA STARnet (2013–2025/2030 годы) по оптимизации применения КМОП-технологий и работ по созданию новой элементно-конструкторской базы постмуровской эры для применения сначала в экзафлопсных проектах, а потом - при создании суперкомпьютеров зетта- и йоттауровня.

Результаты работ первого направления прослеживаются в таких коммерческих системах, как IBM Power 775 и Сray XE/XT, Cray XC30; K-компьютер; Tianhe-1A и Tianhe-2 (TH-2) . Причем в двух последних наиболее заметны три важнейшие особенности будущих экзафлопсных систем: иерархичность, гибридность и гетерогенность. Иерархичность - выделение уровней сетевой иерархии, на которых производится тесная связь компонентов по типу «каждый с каждым» посредством маршрутизаторов с большим количеством портов для сетей разного уровня иерархии и высокой суммарной пропускной способностью. Гибридность - применение в вычислительных узлах микропроцессоров с ядрами разного типа. Гетерогенность - применение в суперкомпьютерах неоднородных сегментов, ориентированных на решение конкретного типа задач и реализуемых на базе специализированных микропроцессоров, сетей и устройств. В TH-2 такой неоднородный по отношению ко всей системе сегмент реализуется на базе нескольких тысяч массово-мультитредовых микропроцессоров FT-1500 собственного производства.

Особый интерес в TH-2 представляет свойство гибридности, связанное с применением в вычислительных узлах этой системы массово-многоядерных микропроцессоров Xeon Phi - по количеству используемых микропроцессоров этого типа TH-2 сейчас лидирует. Данный микропроцессор, имеющий пиковую производительность в 1 TFLOPS, и причины его включения в TH-2 заслуживают внимательного анализа, в частности, для уточнения требований к будущим микропроцессорам с производительностью 10–20 TFLOPS, которые станут базовыми элементами экзамасштабных систем.

Tianhe-2 - свойство гибридности

Вычислительный узел TH-2 - это два 12-ядерных микропроцессора Xeon Ivy Bridge (2,2 ГГц, пиковая производительность 211,2 GFLOPS, в каждом ядре два треда) и шесть 57-ядерных Xeоn Phi (1,1 ГГц, 1,003 TFLOPS, технология 22 нм). Оперативная память вычислительного узла - 88 Гбайт, из которых 64 Гбайт - память Ivy Bridge, а 24 Гбайт - память Xeon Phi.

Микропроцессор Intel Xeon Phi

Микропроцессор Xeon Phi первого поколения имеет 61 ядро (в каждом ядре 4 треда, 512-разрядное SIMD-устройство), 8 контроллеров памяти с двумя 32-разрядными каналами каждый. Второе поколение этого семейства будет изготовлено уже по технологии 14 нм. В Xeon Phi два конвейера выполнения команд: для операций SIMD и с плавающей точкой; для целочисленных операций. За такт в эти конвейеры возможна выдача двух команд. В каждом ядре выполнение команд происходит в порядке следования (in order), что проще, чем выполнение не в порядке следования (out of order), как это реализовано в суперскалярных микропроцессорах. В каждом ядре имеется кэш-память команд и кэш-память данных уровня L1 объемом по 32 Kбайт, а также кэш-память уровня L2 объемом 512 Kбайт, кэш-память тегов адресов данных (применяется для обеспечения когерентности памяти L2 разных ядер микропроцессора). Кэш-памяти уровня L3 нет.

Внутренняя сеть микропроцессора - десять однонаправленных колец, пять в одну и пять в другую сторону. В состав пяти однонаправленных колец входят: 64-байтовое кольцо данных, два кольца команд (чтение и запись) и адресов; два кольца сообщений о подтверждении выполнения команд, управления потоком передач в кольце, обеспечения кэш-когерентности L2. Пропускная способность внутрикристальной сети - 220 Гбайт/с, суммарная пропускная способность интерфейсов восьми контроллеров памяти - 352 Гбайт/с.

Вычислительные узлы TH-2 в общей сложности содержат 32 000 микропроцессоров Ivy Bridge и 48 000 Xeоn Phi -всего 3 120 000 ядер, из которых 384 000 - «тяжелые» суперскалярные ядра Ivy Bridge и 2 736 000 - «легкие» ядра Xeоn Phi с небольшим количеством тредов, но мощными SIMD-устройствами. Пиковая производительность TH-2, определяемая исходя из тактовой частоты и количества выполняемых за такт операций, составляет 54,9 PFLOPS, из которых 6,75 приходится на Ivy Bridge и 48,14 - на микропроцессоры Xeon Phi.

На тесте HPL (Linpack, рейтинг Top500) для TH-2 получена реальная производительность 30,65 PFLOPS - явно виден вклад Xeon Phi, поскольку даже пиковая производительность суперскалярных микропроцессоров составляет лишь 6,75 PFLOPS. На двух реальных задачах (гидродинамика и микротурбулентность плазмы в торе) производительность одного Xeon Phi составляет лишь 70 и 80% от развиваемой производительности двух Ivy Bridge соответственно. Иными словами, реальная производительность Xeon Phi составляет 140–160% от реальной производительности Ivy Bridge. Такое соотношение вполне оправдывает использование Xeon Phi, но не соответствует соотношению пиковых производительностей - они в пять раз больше.

Почему в TH-2 был использован именно Xeon Phi, в чем вообще причина популярности этого микропроцессора, каковы его сильные и слабые стороны?

В работе на тесте SpMV умножения разреженной матрицы на вектор приведено сравнение Xeon Phi с суперскалярными микропроцессорами и графическими сопроцессорами. Тест SpMV всегда был важным в профессиональных кругах, но сейчас он приобретет особую популярность после выхода в начале июля 2013 года работы Джека Донгарры (автора рейтинга Top500), признавшего, что тест Linpack неадекватен современным приложениям и что полученные на нем результаты на самом деле вводят в заблуждение разработчиков, пользователей и политиков. Донгарра предложил ввести новый рейтинг на базе теста SpMV, в котором имеется интенсивная нерегулярная работа с памятью, что сильно снижает (в сравнении с Linpack) уровень развиваемой реальной производительности по отношению к пиковой, который зависит еще и от вида заполнения ненулевыми элементами разреженной матрицы.

В работе для 22 разреженных матриц разного заполнения ненулевыми элементами приводятся результаты для Xeon Phi (плата SE10P, пиковая производительность - 61(ядро) х 16 (операций/такт) х 1,05 ГГц = 1024 GFLOPS) в сравнении с разными микропроцессорами: NVIDIA Tesla C2050 (Fermi) - 448 CUDA-ядер, пиковая производительность 515 GFLOPS; Tesla K20 (Kepler) - 2,496 CUDA-ядер, 1 ТFLOPS; плата с двумя Intel Xeon X5680 (Westmere) - 12 ядер, 320 GFLOPS; плата с двумя Intel Xeon E5-2670 (Sandy Bridge) - 16 ядер, 330 GFLOPS. Получено, что реальная производительность Xeon Phi достигает на разных матрицах от 2,5 до 22 GFLOPS. На 11 матрицах из 22 процессор Xeon Phi превосходит GPU Kepler, но не более чем в два раза. GPU Kepler обычно лучше GPU Fermi, а GPU Fermi лучше SandyBridge, который в два раза лучше, чем Westmere. При этом доля реальной производительности от пиковой на тесте SpMV для всех микропроцессоров очень низкая: Westmere - 0,78–1,09%; SandyBridge - 1,36–2,12%; GPU Fermi - 0,68–2,52%; GPU Kepler - 0,5–1,3 %; Xeon Phi - 0,25–2,25 %.

Следует признать, что в большинстве случаев Xeon Phi оказался на тесте SpMV более производительным, однако выигрыш не такой уж большой, а в некоторых случаях был и проигрыш. Наиболее вероятной причиной этого являются временные затраты на работу с памятью - SIMD-устройство, от которого ожидалась высокая реальная производительность, оказывается без операндов и простаивает.

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

Результаты тестирования Xeon Phi

Для анализа был взят микропроцессор Xeon Phi 5110P 1,05 ГГц с пиковой производительностью одного ядра 16,8 GFLOPS и суммарной - 1,008 ТFLOPS. Он сравнивался с доступным на момент исследования двухсокетным узлом с 8-ядерными суперскалярными микропроцессорами Xeon E5-2660 Sandy Bridge (2,2 ГГц, пиковая производительность ядра - 17,6 GFLOPS), современником Xeon Phi.

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

Оценка на тестах с изменяемой нагрузкой

Тестирование с помощью APEX-поверхностей (тест Apex-map) позволяет определить количество тактов процессора, затрачиваемых при одном обращении к памяти на считывание в зависимости от синтезируемой тестом пространственной и временной локализации обращений. Для одного ядра Xeon Phi и Sandy Bridge такие поверхности похожи, но отличаются характеристиками -- в таблице приведены характеристики крайних точек APEX-поверхностей: L - лучшая пространственная и временная локализация; G - худшая одновременно пространственная и временная локализация; F - хорошая временная и плохая пространственная локализация; T - плохая временная и хорошая пространственная локализация.

Таблица. Задержки выполнения обращений на считывание в предельных режимах
Точки локализации Xeon Phi Xeon Sandy Bridge
1 тред 60 тредов 120 тредов 1 тред 16 тредов 32 треда
Точка L 1,7 0,2 0,3 1,1 0,1 0,1
Точка G 442,8 8,6 4,6 229,8 15,4 15,9
Точка F 48,1 2,0 0,8 7,5 0,8 0,5
Точка T 5,1 0,2 0,2 1,9 0,4 0,4

Наилучшая APEX-поверхность должна иметь плоскую форму - значения в точках L, G, F и T должны не сильно отличаться и быть как можно меньше. Однако, как следует из таблицы, оба микропроцессора таких свойств явно не обспечивают. Кроме того, оказалось, что в точках G и F для Xeon Phi большие задержки, что было неожиданностью, тем более что тактовая частота Xeon Phi вдвое больше.

При увеличении используемых тестом Apex-map ядер и тредов качество APEX-поверхностей улучшается, а наблюдаемые задержки выполнения операций с памятью заметно снижаются. Выравнивание характеристик микропроцессоров происходит при 120 тредах на Xeon Phi (можно запустить и 240 тредов) и 16 тредах на Sandy Bridge. При этом в точке G интенсивной нерегулярной работы с памятью процессор Xeon Phi теперь заметно превосходит SandyBridge. Это говорит о том, что на задачах с интенсивной нерегулярной работой с памятью Xeon Phi обладает преимуществом даже по отношению к двум Sandy Bridge, но это достигается лишь при запуске на нем в десять раз большего числа тредов, чем на паре Sandy Bridge. Такой результат был ожидаемым.

Развиваемая реальная производительность зависит от локализации в пространстве и во времени обращений к памяти, а локализация определяется применением тех или иных шаблонов доступа к данным в программах. Реальная производительность также зависит от баланса в программе вычислительных операций и операций обращений к памяти. Если вычислительных операций много, то на фоне их выполнения можно скрыть затраты на обращения к памяти. Для оценки влияния на реальную производительность одного и другого из перечисленных факторов в применяемой методике используются две группы тестов из набора Eurobench, в которых целенаправленно изменяется нагрузка на тестируемое оборудование.

Для оценки влияния шаблона обращения к памяти используется группа тестов поэлементного умножения векторов, в которых происходит усложнение доступа к элементам векторов: единичный шаг, шаг 3, шаг 4, по индекс-вектору. Ясно, что при таком усложнении доступа должна происходить деградация производительности. Это и происходит. При увеличении длины вектора производительность на тесте с единичным шагом меняется так: Xeon Phi - увеличивается сначала до 600 MFLOPS, а потом падает до 200 MFLOPS; Sandу Bridge - увеличивается до 3000 MFLOPS, а потом падает до 500 MFLOPS. При усложнении доступа деградация производительности по сравнению с тестом с единичным шагом такова: Xeon Phi - падение сначала до уровня 100 MFLOPS, а с увеличением длины вектора - до 30 и 10 MFLOPS; Sandу Bridge - падение до 1,5 GFLOPS (доступ с шагом 3 или 4) и 700 MFLOPS (доступ по индекс-вектору), с увеличением длины вектора - падение до уровня 200–50 MFLOPS. Итак, при хорошем шаблоне доступа к памяти производительноcть ядра Xeon Phi хуже, чем ядра Sandy Bridge, в 2,5–5 раз, а при ухудшении шаблона деградирует в 6–10 раз, в то время как Sandy Bridge - в 2–10 раз.

Для оценки влияния баланса вычислительных операций и операций с памятью использовалась группа тестов с увеличением количества вычислительных операций на обращение к памяти. Базовый тест этой группы - поэлементное умножение векторов с единичным шагом по элементам. Далее в тестах группы доля вычислительных операций увеличивалась. Предельный тест - вычисление для каждого элемента вектора полинома 9-й степени по схеме Горнера. В этом тесте на одно обращение к памяти приходится 18 вычислительных операций, возможно применение операций умножение-сложение, что в современных ядрах обычно выполняется с темпом один такт. Такое вычисление обычно позволяет приблизиться к пиковой производительности ядра. В проведенных исследованиях этот тест действительно позволил получить максимальную реальную производительность, которая вдобавок слабо зависит от длины вектора: Xeon Phi - около 3 GFLOPS (17,86% от пиковой), Sandу Bridge - около 9 GFLOPS (51,14% от пиковой).

Развиваемая на Xeon Phi реальная производительность тем не менее оказалась неожиданно небольшой.

Анатолий Мищенков ([email protected]) - СПбГПУ (Санкт-Петербург).

Известно, что Xeon Phi, благодаря встроенным в ядра SIMD-устройствам, обладает высокой суммарной пиковой производительностью, а что мешает реальной производительности приблизиться к пиковой? Как в реальном приложении получить производительность, близкую к пиковой? Были сделаны предположения, что ответ на первый вопрос даст детальный анализ причин возникновения больших задержек обращений к памяти, а ответить на второй поможет выяснение баланса вычислительных операций и операций с памятью, при которых можно приблизиться к пиковой производительности.

Для анализа задержек выполнения операций с памятью можно использовать тест одновременного обхода N списков:

While(count - > 0) {list1 = list1.next; list2 = list2.next; … listN = listN.next }

Переход по ссылке next в каждом списке - это новое нерегулярное обращение к памяти. При последовательном выполнении команд, что характерно для ядра Xeon Phi, из-за информационной зависимости операторы тела цикла будут выполняться последовательно. При выполнении команд не в порядке следования, что характерно для ядра Sandy Bridge, операторы выполняются параллельно, но только пока это позволяет микроархитектура ядра. Такое распараллеливание в SandyBridge увеличивает поток операций с памятью, это приводит к появлению толерантности ядра - видимые программой задержки выполнения операций с памятью уменьшаются.

Результаты оценки на таком тесте даны на рис. 1 (XeonPhi, толерантности нет) и рис. 2 (Sandy Bridge, толерантность есть). При больших длинах списков и большом их количестве разрыв величин задержек доходит до 100 раз. Это «цена» простоты или «легкости» ядра микропроцессора Xeon Phi, которая может свести на нет преимущества микропроцессора по пиковой производительности.

Если преобразовать тест обхода N списков, введя несколько тредов, и каждому из них выделить по некоторому количеству списков для обхода, то можно также увидеть появление свойства толерантности - уменьшение задержек обращений к памяти. Это происходит из-за увеличения потока операций с памятью, но уже по причине выполнения в ядре одновременно нескольких тредовых легких потоков, для которых аппаратные средства ядра обеспечивают ничтожно малые времена переключения. В ядре Xeon Phi для двух тредов задержка снижается до 200 тактов, для трех - до 145, а для четырех - до 100. В ядре Sandу Bridge можно запустить только два легких треда, что позволяет снизить задержку до 20–40 тактов. Итак, даже малая мультитредовость ядра Xeon Phi позволяет заметно снизить задержки обращений к памяти, доведя их до уровня отставания от Sandy Bridge в 2–5 раз вместо 100 раз, имевшихся в однотредовом варианте теста.

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

Результаты для полиномов 10-й (20 операций на обращение к памяти) и 32-й степени (64 операции на обращение к памяти) представлены на рис. 3. Видно, что для одного ядра производительность с увеличением количества тредов на ядре заметно растет даже при таком большом количестве вычислительных операций. Заранее это было неочевидно, а для больших длин векторов на полиноме 10-й степени такого увеличения действительно нет. Увеличение степени полинома до 32 позволяет при использовании 4 тредов на ядре выйти по реальной производительности на 70% от пиковой. Увеличение длины вектора, что означает выход за пределы кэш-памяти L2 ядра, заметно снижает реальную производительность, но при большой доле вычислительных операций (полином 32-й степени) это заметно в гораздо меньшей степени, хотя нестабильность измеряемой производительности на больших длинах векторов появляется.

Затем были проведены исследования с целью оценки эффективности использования множества ядер и тредов на тестах с большой долей вычислительных операций. Размер вектора был взят в 1 Мбайт, что больше кэш-памяти L2 ядра и предполагает некоторое количество промахов обращений к L2. Обслуживание промахов в условиях обеспечения кэш-когерентности всех ядер в Xeon Phi - сложный и затратный процесс, зависит от пропускной способности внутрикристальной сети, а она не так уж велика. Полученные результаты измерений пока до 32 ядер показали, что для вектора в 1 Mбайт реальная производительность с увеличением количества задействованных ядер и тредов увеличивается и удерживается на хорошем уровне для полинома с 32-й степенью, а для полинома 10-й степени заметна деградация уже после 16 ядер.

Добиться почти идеального результата по реальной производительности пока удалось лишь на тесте вида a[i] = a[i]*b[i] - c[i] при длине вектора в 16 элементов - 987 GFLOPS (97% от пиковой). На этом тесте обращений к памяти вообще нет, SIMD-операции запускаются на каждом такте, хотя они и находятся в теле цикла. Сказывается возможность запуска двух команд за такт, поэтому затраты на управление циклом здесь не видны, они прикрыты выполнением SIMD-операций.

Проведенное тестирование позволило сделать следующие выводы:

  • Большое количество ядер и тредов Xeon Phi обеспечивает его более высокую толерантность по отношению к суперскалярным микропроцессорам, что можно использовать для эффективного решения информационно-аналитических и других целочисленных задач с интенсивной нерегулярной работой с памятью.
  • Реальная производительность Xeon Phi в операциях над числами с плавающей точкой сильно зависит от загрузки SIMD-устройства, на что отрицательно влияют затраты на работу с памятью. Для обеспечения эффективности необходимо: использовать все треды ядра; стремиться к максимальной пространственно-временной локализации данных в ядре; обеспечить в десятки раз превосходящую долю вычислительных операций по отношению к операциям с памятью.
  • Применение большого количества ядер при ограниченной по пропускным способностям внутрикристальной сети и интерфейсов с памятью настоятельно требует применения новых технологий по их оптимизации. Кроме этого, необходимо усовершенствование применяемых моделей вычислений в плане сокращения обращений к памяти (потоковые модели), повышения асинхронности вычислений и толерантности к задержкам (мультитредовые модели и модели с разделением вычислительных процессов и процессов доступа к данным).

Измерения показали, что воспользоваться в реальных приложениях высокой пиковой производительностью Xeon Phi непросто, что и учли разработчики TH-2, инициировавшие проект реализации новой среды программирования OpenMCC на замену OpenMP, СUDA, OpenACC и OpenCL. Среда OpenMCC учитывает унификацию по системе команд ядер Xeon Phi и применяемых суперскалярных микропроцессоров, что позволяет свободнее проводить разделение работ между разными ядрами, управлять балансом загрузки ядер в процессе счета, повысить локализацию данных и вычислений, оптимизировать обмены. У разработчиков это не первый опыт создания автоматизированных средств параллельного программирования больших гибридных систем - для Tianhe-1A была создана программная инфраструктура TH-HPI , которая кроме обеспечения эффективности делала прозрачной для пользователя гибридность системы.

Следует напомнить, что базовая для TH-2 операционная система Kylin Linux оптимизирована для работы на многоядерных и мультитредовых системах, поддерживает средства виртуализации, позволяющие создавать гетерогенные облачные среды повышенной защищенности и включающие ресурсы гибридных вычислительных узлов, ресурсы сервисных узлов на массово-мультитредовых микропроцессорах FT-1500.

«Потомки» Xeon Phi для экзамасштабных систем

Создание массово-многоядерных мультитредово-потоковых микропроцессоров типа Xeon Phi - неизбежность современной индустрии HPC, а их недостатки (слабость внутренних и внешних интерфейсов, малая тредовость для обеспечения толерантности) непременно будут устраняться в микропроцессорах нового поколения, но того же типа. В качестве примеров таких будущих микропроцессоров можно указать на два создаваемых перспективных микропроцессора с производительностью более 10 ТFLOPS: микропроцессор проекта Echelon (NVIDIA и Сray) и микропроцессор проекта Corona (HP).

Гибридный микропроцессор проекта Echelon (ориентирован на технологию 10 нм) содержит 8 суперскалярных ядер и 256 потоковых блоков, в блоке по 8 мультитредовых ядер с поддержкой 64 тредов в каждом с использованием четырех активных тредовых каналов выдачи команд. Треды ядер могут выполняться как в асинхронном, так и синхронном режимах. Общее количество ядер в микропроцессоре составляет более 1032, а количество тредов - более 65 536. Пиковая производительность микропроцессора - 16 TFLOPS, пропускная способность интерфейса с памятью с 16 контроллерами - 2 Тбайт/с, а пропускная способность 16 интерфейсов с межузловой коммуникационной сетью - 0,4 Tбайт/c. В вычислительном узле микропроцессор работает с памятью объемом более 512 Гбайт. Создание экзафлопсной системы на базе такого микропроцессора планируется в 2018 году.

Микропроцессор проекта HP Corona (ориентирован на технологию 16 нм) содержит 256 однородных ядер (4 треда в каждом ядре). Пиковая производительность более 10 TFLOPS, он создается для приложений с интенсивной нерегулярной работой с памятью. Этот микропроцессор интересен применяемыми в нем новейшими технологиями: оптическая (нанофотонная) внутрикристальная сеть и интерфейсы на множестве кремниевых волноводов, в каждом из которых идет одновременная передача информации на 64 длинах волн; 3D-сборка кристаллов с соединениями, обеспечивающими интеграцию в плоскости кристаллов, а не по периметру; оптические соединения между 3D-сборками кристаллов с применением матриц микролинз и миниатюрных лазеров. Внутрикристальная 64-канальная сеть соединяет в кольце 64 кластера, каждый из которых имеет по 4 процессорных ядра. Кластер имеет свой собственный канал из 4 волноводов, каждый из которых одновременно передает информацию на 64 длинах волн. Читать данные из канала может кластер-собственник, а остальные кластеры могут в него только писать. За один такт (5ГГц) по одному только каналу передается 64 байт (кэш-строка). Общая пропускная способность внутрикристальной сети - 20 Тбайт/с. Потребление сети - 39 Вт. Интерфейс с оперативной памятью в HP Corona реализуется через 64 контроллера памяти, каждый по 160 Гбайт/с, энергопотребление памяти составляет 6,4 Вт, интерфейс каждого контроллера - два одиночных волновода по 64 длины волны в каждом, что суммарно оставляет 10 Tбайт/с. Создание экзафлопсной системы на базе такого микропроцессора ожидается после 2017 года.

Подготовка к освоению такой экзотической элементной базы идет уже сегодня - как раз в этом и заключается один из скрытых смыслов применения в TH-2 микропроцессоров типа XeonPhi.

Степени параллелизма и проблемы системного ПО

Степень параллелизма современных суперкомпьютеров, определяемая количеством процессорных ядер, оценивается на уровне 10 6 . Например, Cray Titan, находящийся на втором месте текущего рейтинга Top500 (лето 2013 года), содержит 560 840 ядер, а TH-2 - уже 3 120 000 ядер. В экзафлопсных компьютерах производительность должна увеличиться на три порядка, что возможно за счет роста параллелизма, поэтому количество ядер должно быть не менее 10 9 . Достоверность такой оценки подкрепляется тем, что для обеспечения толерантности к задержкам выполнения обращений к памяти потребуется применение мультитредовой архитектуры ядер, что повысит степень параллелизма еще на 1–2 порядка.

Параллелизм такой степени обеспечивается микропроцессорами типа Xeon Phi, но порождение параллельных процессов на уровне 10 9 и поддержка их работы в процессе выполнения программ - серьезнейшая проблема для разработчиков системного ПО. Наибольшие сложности ожидают создателей систем поддержки выполнения программ (run-time систем), управляющих процессом выполнения не на уровне ОС, а на уровне пользовательской программы, которые и реализуют новые модели вычислений типа потоковых и мультитредовых. Собственно говоря, сегодня этому посвящено подавляющее количество исследовательских проектов экзамасштабной тематики по линии DARPA и DoE, такие работы ведутся и на TH-2.

Степень параллелизма в системах экзафлопсного и более уровней, в которых будет применяться создаваемая элементно-конструкторская база постмуровской эры, ожидается еще выше. По этой причине в программе DARPA STARnet один из шести центров прорывных исследований нацелен на создание моделей и системного ПО для обеспечения параллелизма уже на уровне 10 12 .

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

Литература

  1. Dongarra J. Visit to National University for Defense Technology Changsha, China. June 3, 2013.
  2. Yang Xue-Jun et al. The TianHe-1A Supercomputer: Its Hardware and Software. Journal of computer science and tachnology, 26(3): 344-351, May 2011.
  3. Saule E. et al. Performance Evaluation of Spsrse Matrix Multiplicstion Kernels on Intel Xeon Phi. 5 Feb 2013, 19 pp.

Дмитрий Андрюшин ([email protected]), Виктор Горбунов ([email protected]), Леонид Эйсымонт ([email protected]) - сотрудники ФГУП «НИИ «Квант»» (Москва). Статья подготовлена на основе материалов доклада, представленного авторами на IV Московский суперкомпьютерный форум (МСКФ-2013 , грант РФФИ 13-07-06046г).

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

Производительность компьютера

Исходя из результатов эталонного тестирования «Linpack», эта машина способна выполнять 33,86 триллиона операций за каждую секунду времени. По этому показателю 2013 года почти в пятнадцать раз превзошёл своего предшественника - Tianhe-1, который впервые был продемонстрирован около трёх лет назад. По словам китайских инженеров, столь впечатляющая производительность их разработки достигнута благодаря применению так называемой модели экстремального параллелизма. Он базируется на использовании целого ряда сопроцессоров Phi, о которых пойдёт речь далее. Нельзя не отметить тот факт, что аналогичный подход использован многими другими разработчиками, чьи устройства также вошли в рейтинг.

Внутренняя «начинка» устройства

В самый мощный в мире компьютер входит 3,12 миллиона вычислительных ядер. Внутри устройства функционируют 32 тысячи процессоров Intel Xeon и 48 тысяч сопроцессоров Xeon-Phi. За счёт них и образовано указанное выше количество индивидуальных ядер, объединённых между собой за счет специально разработанной для этих целей технологии «ТН Экспресс-2». Объем памяти, которой оперирует Tianhe-2, равняется один петабайт. Что касается операционной системы, самый мощный компьютер в мире работает на Kylin Linux. Электрическое потребление устройства составляет 17,8 мегаватт. Большинство из фирменных функций этого компьютера (в том числе процессоры, операционная система, интерконнекты, софт и приложения) разработаны и воплощены в реальность на территории Китая. Единственным исключением является вычислительная мощность машины, основанием которой являются чипы от компании Intel.

Место дислокации и сфера применения

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

Другие мощные компьютеры

Если посмотреть на составленный рейтинг, то можно увидеть, что не только самый мощный в мире компьютер является китайской разработкой. Кроме него в списке числятся еще 64 машины, которые были построены и работают на территории этой страны. Большая часть мощнейших устройств (а именно 253) дислоцируются на данное время в США. Интересный факт, который касается представителей списка, заключается в том, что чипы от компании Intel используются здесь в восьми случаях из десяти.

На протяжении трёх лет - с июня 2013 года - первую строчку в Top500 суперкомпьютеров мира занимал китайский «Тяньхэ-2». Его производительность составляет более 33,8 Пфлопс, пиковая производительность - 54,9 Пфлопс. При этом машина работает на процессорах Intel, что давало повод говорить о том, что суперкомпьютер, по существу, является не совсем китайским. Однако теперь ситуация изменилась коренным образом.

В последней версии Top500, опубликованной 20 июня 2016 года, первую строчку занял новый китайский суперкомпьютер - Sunway TaihuLight. В тесте Linpack суперкомпьютер показал результат 93 Пфлопс, то есть почти в три раза превзошел «Тяньхэ-2». Пиковая производительность машины составляет 125 Пфлопс.

Sunway TaihuLight находится в Национальном центре суперкомпьютеров в городском округе Уси, расположенном в двух часах езды от Шанхая. В суперкомпьютере насчитывается 10 млн ядер, составляющих 40 тысяч узлов. При этом Sunway TaihuLight полностью работает на процессорах, спроектированных и созданных в Китае - ShenWei SW26010.

Cозданию собственных чипов могло поспособствовать эмбарго США, ограничившее поставки в Китай процессоров Intel.

"Не считаю, что эмбарго помогло, - не соглашается Алексей Лукашин, доцент кафедры "Телематика (при ЦНИИ РТК)" СПбПУ Петра Великого, начальник управления "СКЦ" Суперкомпьютерный Центр "Политехнический". - Ограничения были введены в апреле 2015 г., то есть около года назад. Очевидно, что процессор ShenWei разрабатывался гораздо дольше, но введение внешних санкций в некоторой степени могло ускорить процесс разработки. Косвенно также могло помочь наличие производства западных процессоров в Китае, что ускоряет и реверс инижиниринг, а также позволяет наладить свои производство. Кроме создания собственного процессора важным фактором также является разработка собственного интерконнекта, высокоскоростной сети обмена данными между вычислителями, которая также, скорее всего, повлияла на производительность суперкомпьютера".

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

"Полагаю, что на сегодняшний день ответ скорее нет, чем да. "Эльбрус" пока не достиг требуемых показателей, но в части интерконнекта можно привести в пример коммуникационную сеть "Ангара", разрабатываемую в ОАО "НИЦЭВТ", - говорит Алексей Лукашин. - Мы успешно работаем в сфере реализации глобальных проектов с использованием мощностей суперкомпьютеров, в этом нам способствует как уже заработанный авторитет на международном рынке, так и активное привлечение в академический процесс иностранных коллег и студентов международной магистратуры, а также Летней Политехнической школы".

На текущий момент китайские суперкомпьютеры занимают первое и второе места в Top500. Американский Titan, установленный в национальной лаборатории Оук-Ридж, сместился на третье место. Также в первую десятку входят суперкомпьютеры из Японии, Швейцарии, Германии, Саудовской Аравии.

Суперкомпьютер МГУ «Ломоносов-2» в нынешней версии рейтинга занимает 41-е место – это на 10 строчек ниже, чем раньше. Также он единственный из российских суперкомпьютеров оказался в первой сотне.

Кластерный суперкомпьютер «Политехник РСК Торнадо», который находится в Санкт-Петербургском Политехническом университете Петра Великого, занял 158-ю строчку рейтинга. Не так давно Телекомблог побывал в Суперкомпьютерном центре Политеха, репортаж можно

Нужно заметить, что еще в 2001 году китайских суперкомпьютеров совсем не было в глобальном рейтинге. Теперь же КНР впервые обошла США по количеству машин в топе - их насчитывается 167 по сравнению со 165 у американцев.

Top500 в соответствии с тестом Linpack. В отличие от предыдущих 6 версий рейтинга, сменился лидер списка, на первое место вышла китайский суперкомпьютер Sunway TaihuLight (神威·太湖之光) с результатом в 93 петафлопса на тесте Linpack (теоретическая производительность 125,4 петафлопс). Его производительность примерно в 3 раза выше чем у предыдущего лидера списка, китайского Tianhe-2 .

Новый суперкомпьютер разработан Национальным исследовательским центром параллельной вычислительной техники и технологий КНР (National Research Center of Parallel Computer Engineering & Technology). Размещена система в Национальном центре суперкомпьютеров в городе Уси провинции Цзянсу на востоке Китая.

В основе суперкомпьютера лежат новые китайские процессоры семейства ShenWei - SW26010 с оригинальной 64-битной RISC-архитектурой, предположительно изготовленные по технологии 28 нм. Каждый процессор оснащен 260 ядрами, работает на частоте 1.45 ГГц и имеет производительность 3.06 терафлопс.

Процессор был разработан в Shanghai High Performance IC Design Center. Процессор состоит из 4 сходных блоков ядер (core groups), соединенных встроенной сетью на кристалле. В каждом блоке имеется одно управляющее ядро (Management Processing Element, MPE), контроллер памяти DDR3 (128 бит) и 64 вычислительных ядра (Computing Processing Elements, CPE) в массиве 8x8. Оба типа ядер имеют микроархитектуру с внеочередным исполнением команд . Управляющие MPE-ядра поддерживает исполнение как операционной системы, так и пользовательского кода, использует 264-битные векторные операции, содержит по 32 КБ кеш-памяти первого уровня инструкций и данных и 256 КБ кеш-памяти второго уровня. Вычислительные CPE-ядра могут исполнять лишь пользовательский код с 264-битными векторами, они используют 16 КБ кеш-памяти инструкций и 64 КБ временной памяти (Scratch Pad Memory). Каждый из 4 блоков ядер имеет доступ к 8 ГБ оперативной памяти DDR3-2133, таким образом, в узле установлено 32 ГБ ОЗУ с общей пропускной способностью до 136,5 ГБ/с.

Производительность SIMD-вычислений на ядрах MPE составляет 16 плавающих операций двойной точности (64-бита) за такт, на ядрах CPE - 8 операций за такт. Общая производительность MPE-ядер на частоте 1.45 ГГц может достигать 23.2 гигафлопсов, CPE-ядер - 11,6 гфлопс.

Всего в суперкомпьютере используется более 10,6 миллионов ядер в составе 40960 однопроцессорных узлов в 40 вычислительных стойках. В каждой стойке установлено 4 суперузла, суперузел состоит из 32 модулей по 8 узлов на каждом. Модули имеют водяное охлаждение. Подробностей об основной сети суперкомпьютера немного, известно, что каждый чип SW26010 имеет PCI Express 3 (16x) подключение к трёхуровневой сети «Sunway Network». Диаметр сети - 7, «bisection bandwidth» - 70 ТБ/с. Донгарра сообщил, что используются чипы Host Channel Adapter и коммутаторов компании Mellanox , с пропускной способностью канала на уровне около 12 ГБ/с (100 Гбит/с) и задержками порядка 1 мкс.

Вычислительная эффективность на тесте HPL (Linpack) составила 74% от теоретической производительности. В то же время на более сложном тесте HPCG система показала лишь 0.3% от пикового уровня (некоторые системы достигают 1-3%), что свидетельствует об относительно медленной памяти и недостаточной пропускной способности сети. Для SW26010 соотношение пиковых флопсов к пропускной способности памяти составляет 22.4 флоп/байт (для сравнения, у Intel Knights Landing 7.2 флоп/байт). Также Донгарра отметил, что в системе сравнительно немного оперативной памяти, всего 1.3 ПБ (у Tianhe-2 - 1.4 ПБ, у американского Titan , занимающего уже 3-е место в Top500 - 0.71 ПБ).

Среднее энергопотребление суперкомпьютера во время исполнения теста HPL составляло 15,3 МВт (что несколько меньше чем 17 МВт у Tianhe-2), максимальное - чуть менее 18 МВт. По оценкам Донгарры, энергоэффективность составила 6 гигафлопс на Ватт (учитывалось потребление процессора, памяти и сети). Новый суперкомпьютер

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

По своей вычислительной мощности новый чемпион Sunway TaihuLight превосходит своего предшественника (кстати, тоже "китайца") Tianhe-2 более чем в три раза. Он способен производить 93 квадриллиона вычислительных операций в секунду (по-другому это называется петафлопами). Самая производительная и мощная система, которой обладают на сегодняшний день Соединенные Штаты, слабее Sunway TaihuLight примерно в пять раз. Теперь она переместилась на третье место в мире.

Что же касается TaihuLight, в нем 41 тысяча процессоров, каждый из которых имеет по 260 ядер. В общем и целом в одной системе работают 10.65 миллиона ядер. Для сравнения: у американской топ-машины 560 тысяч ядер. Если говорить об объеме памяти, то цифры впечатляют не так сильно - на все про все у этого суперкомпьютера всего 1.3 петабайта. Опять же, для сравнения: гораздо менее мощный суперкомпьютер K, производительность которого составляет 10 петафлоп, имеет 1.4 петабайта ОЗУ. Но данный факт нельзя отнести к недостаткам. Получается, что новая система очень экономична по части расхода электроэнергии. Ей требуется всего 15.3 мегаватта энергии. Для питания бывшего чемпиона - суперкомпьютера Tianhe-2 производительностью в 33 петафлопа нужно 17.8 мегаватта.

Немаловажным фактором является то, что TaihuLight создан на основе полупроводников исключительно китайского производства:

"У него другая архитектура. Ее китайцы построили сами", - поясняет ситуацию корреспонденту издания Bloomberg Джек Донгарра (Jack Dongarra), профессор Университета штата Теннесси и создатель системы, которая используется для присвоения рейтинга всем существующим суперкомпьютерам в мире.

США запретили экспорт в Китай высокопроизводительных процессоров

Предыдущий из самых быстродействующих компьютеров, Tianhe-2, который также принадлежит Китаю, был создан на основе процессоров Intel. В прошлом году были планы по апгрейду Tinahe-2, китайцы хотели увеличить его производительность. Однако в апреле 2015 года правительство США приняло решение о запрете экспорта в Поднебесную всех типов мощных процессоров. В Министерстве торговли США заявили, что экспорт подобных товаров и технологий "действует во вред" американским интересам национальной безопасности. Более того, у американцев появились подозрения, что один из суперкомпьютеров предыдущего поколения - Tianhe-1A - "использовался в целях наращивания ядерной мощи Китая".

Возможно, в этом есть какая-то доля правды, ведь считается, что суперкомпьютеры, как в США, так и в Китае, являются неотъемлемой частью системы национальной безопасности и средством для ведения передовых научных исследований. Их цели могут иметь мирный характер, как, например, прогнозирование изменений климата или проектирование дизайна новой промышленной продукции и т.д. Также не исключено, что суперкомпьютеры помогают ученым в разработке новейших военных технологий, в том числе создании ядерного оружия или изучении проблем кибербезопасности. Создатели TaihuLight заявляют о том, что он будет использоваться в сфере промышленного производства, изучении медико-биологических проблем и моделировании Земли.

Следует отметить, что инвестиции в разработку и создание высокопроизводительных полупроводниковых процессоров, которые Китай осуществлял на протяжении нескольких последних лет, дали прекрасный результат. В 2001 году в мировом рейтинге по суперкомпьютерам эта страна входила в Топ-500. Сейчас за ней числится 167 позиций в рейтинговом списке, а за США - 165. Разработка и создание TaihuLight осуществлялись по так называемой "863-ей программе". Это проект правительства Китая, цель которого состоит в прекращении зависимости страны от иностранных технологий.

Будьте в курсе всех важных событий United Traders - подписывайтесь на наш