Что такое High-Performance Computing (HCP)
Темой очередного заседания клуба экспертов Intel стали высокопроизводительные вычисления. На это собрание были приглашены видные специалисты, занимающиеся суперкомпьютерными технологиями, – они поделились с нами своим видением проблем, стоящих перед инженерами сегодня, и рассказали о перспективах развития HPC (High-Performance Computing) на ближайшие десятилетия.
Что такое HPC — High-Performance Computing
Вообще, разговор об HPC начался с признания того нелицеприятного для нас факта, что Россия только с недавних пор начала наверстывать свое отставание в этой области от ведущих мировых держав. Как совершенно откровенно заметил Андрей Семин, технический директор сектора высокопроизводительных вычислений корпорации Intel в регионе EMEA, до конца ХХ века Россия, по уровню развития суперкомпьютерных технологий, занимала место среди государств экваториальной Африки: «РФ была представлена в TOP 500 лишь одной системой, да и та временами исчезала из этого списка. Сегодня уже 8 отечественных суперкомпьютеров входят в мировой рейтинг, и это достижение объясняется государственными программами, появлением мощных систем в российских университетах и интересом к HPC со стороны частных компаний».
Суперкомпьютеры с Linux
«Межведомственный суперкомпьютерный центр», созданный компанией Hewlett-Packard на базе процессоров Intel Xeon X54xx, занимает в настоящее время 35 позицию в TOP 500, а супер-ЭВМ Московского государственного университета, разработанная объединением «СКИФ» (также на базе процессоров Intel Xeon X54xx), расположилась на 54-й позиции. Вообще, мы не случайно отметили здесь процессоры Intel, поскольку 7 из 8 российских суперкомпьютеров, попавшие в TOP 500, работают на Xeon, и только одна ЭВМ была создана компанией IBM на базе PowerPC 450. Кстати, та же IBM две другие свои супер-ЭВМ в России (в университетах Красноярска и Уфы) сделала на процессорах Intel Xeon, также поступили Hewlett-Packard и SGI. Понятно, что здесь мы имеем дело не со случайным совпадением, а с тенденцией, причем, она подтверждается не только российским, но и мировым опытом: 379 суперкомпьютеров из списка TOP 500 были сделаны на базе процессоров Intel, причем 288 из них выполнены на базе четырехъядерных Intel Xeon. Все восемь наших суперкомпьютеров представляют собой кластерные решения на основе блэйдов или MPP (Massively Parallel Processing – архитектура многопроцессорной системы, в которой каждый из процессоров имеет собственное ОЗУ и копию ОС, приложения и обрабатывает данные независимо от других процессоров), все они работают на системах Linux.
Производительность суперкомпьютерных систем
В последние годы производительность суперкомпьютерных систем растет очень высокими темпами – на 25% каждый год. И здесь перед нами встает следующий вопрос: какой смысл в этой бесконечной гонке за скоростью вычислений? Зачем люди тратят сегодня колоссальные средства на построение суперкомпьютерных систем? На эти вопросы постарался ответить в своем докладе Андрей Семин. Он показал на нескольких конкретных примерах, в каких областях современного знания требуются запредельные вычислительные мощности. Рассмотрим одну единственную клетку головного мозга человека: для моделирования гранулярной эндоплазматической сети (rough endoplasmic reticulum) такой клетки, что абсолютно необходимо для разработки новейших лекарственных препаратов, нам понадобится суперкомпьютер мощностью порядка 100 TFLOPS. Напомним, что мощнейшая российская система, стоящая в суперкомпьютерном центре Академии Наук, достигает лишь 95 TFLOPS, да и то лишь в пиковом значении. А теперь представим себе, что нам необходимо смоделировать всю клетку, а не только одну из ее мембран – в этом случае потребуется суперкомпьютер мощностью 1 EFLOPS, то есть машина, которая будет в 1000 раз быстрее IBM Roadrunner, занимающего сейчас первое место в списке TOP 500. К созданию такого суперкомпьютера человечество подойдет, в лучшем случае, не раньше 2017 года.
Разумеется, медицина – не единственная сфера научных исследований, требующая гигантских вычислительных мощностей. Глядя в новостных выпусках и документальных лентах на то, как инженеры испытывают модели самолетов в аэродинамических трубах, а летчики-испытатели поднимают опытные образцы в небо, вы никогда не задумывались над таким простым вопросом: почему бы не поручить эти тесты компьютеру? Ответ может обескуражить многих поклонников компьютерных технологий. Оказывается, даже мощности в 1 PFLOPS, которую на сегодняшний день может обеспечить только IBM Roadrunner, недостаточно, чтобы смоделировать поведение самолета целиком в условиях реального полета. Не меньших мощностей требуют всевозможные климатические модели: просчеты сложных прогнозов погоды на современных суперкомпьютерах занимают, порой, несколько месяцев. Этот список задач можно продолжать: синтетические виды топлива и новые материалы, генетика и экология, происхождение Вселенной и т.д.
Рост энергопотребления суперкомпьютерами
Согласимся с тем, что нам нужны более мощные вычислительные системы. Однако при создании новых суперкомпьютеров инженеры столкнутся с несколькими серьезными проблемами, и одной из самых сложных для решения задач будет рост энергопотребления. Как отметил Андрей Семин, энергопотребление высокопроизводительных машин росло нелинейно: с 1964 по 1976 год наблюдалось почти двукратное увеличение, но затем, с появлением интегральных микросхем, произошло резкое падение энергопотребления супер-ЭВМ. С 1985 по 2006-й год наблюдался высокий рост энергопотребления, который продолжается и до сих пор. Если мы экстраполируем существующие темпы роста до 2017 года, когда должен появиться суперкомпьютер на 1 EFLOPS, то увидим, что эта система будет обладать чудовищными характеристиками: 10 МВт – на диски; 70 МВт – на сеть; 80 МВт – на память; 70 МВт – на процессоры; примерно столько же уйдет на систему охлаждения. В итоге, мы получаем суперкомпьютер, который потребует 500 МВт – такой машине необходима будет для работы отдельная мощная электростанция.
Конечно, это самый пессимистичный вариант развития событий. Понятно, что технологии не стоят не месте, поэтому такая экстраполяция далека от реальности. Андрей Семин считает, что инженеры смогут понизить энергоемкость такого суперкомпьютера до 100 МВт: благодаря использованию SSD-дисков, которые заметно подешевеют к 2017 году, можно будет снизить энергопотребление дисковой системы до 5 МВт; новейшие сетевые технологии обеспечат нам десятикратную экономию электроэнергии – требуемое значение снизиться до 7 МВт; новые виды памяти позволят снизить энергопотребление до 16 МВт; наконец, новые процессоры от Intel дадут экономию, снизив потребность до 8-16 МВт. Конечно, и 100 МВт – очень большая цифра, однако именно в России, с ее мощными энергетическими ресурсами и опытом возведения крупных промышленных наукоемких объектов, есть все условия для создания супер-ЭВМ будущего.
Использование параллельных вычислений и HPC
Трудности не ограничиваются одним ростом энергопотребления. Одной из сложнейших проблем является использование параллельных вычислений. Все дело в том, что сам по себе рост числа ядер не стоит и ломаного гроша, если ваше ПО не умеет с ними работать. В связи с этим, Андрей Семин напомнил, что Intel уже демонстрировал работающий процессор с 80 ядрами, который, тем не менее, в некоторых операциях отставал от обычного четырехъядерного чипа, поскольку ПО не было оптимизировано для работы с 80 ядрами. О том, какую роль сегодня в вычислениях играет оптимизированный процессорный код, рассказал Валерий Черепенников, руководитель проекта Intel в Нижнем Новгороде. На сегодняшний день имеется два мощных инструмента, с помощью которых можно в разы повысить производительность компьютерной системы на базе процессоров Intel. Пакет Intel Compiler 11.0 Professional Editions включает в себя компилятор C++/Фoртран11.0, библиотеки Intel Math Kernel Library 10.1 и Intel Integrated Performance Primitives 6.0, а также Intel Threading Building Blocks 2.1. В пакет Intel Cluster Toolkit Compiler Edition 3.2 входят компилятор C++/Фoртран11.0, библиотеки Intel Math Kernel Library 10.1 и Intel MPI 3.2 (программирование параллельных вычислений), а также инструменты Intel Trace Analyzer и Collector 7.2 с опцией проверки корректности MPI-приложений.
В качестве конкретного примера роста мощности за счет оптимизации ПО Валерий Черепенников предложил рассмотреть случай с Гидрометцентром России, где сотрудники Intel выступали в роли консультантов по краткосрочному расчету погоды. Первоначально, в центре стояла старая машина компании Cray с 8 процессорами, которая была способна выдать краткосрочный прогноз погоды в течение 120 минут. Естественно, изменения начались с замены оборудования – в Гидрометцентре появился компьютер на процессорах Intel Itanium 2 (900 МГц). На первом этапе была проведена простая компиляция кода с помощью Intel Compiler (опции по умолчанию) – это элементарное действие уже и само по себе дало прирост производительности в 1,2 раза. Затем были включены опции интенсивной оптимизации, что позволило получить ускорение работы системы в 2,5 раза. После этого был проведен тот этап, который Валерий Черепенников в шутку назвал «черной магией», – инструментальный анализ и изменения исходного кода, делающие его более дружественным к процессору Intel Itanium 2. Здесь программистам Intel удалось поднять производительность системы в 4 раза. Далее, самый большой скачок получился на том этапе, когда осуществлялось распараллеливание процессов на четыре потока с помощью библиотеки OpenMP – это дало ускорение в 10 раз. На последнем этапе 900 МГц процессоры Intel Itanium 2 были заменены на новые, работающие уже на частоте 1,5 ГГц. В конечном итоге, краткосрочный расчет прогноза погоды стало возможным делать менее чем за 8 минут, и большая часть роста производительности была достигнута именно за счет оптимизации программного кода.
Проблема охлаждения процессоров
Когда мы говорили об энергоемкости суперкомпьютеров будущего, была задета и очень непростая тема охлаждения процессорного оборудования. Недаром же, рассказывая об EFLOPS машине, Андрей Семин вспоминал о втором законе термодинамики: всю ту электроэнергию, которая подается на суперкомпьютер, необходимо затем каким-то образом отвести в виде тепла. На этой проблеме подробно остановился Сергей Абрамов, директор Института программных систем РАН. Он отметил, что в системах с воздушным охлаждением на каждые 1000 кВт электроэнергии, подведенной к суперкомпьютеру, мы тратим 770 кВт на работу системы охлаждения. То есть, отвод тепла забирает у нас почти столько же электроэнергии, сколько и работа самой системы!
Водяное охлаждение для высокопроизводительных компьютеров
В суперкомпьютерной платформе, разработанной в рамках проекта «СКИФ-ГРИД» использована уникальная система водяного охлаждения, не имеющая на сегодняшний день аналогов в мире. В результате, удалось снизить энергопотребление системы охлаждения до 270-365 кВт на каждый МВт, поданный на суперкомпьютер. Таким образом, водяное охлаждение дает 2-3-кратную экономию электроэнергии. А при расчетной мощности EFLOPS суперкомпьютера в 100 МВт это может иметь существенное экономическое значение.
Кроме того, водяное охлаждение повышает надежность всей системы. При аварийной остановке воздушной системы охлаждения мгновенно прекращается отвод тепла, что может привести к поломке интегральных микросхем. В случае аварийной остановки циркуляции жидкости, вода сможет еще некоторое время оттягивать тепло от микросхем, предотвращая поломку системы. К тому же, водяная системы охлаждения не предусматриваем механических движущихся частей, что обеспечивает бесшумность работы суперкомпьютера и снова повышает надежность всей системы.
Эксперты, присутствовавшие на заседании клуба Intel, интересовались, не могут ли возникнуть протечки системы водяного охлаждения, и напомнили известному ученому о неудачном опыте внедрения такой системы в первых советских супер-ЭВМ серии «Эльбрус». Доктор Сергей Абрамов ответил на эти замечания, указав, что за прошедшие десятилетия во многих областях современной промышленности (авиация, атомная энергетика и др.) был накоплен большой опыт работы с жидкостями в замкнутых контурах. Были созданы специальные технологии, разработаны промышленные нормативы и пр. – все это позволяет сегодня проектировать абсолютно надежные системы. Фирма-изготовитель гарантирует, что за 100 циклов монтажа/демонтажа оборудования вычислительного узла будет не больше одной капли протечки.
Перспективы высокопроизводительных вычислений
Данный пример решения одной из проблем создания суперкомпьютеров будущего показывает нам, что разработка мощных вычислительных комплексов уже переросла собственно рамки компьютерной отрасли. Суперкомпьютеры представляют сегодня колоссальные по своим масштабам промышленные объекты (EFLOPS будет занимать площадь, размером с футбольное поле), которые разумнее, как и атомные станции, строить за пределами больших городов. И при возведении этих объектов необходимо будет использовать опыт, накопленный инженерами из многих соседних промышленных областей. Одним словом, эта задача будет по плечу только государству, которое сможет подключать к финансированию этих проектов крупнейшие корпорации. Впрочем, уже и сегодня всем очевидно, что без наличия государственной программы создание передовых вычислительных центров становится невозможным.
Комментировать