Лаборатория Пентковского

Суперкомпьютеры та же Формула 1, но с осязаемой научной пользой. Полигон для отработки технологий будущего, признак зрелости индустрии, предмет национальной и корпоративной гордости, соревнование в инженерном и пилотажном/программистском искусстве. Современный суперкомпьютер по сути огромное количество — тысячи и десятки тысяч — высокопроизводительных серверов, связанных высокоскоростной сетью. Мощность современных суперкомпьютеров измеряется сотнями терафлопс (триллион операций с плавающей точкой в секунду) и петафлопсами (квинтильон). И уже набирает обороты проект по экзафлопным вычислениям Exascale. Задач предстоит решить массу: как добиться удовлетворительной производительности одного ядра, одного процессора, одного кластерного узла, какова оптимальная топология кластера. Как довести до приемлемого энергопотребление. Как эффективно охладить всю эту пиротехнику. Как эффективно распараллелить одну задачу на весь кластер: действительно, ради десятка одновременно работающих задач можно держать десяток суперов.

Работы в этой области ведутся и в России. НИЦЭВТ разрабатывает новый интерконнект чип. МЦСТ не оставляет попыток довести Эльбрус до применения в суперкомпьютерах — ни разу не фантастика, кстати. K-computer, до недавних пор самый мощный, собран на SPARC, произведенных по 40нм технологии. Если “просто” перерисовать современный Эльбрус под TSMC 28, можно получить неплохое решение для экспериментов. Очень сложно, крайне дорого, но возможно. Про численные методы что и говорить, школа пока жива. На системном уровне, удивительное дело, в России даже конкуренция есть. Т-Платформы и РСК каждый по своему пытаются не отстать. Т-Платформы больше (по крайней мере по пресс релизам) работают с иностранцами, даже прототип нового поколения своих компьютеров построили в Швейцарии. РСК не столь англоязычен, но тоже не стоит на месте. Собственно, описываемый ниже проект обсчитывается на кластере, специально построенном этой компанией.

Один из грантов, выданных в результате Постановления правительства от 09.04.2010 № 220 (“о супергрантах”), был выдан физтеху на создание лаборатории для суперкомпьютерных исследований. Научный руководитель — В.М. Пентковский, один из отцов Эльбруса, ныне занимающийся архитектурой процессоров в Интеле.

В качестве первой задачи лаборатория сконцентрировалась над созданием методики тестирования на реальных задачах производительности вновь создаваемых кластерных комплексов суперкомпьютеров. Существует гипотеза, даже можно сказать мнение, что по мере увеличения вычислительной мощности суперов, специализация будет только усиливаться. Своя архитектура для геофизиков, своя для молекулярных биологов, своя для авиастроителей. На сегодняшний день исследования в лаборатории ограничиваются различными комбинациями и конфигурацией кэшей, памяти, интерконнекта, процессоров. Выбор процессоров ограничен современными моделями x86, без Knights Ferry и Xeon Psi. Признаться, выбор не очевидный, при том, что на сегодняшний день в топ10 входят четыре BlueGene/Power кластера и только два чистых Xeon без GPU. Хотя, при общей популярности x86 и наличии специалистов и софта удивляться нечему. Но даже эти ограничения предоставляют достаточную свободу: размер кластера с общей памятью, баланс кешей второго и третьего уровня в этом кластере, топология кластеров существенно влияют на производительность и энергоэффективность системы.

Симуляторы, использующиеся в исследованиях — graphite, симулятор с открытым исходным кодом от MIT и simics, симулятор компании WindRiver, принадлежащей Intel. Архитектуры анализируются на реалных числодробительных задачах молекулярной динамики, в частности медико-биологической направленности. Одна группа с химфака МГУ, вторая — физтех вместе с институтом биоорганической химии. Кластер был предоставлен, как уже выше сказано, компанией РСК.

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

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

  1. Время работы заданного приложения на кластере должно быть минимальным.
  2. Cтоимость кластера должна быть минимальной.
  3. Потребляемая мощность узла кластера должна быть минимальной

При этом ключевым фактором оптимизации должна быть производительность кластера. Иными словами, необходимо собрать кластер, на котором данное приложение будет исполняться максимально быстро. По сути это означает, что оптимизация по остальным критериям будет производиться тогда, когда достигнута максимальная производительность. Например, количество процессорных ядер будет N, если N + M ядер (где M – любое целое число больше нуля) обеспечит рост производительности не более чем на 2 процента.

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

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

Дальнейшая трансформация задачи в том, чтобы с помощью графита анализировать гетерогенные системы, например, с GPU. Как уже было замечено выше, это важное обобщение. В упоминавшемся рейтинге топ 10 три кластера с GPU. Ломоносов, самый мощный на сегодняшний день российский супер от Т-Платформ, тоже содержит графические ускорители.

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

Поэтому на сегодняшний день полная система анализируется другой группой, с помощью Simics+VTx. На Витьюне измеряются характеристики работы процессоров, а уже на основе этих характеристик Simics делает моделирование системного уровня. И раз мы говорим VTx, то сразу понимаем, что вся процедура заточена под процессоры Интела. Можно распространить и на другие, но сначала нужен будет свой витьюн. Симикс группа работает с приложениями из области молекулярной динамики. Результаты группы докладывались на профильных конференциях:
Моделирование компьютерного кластера на распределённом симуляторе
Simulation and performance study of large scale computer cluster configuration: combined multi-level approach

Лаборатория Пентковского: Один комментарий

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>