Экзафлопсный барьер: проблемы и решенияИсключительность проблем, которые предстоит решить в связи с созданием суперкомпьютера экзафлопсного уровня, определяют два обстоятельства: прекращение прямого влияния закона Мура на производительность ядер микропроцессоров из-за невозможности дальнейшего увеличения тактовой частоты и параллелизма выполнения машинных команд; жесткие ограничения по потребляемой энергии, с которыми разработчики столкнулись впервые за последние 15 лет. Кроме того, уже ранее беспокойство разработчиков вызывала проблема «стены памяти», к преодолению которой в середине прошлого десятилетия приступили в рамках проектов создания перспективных петафлопсных суперкомпьютеров.

В работах по экзафлопсной тематике, как и по суперкомпьютерам вообще, выделяются два основных организатора – Министерство энергетики США и DARPA, Управление перспективных исследований Министерства обороны США. Первое ориентируется на быстрое получение результатов за счет эволюционного развития суперкомпьютеров (Cray XT, IBM BlueGene), а второе рассматривает проблему глубже, создавая сегодня петафлопсные суперкомпьютеры, способные эффективно решать широкий класс задач, среди которых выделяются задачи, работающие с огромными объемами памяти и имеющие плохую пространственно-временную локализацию обращений к ней. Данное революционное направление активно поддерживается военными кругами и спецслужбами, в его рамках применяются новые технологии, архитектурные и программные решения. Так происходит сейчас при создании петафлопсной техники, так будет и при создании экзафлопсных систем.

Оба направления дополняют друг друга – суперкомпьютеры программ DARPA со временем оказываются в лабораториях Министерства энергетики США, как, например, произошло с Cray Baker (коммерческий вариант – Cray XE6), созданным в рамках проекта Cascade программы DARPA HPCS. Исторически при разработке петафлопсных систем эволюционные методы сработали раньше за счет быстрого и успешного внедрения универсальных микропроцессоров с однородной многоядерностью – барьер реальной производительности в 1 PFLOPS был взят через четыре года после начала эволюционной программы, в ноябре 2008 года, на суперкомпьютере Jaguar (Сray XT5). В 2009 году Jaguar был модернизирован введением 12-ядерных микропроцессоров AMD Magny Cours и доведен до пиковой производительности в 2,3 PFLOPS. Петафлопсные суперкомпьютеры следующего поколения, созданные уже в рамках программы DARPA HPCS, начнут устанавливаться в третьем квартале 2010 года – это будут качественно другие изделия, предоставляющие благодаря решению в них проблемы «стены памяти» принципиально новые возможности.

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

Заявляя о программах создания экзафлопсных систем, обычно представляют системы, содержащие от нескольких сотен до тысячи стоек, с развиваемой производительностью хотя бы на задаче Linpack в 1018 операций с плавающей запятой в секунду (EFLOPS). Однако задача намного глубже, и сейчас, во всяком случае в документах DARPA [1,2], она ставится шире, предусматривая создание следующих систем: экзафлопсные системы для государственных лабораторий и центров, которые могут развивать реальную производительность в 1 EFLOPS, что в 1000 раз превосходит современные системы петафлопсного уровня производительности; петафлопсные системы масштаба предприятия, которые благодаря применению новых экзафлопсных технологий станут значительно компактнее и будут потреблять меньше электроэнергии, размещаясь в нескольких стандартных стойках; терафлопсные системы встроенного типа на базе нескольких чипов, потребляющих несколько десятков ватт электроэнергии. В системах всех трех классов предполагается использовать одинаковые технологии, ключевые для систем первого класса.

Проблемы

Главная проблема – это «стена памяти», которая переросла теперь в более общую проблему «перемещения данных» и переплелась с проблемами энергетики. Трудность в том, что вынужденный рост параллелизма выполняемых операций и вынужденное увеличение потока обращений к памяти для обеспечения как этого параллелизма, так и толерантности к задержкам по памяти вступают в противоречие с допустимыми уровнями потребляемой энергии. Оценки показывают, что если не предпринимать специальных мер, то для питания экзафлопсной системы потребуется 150-200 MВт, что сопоставимо с атомной силовой установкой современного многоцелевого авианосца. Кроме того, это очень дорого в эксплуатации – плата за электроэнергию будет составлять 100 млн долл. в год, поэтому ставится задача не превысить уровень потребляемой энергии в 20 MВт, хотя и это много. Примечательно, что более 70% энергии уходит на хранение данных в памяти и их перемещение. Чтобы добиться потребления в 20 MВт вместо 150-200, надо не только решить проблему экономной передачи и хранения данных, но и снизить накладные расходы на организацию параллельного выполнения огромного количества операций, которые могут в десятки раз превышать затраты на выполнение полезных операций.

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

Проблема роста параллелизма сложна и многогранна настолько, что требует привлечения к ее решению мирового сообщества, например, появился международный проект по разработке открытого программного обеспечения экзафлопсных систем с участием США, стран Западной Европы, Японии, Индии и Китая. Планируется участие в нем и России.

Эволюционный путь

В работах эволюционного подхода выделяются два направления: «тяжелое» – использование мощных по производительности и потребляемой энергии коммерчески доступных универсальных многоядерных микропроцессоров и заказных коммуникационных сетей (линейка Cray XT); «легкое» – использование гораздо большего (чем в первом подходе) количества не очень мощных, но экономичных, заказных микропроцессоров и сетей, специальных методов компоновки вычислительных узлов (линейка IBM BlueGene). Работы по этим направлениям ведутся соответственно в Окриджской лаборатории совместно с Cray и в Аргонской лаборатории совместно с IBM и Министерством энергетики США.

В таблице 1 приведены оценки специалистами Окриджской лаборатории эволюционного развития суперкомпьютеров «тяжелого» направления.

Оценки экспертов DARPA [1] менее оптимистичны – рост количества ядер в одном микропроцессоре прогнозируется только до 64. Еще ожидается, что будет по 4-8 аппаратных тредов в каждом ядре. Количество микропроцессоров на одной серверной плате – 16. Из-за ограничений по энергетике и теплоотводу тактовая частота ожидается около 1,5 ГГц. Параллелизм запуска операций в процессорном ядре – четыре операции умножения-сложения за такт. Пиковая производительность микропроцессора – около 0,7 TFLOPS.

Специалисты DARPA выделяют два варианта развития событий: без ограничений потребляемой энергии и с ограничением в 20 МВт. При этом выделяются две модели потребления энергии при передаче и хранении данных – оптимистичная (Simplistic Scaled) и пессимистичная (Fully Scaled).

При энергопотреблении порядка 150 MВт в 2020 году будет достижима пиковая производительность системы для оптимистичной модели – в 160 PFLOPS (0,16 EFLOPS), а для пессимистичной модели – лишь 9,2 PFLOPS. Количество стоек – 600. Вариант с ограничением потребляемой энергии в 20 MВт для оптимистичной модели обеспечит 20 PFLOPS (0,02 EFLOPS), а для Fully Scaled модели – 1 PFLOPS. Количество стоек – 78. В чем причины таких низких оценок?

Процессорное ядро используемых микропроцессоров оптимизировано для быстрого выполнения однотредовых программ за счет совмещения выполнения машинных команд – применяется спекулятивное выполнение команд не в порядке их следования в программе, что означает применение затратных механизмов динамического переименования архитектурных регистров, запуска команд по готовности операндов и ряда других приемов. Такие ядра слишком невыгодно масштабировать в кристалле из-за занимаемой ими площади и потребляемой энергии, вдобавок они эффективны лишь для программ с хорошей пространственно-временной локализацией обращений к памяти.

В таблице 2 приведены оценки специалистов Аргонской лаборатории эволюционного развития суперкомпьютеров «легкого» направления. Это направление эксперты DARPA рассматривают как более перспективное.

Микроархитектура микропроцессоров для суперкомпьютеров этого направления принципиально выбиралась простой и экономной по энергетике, и, судя по таблице 2, такой подход оказался полезным и для масштабируемости ядер в микропроцессоре – их будет 96. Простота ядра позволяет повысить и частоту – до 2,8 ГГц.

Тем не менее получение экзафлопса планируется здесь лишь к 2019 году и при двукратном превышении ограничения по потребляемой энергии – 40 MВт. Дополнительно стоит отметить специфичность решаемых на таких суперкомпьютерах задач — они не требуют глобально адресуемой памяти.

Революционный путь

Суперкомпьютеры от DARPA будут использовать самые передовые технологии и системы, создаваемые «с чистого листа», они не будут подвержены влиянию предыдущих разработок, однако при рассмотрении суперкомпьютеров этого направления [1,2] пока не приводятся конкретные архитектурные и микроархитектурные решения.

Примерная структура модуля (группы из 12 узлов) суперкомпьютера этого направления показана на рисунке. Используются 64-портовые коммутаторы, которые выполняют передачи как внутри группы, так и между группами. По-существу, применяются 12 многосвязных сетей на этих коммутаторах. Переход к таким многосвязным сетям уже начался – например, в суперкомпьютере Cray Baker (Cray XE6) применяются 48-портовые коммуникационные сопроцессоры-маршрутизаторы GEMINI. В данном суперкомпьютере пропускная способность сети благодаря этому была увеличена в 1000 раз по отношению к тому, что достигается на коммерчески доступных сетях, а задержки передачи сообщений уменьшены в три раза.

Общие характеристики такой системы образца 2015 года (таблица 3, система названа в [1] «агрессивной» из-за предполагаемой интенсивности применения в ней новых технологий и решений) получены исходя из того, что при ее создании будет применена технология 2013 года 32 нм, для которой характерны определенные затраты на выполнение тех или иных операций.

Отличительная черта суперкомпьютера данного направления – резко возросшая многоядерность в микропроцессоре: количество ядер 742, пиковая производительность 4,5 ТFLOPS, активная потребляемая мощность 150 Вт, а c учетом токов утечки – 215 Вт, 16 интерфейсов с локальной DRAM-памятью, объем которой в узле – 16 Гбайт.

Кто кого?

Из таблиц 1, 2 и 3 следует возможность достижения пиковой производительности, однако цель экзафлопсных проектов – выйти на уровень реальной производительности, а здесь оценки показывают, что к 2015 году этого сделать не удастся даже на таком благоприятном по развиваемой реальной производительности тесте, как Linpack. Это демонстрируют оценочные графики, приведенные в работе [1], – возможен десятикратный разрыв между достижимым в рамках эволюционного пути лучшим уровнем реальной производительности и поставленной целью достижения реального экзафлопса.

В [1] системы, создаваемые в рамках разных направлений, сравниваются по удельной эффективности. Интересно, что в 2012 году она будет в интервале от 0,1 GFLOPS/Вт до 1 GFLOPS/Вт, а требуемая для экзафлопсной системы эффективность в 2015 году составит 70-80 GFLOPS/Вт. Даже системы третьего направления к 2015 году не смогут достигать такой эффективности – их эффективность прогнозируется немногим более 10 GFLOPS/Вт. Интересны также данные по уровню параллелизма систем. Требуемый уровень к 2015 году – более миллиарда операций, запускаемых в системе за один такт, в настоящее время этот уровень – около одного миллиона. Революционная система лучше, но цели она также не достигает.

Экзафлопсы в России

Все перечисленные направления развития суперкомпьютеров имеют право на существование, несмотря на то что некоторые выглядят проигрышно, например «тяжелое». Кроме того, есть и дополнительные направления, где применяются эволюционные методы с элементами революционных. Примеры таких направлений – суперкомпьютер Roadrunner, а также недавно выпущенный китайский суперкомпьютер Nebulae, в котором применены многоядерно-мультитредовые универсальные микропроцессоры Intel и графические микропроцессоры Fermi с массовой многоядерностью и мультитредовостью. В любом случае разработчикам надо быть более осторожными и реалистичными, зная о поджидающих их трудностях, а заказчикам из различных ведомств следует требовать более четких обоснований предлагаемых вариантов суперкомпьютеров, ведь появился еще один ограничитель — энергетика, а время экстенсивных методов прошло.

Наиболее перспективно пока революционное «агрессивное» направление, продвигаемое DARPA, но и с ним есть проблемы по энергетике. Близкие к эволюционному направлению разработки в России имеются, а вот революционное направление, насколько известно авторам, пытались продвигать только в проекте «Ангара» [3] и в инициативной разработке «Тайфун».

Работы по революционному направлению невозможны без государственной поддержки и активного привлечения научной общественности. Организации типа DARPA в США, руководящей работами по суперкомпьютерной тематике, в России раньше не было, однако сегодня наметились позитивные изменения в этой сфере – происходят структурные и кадровые подвижки в ведомствах, отвечающих за высокотехнологичные отрасли национальной промышленности, запущена правительственная программа научно-исследовательских университетов и т.п. Экстремальный суперкомпьютинг, связанный с исследованиями и разработками экзафлопсных технологий и систем на их основе (стратегические ИТ) – достойное направление деятельности таких структур и организаций. Вопрос в том, кто возьмет на себя ответственность за постановку и организацию решения задачи создания суперкомпьютера экзафлопсной производительности, а пока целесообразно провести информационно-аналитическую работу по следующим проблемным направлениям: особенности экзафлопсных задач; системное программное обеспечение; новейшие языки программирования; отказоустойчивость; технологии реализации экзафлопсных систем.

Литература

  1. J.Dongarra et al. The International Exascale Software Project: A Call to Cooperative Action by the Global High Performance Community.
  2. ExaScale Computing Study: Technology Challenges in Achieving Exascale Systems. DARPA Information Processing Techniques Office, Air Force Research Laboratory, September 28, 2008.
  3. Анатолий Слуцкин, Леонид Эйсымонт. Российский суперкомпьютер с глобально адресуемой памятью // Открытые системы. – 2007, – №9. С. 42-51.

Виктор Горбунов (vitech@rdi-kvant.ru)  – сотрудник НИИ «Квант» (Москва), Леонид Эйсымонт (verger-lk@yandex.ru)  – сотрудник ЗАО «ВТ-Консалтинг» (Москва).

Таблица 1. Эволюционный путь, «тяжелое» направление

Таблица 2. Эволюционный путь, «легкое» направление

Таблица 3. Оценки DARPA характеристик революционной экзафлопсной системы

Модуль экзафлопсного суперкомпьютера от DARPA