Внутри суперкомпьютера

Как устроен и зачем нужен самый мощный компьютер в России 17 Июль 2015, 12:31
Интеллектуальные машины — остриё прогресса и двигатель информационной революции. Среди них есть настоящие компьютеры-монстры — не злые, зато огромные, прожорливые, умные и быстрые. Корреспондент «Кота Шрёдингера» побывал в чреве суперкомпьютера «Ломоносов».

Мы открываем неприметную дверь в коридоре второго гуманитарного корпуса МГУ — я проходил здесь много раз, но мне и в голову не приходило, что за ней скрывается самый мощный в России суперкомпьютер.

Я лучше здесь объясню: внутри суперкомпьютера очень шумно, невозможно рассказывать, — говорит Серей Жуматий, ведущий научный сотрудник вычислительного центра МГУ им. М.В. Ломоносова.
У Сергея необычная профессия — системный администратор суперкомпьютера. Причём не одного — в его ведении находятся старенький «Чебышёв», только построенный, проходящий отладку «Ломоносов-2» и нынешний флагман «Ломоносов», гудящий и мигающий тысячами разноцветных лампочек в соседнем зале. От прихожей, где мы стоим, зал отделяет звуконепроницаемая прозрачная панель — здесь и видно всё, и говорить можно.

Сергей объясняет, что бесчисленные стойки с системными блоками, которые мы видим, — это примерно четверть всего суперкомпьютера: его мозг. В соседних помещениях расположены система бесперебойного питания и собственная электроподстанция, система охлаждения в подвале — там стоят баки со специальной «незамерзайкой».

Наконец мы надеваем большущие наушники для защиты от шума и входим в зал. Гул вентиляторов и кондиционеров слышен даже сквозь них. Вычислительные сервера перемигиваются синими лампочками, блоки системы хранения данных сигнализируют об исправной работе зелёными огоньками. У суперкомпьютера распределённая файловая система — при поломке любого из дисков, на которых хранятся данные, информация не будет утеряна.
На стойках с серверами то и дело видна надпись «T-Platforms» — это название российской компании, разработавшей и изготовившей «Ломоносов» и «Ломоносов-2». Хотя они, как и все системы такого рода, в основном собраны из вполне стандартных комплектующих: процессоров Intel Xeon, блоков памяти Samsung. Но есть и платы, которые «Т-Платформы» сделали сами


Что не по зубам ноутбуку?

Уподобившись Ионе и изучив организм монстра изнутри, мы возвращаемся к людям — рассказать «Коту Шрёдингера» о «Ломоносове» и других суперкомпьютерах согласился академик Владимир Воеводин, замдиректора по научной работе Научно-исследовательского вычислительного центра МГУ, член-корреспондент РАН.

Что это всё-таки такое — суперкомпьютер?

[Владимир Воеводин] Это очень просто. Когда человек не может что-то сделать, он зовёт помощников. Точно так же, если мой компьютер не справляется с расчётами, я могу взять много компьютеров и распределить работу между ними. Суперкомпьютер основан на принципе параллельной обработки информации, которую осуществляют тысячи и десятки тысяч, иногда миллионы процессоров. Все они работают как единый вычислительный комплекс — для решения одной задачи.

Я слышал, что суперкомпьютер Watson, прославившийся победой в телевикторине, переехал в «облака», то есть он задействует ресурсы множества компьютеров, находящихся в разных местах. Получается, суперкомпьютер может и не существовать как физический объект?

[ВВ] Для определённых задач суперкомпьютер можно собрать на время — даже из компьютеров пользователей интернета. Так делают, когда пытаются минимизировать стоимость вычислений. Мы и сами проводили множество экспериментов, объединяя огромное число компьютеров в университетах по всей России и распределяя между ними нагрузку. Но в «облаках» сложно решать, допустим, задачи вычислительной гидродинамики, когда требуется аккуратное и быстрое взаимодействие узлов системы или процессоров.
Что это вообще за задачи, с которыми обычный компьютер не справляется?

[ВВ] Те, что обладают высокой вычислительной сложностью. Возьмём типичную задачу, стоящую перед нефтяной или газовой компанией. Нужно смоделировать нефтяной резервуар, расположенный под землёй на глубине несколько километров. Будем считать для простоты, что там куб, который можно представить как сеть размером 100 × 100 × 100 точек. В каждой точке нужно вычислить десяток функций: давление, концентрацию, температуру... В самых простых моделях три компонента: вода, нефть и газ, в моделях посложнее рассматривают различные фракции нефти. Чтобы вычислить значение функций в каждой точке, нужно решить нелинейное уравнение — это сотни арифметических операций на каждую функцию в каждой точке. Но это даст лишь застывшую картинку, а нам интересна динамика — как всё это развивается. Значит, нужно сделать порядка 500 шагов по времени... В итоге мы получаем колоссальный объём расчётов, с которыми ни один обычный компьютер не справится.
Фото: Лана Абрамова / У «Ломоносова» три уровня хранения данных: высокоскоростные дисковые хранилища объёмом 500 Байт, дисковое хранилище повышенной надёжности объёмом 300 Байт и ленточная библиотека объёмом 1 ПБайт.


Чем меряются монстры

Какое место среди суперкомпьютеров мира занимает «Ломоносов»?

[ВВ] Есть единый рейтинг, Топ-500 самых мощных суперкомпьютеров мира, который публикуется два раза в год. Когда в 2009-м создали «Ломоносов», он занял 12-е место — это было высшим достижением России в рейтинге. В последней версии, вышедшей в ноябре 2014 года, «Ломоносов» уже на 58-м месте, а наш новый суперкомпьютер «Ломоносов-2» — на 22-м.

Чем они меряются?

[ВВ] Есть теоретическая величина, которая считается скорее на бумажке, — называется пиковой производительностью. На практике она мало кому интересна: нужно, чтобы компьютер хорошо подходил именно для конкретного типа задач. Но есть стандартный общепризнанный тест, измеряющий, насколько быстро машина умеет решать систему линейных уравнений с плотной матрицей. Он доступен в интернете, каждый может запустить его даже на мобильном телефоне — разница по пиковой производительности с нашими монстрами будет в миллионы раз. Вот по этому параметру суперкомпьютеры и ранжируют. На первом месте сейчас китайский Tianhe-2.

В России строят ещё что-нибудь такое?

[ВВ] Государственной программы пока нет, но поддержка есть — прежде всего, конечно, со стороны МГУ. Наш ректор понимает, что за такими вычислительными технологиями будущее. Ведь далеко не всегда можно поставить физический эксперимент, изучая, допустим, глобальное изменение климата. Зато можно построить виртуальную модель и посчитать, что произойдёт. И так во многих вещах. Почему сегодня компьютеры используются в любой конкурентоспособной промышленности? Да потому что провести вычислительный эксперимент на порядок дешевле, чем натурный. Например, вы создаёте авиационный двигатель — чтобы выполнить сертификацию, сколько таких многомиллионных устройств нужно будет испытать и разбить? Гораздо дешевле большую часть испытаний провести на виртуальной модели.
Суперкомпьютеры МГУ используются в основном для проведения таких вот виртуальных экспериментов?

[ВВ] Да, это главное их применение. Только у нас эксперименты связаны прежде всего с фундаментальными научными исследованиями. Но они очень востребованы и в прикладных областях: в конструировании турбин, например, в сейсморазведка, нефтяной и газовой промышленности.

Я слышал, что к традиционному для биологии делению экспериментов на in vitro (в пробирке) и in viv (в живом организме) добавился третий тип — in silico, в компьютере.

[ВВ] Да, абсолютно правильно. На нас завязаны очень многие вещи, касающиеся здоровья человека: драгдизайн, моделирование кровотока в организме, моделирование мышечной активности, в том числе работы сердца. Невероятно перспективная область — моделирование активности человеческого мозга: в Европе на её изучение только государственные структуры выделили миллиард евро, ещё миллиард дадут частные компании.
В целом примерно 30% всего машинного времени «Ломоносова» уходит на биохимический кластер, биоинформатику, биоинженерию. Академик Скулачёв с нашей помощью разрабатывает новые лекарства, химики под руководством профессора Немухина проектируют новые материалы. Вообще же нашими суперкомпьютерами пользуются больше двадцати факультетов. Среди них и гуманитарные — например, у нас был интересный проект с историческим факультетом по сравнительному анализу старинных текстов.

Только университетские учёные пользуются «Ломоносовым»?

[ВВ] Нет, у нас огромное количество пользователей — сейчас их около 1200, то есть порядка 200 организаций, 500 проектов. Это институты Академии наук, университеты, другие научные организации. Московский университет, по сути, обслуживает всё научно-образовательное сообщество России. Машина загружена полностью. Смотрите, у меня всегда есть возможность мониторить с экрана смартфона, что творится в суперкомпьютере. Вот текущая картинка загруженности «Ломоносова»: сейчас работают 124 человека, запущено 145 задач, еще 515 человек в очереди — ждут, пока освободятся ресурсы. Очередь есть всегда, именно поэтому мы и затеяли новый проект — «Ломоносов-2». Частично он уже запущен и вскоре станет доступен для всех учёных.
Фото: Лана Абрамова / Автоматическая система пожаротушения использует специальный газ. В случае возгорания он заполняет помещение и ликвидирует пожар, не повреждая при этом оборудование.


Информационный завод

Если на «Ломоносове» в данный момент работают 124 человека, получается, каждому из них нужна лишь малая часть ресурсов суперкомпьютера?

[ВВ] Особенность «Ломоносова» — его универсальность. У нас огромный поток пользователей, поэтому мы не можем делать специализированную машину — такую, которая ориентирована только на один класс задач. Мы сразу делали универсальную установку, понимая, что поток пользователей и разных задач будет колоссальный. Это гигантский информационный завод. Он работает без выходных, без праздников, круглосуточно. Чаще всего пользователям не нужен весь «Ломоносов», хотя есть около десяти групп, которые используют 1,7 петафлопса «Ломоносова» целиком.

Эти 124 человека, которые сейчас работают на «Ломоносове», — они же там не сидят, они удалённо работают?

[ВВ] Да, прошли те времена, когда люди приходили в машинный зал. Человек подаёт заявку, и если она одобряется, получает уникальный ключ доступа к суперкомпьютеру. Далее исполняется специальный «ритуальный танец», необходимый для обеспечения информационной безопасности, и «Ломоносов» становится доступен по интернету из любого места.

Как к вам приходят учёные и кто для них пишет программы?

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

Тут совсем другое программирование, да?

[ВВ] По сути, да. На самом деле оно уже сейчас везде применяется. Даже мобильные телефоны теперь многоядерные. Если вы программируете для мобильных платформ, вы обязаны знать, что такое многоядерность и каким образом синхронизировать обмен данных для обеспечения параллельного выполнения программ. Раньше учили программировать, а сейчас нужно учить параллельно программировать, причём всех.
 То есть люди приходят с готовой программой?

[ВВ] Иногда да. Но сейчас уже наработана огромная программная инфраструктура готовых прикладных пакетов — например, для задач по молекулярной динамике, аэродинамике, электродинамике. И это, конечно же, великое дело. Человеку не нужно плясать от печки, программировать всё с нуля. Он задает параметры своей модели, своего изделия, запускает процессы и получает на выходе результаты моделирования.

Бывают вычислительные задачи, с которыми «Ломоносов» не справляется?

[ВВ] Есть много шуточных, но метких определений суперкомпьютера. Для главного инженера это машина, которая весит больше тонны, для финансиста — машина, которая стоит больше миллиона долларов. А для многих учёных суперкомпьютер — это машина, мощности которой чуть-чуть не хватает для решения современных задач. И таких задач, конечно, огромное количество. Каждый старается свою модель расширить до тех пределов, которые позволяет потенциал программного обеспечения и аппаратуры. А когда пределы достигнуты, остается лишь ждать появления следующего поколения машин.
Фото: Лана Абрамова / Все вычислительные узлы связывает сеть с пропускной способностью до 40 Гб/с

Будущее суперкомпьютеров

Соблюдается ли для суперкомпьютеров Закон Мура, утверждающий, что каждые два года мощность процессоров удваивается?

[ВВ] До сих пор более или менее соблюдался. Сейчас наметилось некоторое отклонение: рост мощности немного замедлился. Здесь пищу для размышлений даёт тот же Топ-500 — он ведётся с начала девяностых, накоплена большая статистика. Если по ней смотреть, получается просто идеальная прямая на логарифмической шкале. И это удивительно, ведь закон Мура не доказан, он основан только на эмпирических наблюдениях. Но, кажется, это сверхбыстрое развитие начало всё-таки потихонечку загибаться — сейчас закон Мура сохраняется за счёт того, что увеличивается степень параллельности. А частота процессоров уже не растёт — слишком много энергии потребляется и выделяется. Но благодаря параллельности пока удаётся поддерживать быстрое увеличение производительности.
Чтобы создать самый большой и мощный суперкомпьютер в мире, достаточно просто иметь много денег?

[ВВ] Вы несколько цинично это обрисовали, но в целом так и есть. Обратите внимание: все современные суперкомпьютеры из верхушки Топ-500 — это отдельные здания. Для китайского Tianhe-2 специально строили целый комплекс. Потребляемая им мощность — 24 мегаватта. Мощность лампочки — 60 ватт. Мощность сервера — 500 ватт. А здесь двадцать четыре миллиона ватт! Это колоссально, это энергопотребление небольшого города. И ведь кто-то должен всё это оплачивать.

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

Каким вы видите ближайшее будущее суперкомпьютеров?

[ВВ] Они будут становиться всё более разнообразными: где-то удобнее использовать многоядерную архитектуру, где-то сопроцессоры; где-то главное — большая память, а где-то — быстрое взаимодействие. Очень интересное направление — построение суперкомпьютерный систем на основе мобильных процессоров, тех самых, которые используются в телефонах.

Эти процессоры маломощные с точки зрения производительности, зато очень дешёвые и энергоэффективные. Чтобы создать из них суперкомпьютерную установку, их нужно огромное количество — десятки и сотни миллионов. Для программистов это вызов — как разрабатывать алгоритмы, как писать программы, чтобы заставить это огромное количество муравьёв работать на выполнение одной задачи. Каждый понимает, как править четвёркой лошадей, но как управлять тысячью цыплят, уже не знает никто — а нам предстоит управлять сотнями миллионов муравьёв.
Фото: Лана Абрамова / От одного шкафа с оборудованием необходимо отводить до 65 кВт тепла. Система охлаждения занимает около 500 кв. м. внутри и снаружи здания.
Как вы думаете, лет через десять ещё останутся такие вот здания-компьютеры?

[ВВ] Останутся, я в этом на сто процентов уверен. Хотя многие их функции уйдут в «облака». Одно из определений суперкомпьютера гласит, что это машина, которая всегда занимает большой зал. В 1956 году в Московском университете поставили первую отечественную серийную машину «Стрела». Производительность — две тысячи операций в секунду, без всяких «мега» и «гига». А занимала она триста квадратных метров! Это побольше, чем «Ломоносов» за стеной. И с того момента всё сохраняется: машина занимает большой зал.

Есть ли в России острая потребность в ещё более мощных суперкомпьютерах?

[ВВ] Издеваетесь? Пятьсот пятнадцать ждущих задач! Причём это только фундаментальная наука. И вы спрашиваете про потребности?!