Уходящий год мог стать поворотным в 20-летней истории самого известного рейтинга мощнейших компьютеров планеты — Top 500. Сообщения о том, что проект вот-вот должен претерпеть изменения появились еще летом — на смену тесту Linpack придет другая программа оценки производительности систем. И многие журналисты во всем мире сделали вывод, что трансформация произойдет уже во время объявления последней на данный момент 42-й редакции списка в ноябре. Сенсации, однако, так и не состоялось: рейтинг вышел в своем обычном виде. Однако перемены явно не за горами, и весь суперкомпьютерный рынок (по крайней мере, его коммерческая часть) пребывает в ожидании события, которое задаст новые правила игры.
В данном обзоре, на основании мнений экспертов мы попробуем разобраться в том, почему же назрела необходимость что-либо менять в устоявшейся системе и к чему это может привести.
О рейтинге
Список пятисот мощнейших машин мира традиционно составляется два раза в год ведущими экспертами американского Государственного научно-исследовательского вычислительного центра министерства энергетики, а также из университетов Мангейма и Теннеси. Обнародование актуальных редакций Top 500 происходит на двух крупнейших тематических выставках-конференциях: в июне в Германии и в ноябре в США.
Рейтинг впервые был составлен более двадцати лет назад, в июне 1993 г. Как пояснил один из его соавторов — Эрих Строхмайер из американской Национальной лаборатории Лоренса Беркли, к началу 1990-х годов назрела необходимость оценивать производительность вычислителей на основании какой-либо единой метрики, которая была бы адекватна и для векторных, и для невекторных суперкомпьютеров. Дело в том, что, по словам ученого, еще в 1980-х можно было собирать статистические данные об HPC-рынке путем простого подсчета векторных машин, так как ими высокопроизводительный рынок на тот момент и исчерпывался. Однако когда граница между ними и “обычными” компьютерами начала стираться (последние стали стремительно наращивать свою производительность), заниматься простым подсчетом векторных процессов стало некорректно.
В результате единым мерилом для различных вычислителей стал тест Linpack, разработанный сегодня всем хорошо известным Джеком Донгаррой из американского Университета Теннеси. В общем смысле Linpack является пакетом программ на Фортране для решения систем линейных алгебраических уравнений. Исследуемая им производительность компьютера измеряется флопсами — количеством элементарных арифметических операций над числами с плавающей запятой, выполненных в секунду.
Каково бы ни было отношение к Linpack сегодня, для своего времени его всеобщее использование явно пошло рынку на пользу. По мнению г-на Строхмайера, вы никогда не сможете в полной мере что-либо изучить, а тем более улучшить, если вы не в состоянии это измерить. И в этом смысле Top 500, считает ученый, неоднократно помогал отследить многочисленные технологические тенденции. Г-н Строхмайер уверяет, что многие из них стали заметны, а часть, наоборот, утратила актуальность существенно раньше, именно благодаря прозрачному рейтингу.
В чем проблема Linpack?
Как пояснил технический консультант по высокопроизводительным системам IBM в Центральной и Восточной Европе Александр Позднеев, корни теста Linpack уходят в 1970-е годы, когда Клив Молер со своим учеником Джеком Донгаррой обратились к нескольким университетам и национальным лабораториям с просьбой протестировать разрабатываемую ими библиотеку подпрограмм решения задач вычислительной линейной алгебры. В частности, они попросили замерить время решения системы из ста линейных алгебраических уравнений на мощных компьютерах, установленных в вычислительных центрах этих организаций. В 1977 г. эти результаты появились в приложении к пользовательскому руководству пакета Linpack. После этого г-н Донгарра продолжил собирать данные и периодически публиковал список, который с мая 1993 г. известен как рейтинг Top 500.
Г-н Позднеев указал на то, что в 1977 г. матрица размера 100 на 100 была достаточно большой, чтобы как следует загрузить суперкомпьютеры тех времен — половина списка тратила более секунды для решения системы уравнений, а для некоторых супервычислителей она была даже слишком большой — адекватно ее обработать машины не могли. В настоящее же время любой персональный компьютер справится с подобной задачей за тысячные доли секунды, а Linpack запускают для очень больших матриц на системах с распределенной памятью.
По словам г-н Позднеева, в прежние времена арифметические операции над вещественными числами были сравнительно дорогим удовольствием и результаты на Linpack позволяли неплохо оценить производительность, которой можно было бы добиться при решении сложных научно-технических задач. Однако сейчас, когда каждое ядро процессора Intel Xeon или IBM Blue Gene/Q на каждом такте способно выдавать результат восьми операций с плавающей запятой, безоговорочно доминируют операции доступа к памяти. А очень большие матрицы, с которыми работает Linpack, уже мало связаны с реальными потребностями. “Настоящие” большие матрицы являются разреженными, для их хранения используются сложные структуры данных, и шаблон доступа к ним может быть очень нетривиальным.
Г-н Позднеев считает, что рейтинг Graph 500, впервые опубликованный в 2010 г., оказался удачной попыткой проранжировать суперкомпьютеры по скорости, с которой они способны обработать модельный граф, имеющий структуру, похожую на ту, что часто встречается в реальных задачах. Однако места для операций над вещественными числами в тесте, положенном в основу Graph 500, не нашлось. Так что, по словам г-н Позднеева, лишь делом времени было появление теста, который сочетал бы в себе необходимость работы с нерегулярными структурами данных, выполнение арифметических операций с плавающей запятой и при этом был бы основан на вычислительном ядре, актуальном для научных приложений.
С г-ном Позднеевым полностью согласен заместитель директора Центра компетенций по работе с предприятиями государственного сектора компании “Открытые технологии” Александр Лунев. В его понимании Linpack действительно позволяет измерить скорость и эффективность решения систем линейных уравнений. Однако растет количество приложений (и областей использования суперкомпьютеров), требующих более сложных, нелинейных вычислений с доступом к данным произвольным образом. А для этого показатели производительности по тесту Linpack в общем случае не являются репрезентативными.
Директор по техническому маркетингу компании “Т-Платформы” Игорь Захаров считает, что, как ни странно, Linpack стал жертвой собственного успеха. За десятки лет, прошедших с начала его использования для составления международного рейтинга, производители компьютерной техники научились создавать системы, оптимизированные именно для прокрутки этой программы. В начале 1970-х математические действия с переменными в формате с плавающей запятой были некоторой добавкой к процессору, в то время как такие вычисления являются основными для компьютерного моделирования всех процессов, происходящих в природе. Linpack позволил сфокусировать внимание производителей на таких вычислениях и способствовал тому, что они стали главной мерой производительности. К сожалению, пояснил г-н Захаров, Linpack не измеряет почти ничего другого, что является важным для реальных приложений. Поэтому оптимизация компьютера для Linpack не приводит к росту производительности для реальных приложений.
Г-н Захаров указал на то, что одна из причин такого положения вещей заключается в повышенном внимании общественности к Top 500. Позиция суперкомпьютера в этом списке является самоцелью для финансирования учреждений. И этот субъективный фактор становится одной из объективных причин необходимости замены фиктивного по сути рейтинга на метрики, позволяющие оценить системы с точки зрения их потенциала для вычислений реальных приложений. Ведь те же самые деньги могли бы вкладываться в менее ориентированную на Top 500, но более эффективную с точки зрения решения реальных задач установку с большей пользой для народного хозяйства. Но на сегодняшний день престиж Top 500 этого не позволяет, считает г-н Захаров.
Что известно о новом тесте
Как отметил г-н Захаров, появление новой метрики, носящей название теста высокопроизводительных сопряженных градиентов (High Performance Conjugate Gradient — HPCG), было анонсировано на Европейской суперкомпьютерной конференции в июне этого года в Лейпциге. В его понимании это далеко не первая и не единственная попытка заменить или дополнить Linpack, предпринятая за последние 30 лет. Поэтому очень важно, что здесь за предложением модернизации стоит авторитет самого Джека Донгарры, который сейчас и разрабатывает HPCG. Г-н Захаров даже считает, что по глубине политических изменений, которые несет в себе новшество, данная работа вполне может стать наиболее значимым вкладом отца Linpack в суперкомпьютерный прогресс за последние 10 лет.
Г-ну Захарову о метрике HPCG известно то, что эта программа станет решать тот же класс уравнений, что и Linpack, но более современным способом, ориентированным на реальные вычисления. Он считает, что опытным путем уже установлено, какие характеристики компьютера важны для реальных приложений. И если список HPCG 500 отразит эту эмпирическую тенденцию, то можно будет сказать, что внимание поставщиков суперкомпьютеров начинает переориентироваться на решение насущных задач. Но такой анализ можно будет осуществить только после выпуска первого списка обновленного рейтинга.
В своих оценках пока проявляет осторожность и Александр Лунев. Он указывает на то, что суть и алгоритмика HPCG уже достаточно подробно описаны в публичном документе, который можно найти в Интернете. Однако насколько используемые в нем подходы в действительности адекватны, покажут соотношения первого же ранкинга на его основе с производительностью реальных приложений. По словам г-на Лунева, в его компании ожидают получения собственных оценок применимости HPCG уже в следующем году.
Что может измениться
Разумеется, один из главных вопросов, возникающих в связи с появлением новой метрики, заключается в том, как может измениться расстановка сил внутри нового рейтинга по сравнению с классическим — какие поставщики аппаратных или софтверных решений укрепят свои позиции, а какие могут их утратить? Например, Джек Донгарра в своей работе, описывающей новый стандарт, приводит пример суперкомпьютера Титан из американской Национальной лаборатории Oak Ridge. Эта система имеет 18 688 узлов, каждый из которых включает 16-ядерный процессор AMD Opteron (32 Гб) и графический ускоритель Nvidia K20 (6 Гб). Ученый указывает на то, что в ноябре 2012 г., благодаря тесту Linpack, Титан сумел стать лидером Top 500. Однако при получении столь высоких показателей производительности процессоры Opteron играли лишь вспомогательную роль — вычисления с плавающей запятой преимущественно осуществлялись на ускорителях. Если же дело касалось реальных приложений, то главная нагрузка ложилась на основные процессоры, а GPU доставалась незначительная ее часть.
На основании этих данных логично было бы предположить, что в соответствующем сегменте рынка сильно пошатнутся позиции компании Nvidia, в то время как положение Intel еще больше укрепится. Но при этом возникают и вопросы к сопроцессорам последней — распределяется ли реальная и Linpack-нагрузки между Intel Heon Phi и основными процессорами так же, как было описано выше в примере с GPU, или несколько иначе? К сожалению, ни у Intel, ни у Nvidia комментариев по данному вопросу получить не удалось.
По мнению Игоря Захарова, изначально в HPCG 500 рейтинг гибридных систем с GPU сильно упадет по сравнению с их положением в Тop 500. Это связано с тем, что приложения должны индивидуально переписываться под использование ускорителей, а такая работа требует времени. И даже после того как изначальный перекос в какой-то мере будет исправлен и рейтинг гибридных машин поднимется, он все еще будет сильно зависеть от других компонентов системы (таких как компьютерные сети и устройства памяти), работу с которыми GPU не ускоряет, а новый рейтинг использует в полной мере. Как сообщает г-н Захаров, в результате в его компании ожидают от производителей большего внимания к упомянутым “дополнительным” компонентам.
Что же касается неизбежных оптимизаций вычислительных устройств под программы HPCG, то, по убеждению г-на Захарова, они приведут только к улучшению работы компьютеров в целом.
А вот Александр Лунев какие-либо выводы относительно судьбы гибридных систем делать не готов. В его понимании никто из кураторов Top 500 однозначных заявлений на этот счет не делал. По его мнению, ситуация на рынке никак не изменится, так как сейчас весь топ использует практически эквивалентные архитектуры. Ни один из поставщиков аппаратных решений ничего не потеряет и не получит и уж тем более ничего не изменится в связи с новым тестом на софтверном рынке. Единственное, на что может повлиять новый бенчмарк, считает г-н Лунев, так это на развитие технологий интерконнектов, потому что их производительность и латентность имеют большее значение при выполнении HPCG, чем при выполнении Linpack. Именно поэтому лучшие результаты тестов, по его мнению, покажут, вероятно, системы с более развитыми архитектурами интерконнектов.
При этом г-н Лунев уверен в том, что никто и не собирается сравнивать два рейтинга, поскольку это бессмысленно. На момент выхода результатов HPCG мы сможем лишь сопоставить абсолютные результаты двух тестов и соотношения Linpack/HPCG на различных суперкомпьютерах. О развитии рынка, прогрессе, преимуществах одних технологий над другими и прочих факторах можно будет говорить только, начиная со второго выпуска результатов тестирований.
В завершение г-н Лунев подчеркнул, что в его понимании рассуждать о значимости нового бенчмарка и о его влиянии на рынок HPC пока явно преждевременно.
Примерно также считает и руководитель Института программных систем им. А. К. Айламазяна РАН Сергей Абрамов, который не спешит переоценивать значение нового рейтинга. Он нисколько не сомневается в том, что лидеры рынка, такие как IBM и Cray, в лидерах же и останутся, поскольку они занимаются не политическими проблемами победы в рейтингах, а ориентированы на решение широкого класса вычислительных задач.
Означает ли HPCG конец Linpack?
По мнению Джека Донгарры, опыт использования Linpack сыграл огромную роль в обеспечении прозрачности отрасли HPC. Его актуальность для оценки работы реальных приложений сейчас крайне низка, однако это вовсе не значит, что его дни сочтены. HPCG возможно когда-нибудь и заменит Linpack полностью, но какое-то время они явно станут существовать параллельно.
По всей видимости, эта позиция совпадает и с ожиданиями отрасли. По словам Сергея Абрамова, его бы больше устроила не замена текущего рейтинга на основе Linpack, а его дополнение любым иным. Тем более что в его понимании рейтингов и так уже давно (очень давно) несколько: TopCrunch, Graph 500, Green 500.
Свою позицию г-н Абрамов пояснил следующим образом. Более 20 лет каждые полгода Top 500 копил бесценную информацию — аккумулировал временные срезы о состоянии суперкомпьютерной отрасли. И будет обидно, если эта связь времен (и продолжение накопления статистики) будет прервана. Он считает, что правильнее в базу данных Top 500 добавить еще один столбец: “реальная производительность на тесте HPCG”. Или даже несколько таких столбцов с данными разных тестов. Именно это, по убеждению г-на Абрамова, будет наиболее верным решением. К тому же, по его мнению, создаваемый тест HPCG вряд ли готов стать эталоном для “реальных научных прикладных задач”, о которых, в частности, сейчас говорит Джек Донгарра. Г-н Абрамов считает, что мир этих задач слишком огромен и разнообразен. Соответственно значительный класс задач будет похож (по вычислительному поведению и по характеру работы с памятью) на HPCG и не менее (а, скорее, более) огромный класс задач будет на него не похож. И универсальный тест вообще вряд ли когда-нибудь появится.
И здесь мнение нашего соотечественника полностью коррелирует со словами Эриха Строхмайера, который указывает на то, что сейчас нет ни одного показателя или теста, который смог бы по-настоящему быть адекватным тому великому разнообразию программ, которое использует HPC-сообщество. Ученый считает, что для различных целей, различных пользователей и различных ситуаций необходимо определить и различные оценочные критерии.
Итак, похоже, HPCG не станет панацеей для суперкомпьютерного рынка. Однако это вряд ли снижает градус эмоционального напряжения в отрасли от ожидания окончания эры монополии Linpack. Правда, когда именно это произойдет, мы пока не знаем.