Научная статья на тему 'Проблемы и перспективы достижения экзафлопного уровня производительности суперкомпьютерных систем'

Проблемы и перспективы достижения экзафлопного уровня производительности суперкомпьютерных систем Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
694
138
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ВЫСОКОПРОИЗВОДИТЕЛЬНЫЕ ВЫЧИСЛЕНИЯ / СУПЕРКОМПЬЮТЕРЫ / СИСТЕМЫ ЭКЗАФЛОПНОГО УРОВНЯ / HIGH-PERFORMANCE COMPUTING / SUPERCOMPUTERS / EXASCALE SYSTEMS

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Гергель Виктор Павлович, Линёв Алексей Владимирович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Гергель Виктор Павлович, Линёв Алексей Владимирович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

EXAFLOP PERFORMANCE OF SUPERCOMPUTERS: CHALLENGES AND TRENDS

The goal of this work is to analyze current state of the art and trends in the field of high-performance computing. It contains a review of current challenges and possible approaches to solving the problem of building exascale systems. We also discuss the new requirements that exascale software must meet.

Текст научной работы на тему «Проблемы и перспективы достижения экзафлопного уровня производительности суперкомпьютерных систем»

Информационные технологии Вестник Нижегородского университета им. Н.И. Лобачевского, 2012, № 3 (1), с. 189-198

УДК 004.382.2

ПРОБЛЕМЫ И ПЕРСПЕКТИВЫ ДОСТИЖЕНИЯ ЭКЗАФЛОПНОГО УРОВНЯ ПРОИЗВОДИТЕЛЬНОСТИ СУПЕРКОМПЬЮТЕРНЫХ СИСТЕМ

© 2012 г. В.П. Гергель, А.В. Линёв

Нижегородский госуниверситет им. Н.И. Лобачевского

alin@unn.ru

Пв-тусила вреВакцию 24.04.2012

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

Ключевые -лвва: высокопроизводительные вычисления, суперкомпьютеры, системы экзафлопного уровня.

Введение

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

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

Необходимость экзафлопных вычислений

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

промышленном производстве, образовании [13]. Уровень развития вычислительной техники и методов математического моделирования позволяет выполнять симуляцию и анализ природных и технологических процессов, что обеспечивает эффективное решение научных и производственных задач, предоставляя промыш-

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

Для многих приложений качество получаемого решения напрямую зависит от количественных характеристик моделирования, например, разрешающей способности модели или ее размерности, при этом использование более точных моделей позволяет получить решения качественно иного уровня. Таким образом, достигаемая фактическая производительность во многих случаях является ключевым моментом при получении значимых результатов, и важность задачи достижения максимальной производительности и эффективного использования высокопроизводительных вычислений постоянно подтверждается вниманием к ней со стороны представителей бизнеса и официальных лиц [4; 5].

Современные суперкомпьютеры обеспечи-

1 п16

вают выполнение до 10 операций с плавающей точкой в секунду (10 Петафлоп) при запусках тестов Linpack (но существуют и другие подходы к оценке их производительности) [69]. Достаточно ли подобной вычислительной мощности для решения современных задач? Конечно, любая имеющаяся производительность будет полностью потреблена пользователями, но даже грубая оценка необходимых объ-

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

• моделирование номинальных и переходных режимов работы ядерного реактора: для расчета процессов в реакторной установке требуется порядка 100 часов на машине производительностью 1 Эфлопс [10];

• проектирование и разработка изделий в авиастроении: при использовании метода прямого численного моделирования требуется использовать сетку размером 1016 элементов и выполнять не менее 10 шагов моделирования по времени [10];

• моделирование плазмы при использовании характерных размеров требует выполнения десятков тысяч шагов по времени с выполнением порядка 1015 операций на каждом шаге (всего порядка 1020 операций) [11; 12];

• квантово-химические расчеты малых систем для одного состояния методом связанных кластеров (Coupled Cluster Singles and Doubles, CCSD) для системы из нескольких десятков (~50) атомов требуют порядка 1014 операций [13]; при решении оптимизационных задач требуется выполнение расчетов для десятков тысяч состояний (при большом количестве измерений

- миллионов).

Исследовательская активность в области экзафлопных вычислений

В настоящее время в качестве ближайшего и непосредственного вызова рассматривается задача достижения экзафлопной производительности (выполнение 10 операций с плавающей точкой в секунду). Организация высокопроизводительных вычислений представляет собой комплексную задачу эффективного совместного использования аппаратных средств, системного и прикладного программного обеспечения, и для достижения экзафлопной производительности необходимо разработать решения для аппаратных (центральный процессор, оперативная память, долговременная память, сетевой интер-коннект, специализированные вычислительные устройства) и программных компонент (операционная система, модули времени исполнения, технологии параллельных вычислений, языки программирования и компиляторы, библиотеки вычислительных функций, среды разработки приложений, параллельные алгоритмы решения конкретных задач).

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

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

- направления, масштаб, подходы, методы, алгоритмы. Существуют и постоянно совершенствуются реализации, использующие методы молекулярной динамики (MD), первопринцип-ный (ab initio) подход к моделированию, подходы, основанные на использовании теории функционала плотности (DFT) (например, метод Ко-на-Шема), метод сеток Больцмана, методы, комбинирующие временные масштабы моделирования, гибридные методы моделирования частиц и полей, алгоритмы ренормализации матрицы плотности (DMRG), восстановления фазы, Монте-Карло и т.д. В частности, в настоящее время посредством методов молекулярной динамики и современных ускоренных схем их использования можно выполнить расчет поведения молекулярной системы размером до миллионов молекул в течение периода до сотен наносекунд; однако для моделирования более медленных процессов, таких, как затвердевание, кристаллизация или распространение трещин, требуется моделирование в гораздо большем масштабе времени. Группы исследователей участвуют в разработке множества средств моделирования: GROMACS [14], NAMD [15], LAMMPS [16], CPMD [17], ABINIT [18], NWChem [19], GaMESS [20] и др. - и выражают оптимизм в вопросе перспектив использования систем экзафлопного уровня, однако отмечают усложнение разработки для новых архитектур и существующие дисбалансы на уровне аппаратных и программных средств (например, разрыв производительности CPU и времени доступа к памяти и отсутствие/недостаточную развитость компиляторов для гибридных архитектур).

Компании-разработчики аппаратного и программного обеспечения работают над созданием новых моделей, технологий и средств программирования для высокопроизводительных систем. Однако современные решения - Cilk (MIT, Intel) [21; 22], Thread Building Blocks (TBB, Intel) [23], Task Parallel Library (TPL, Microsoft) [24], Grand Central Dispatch (GCD, Apple) [25], MPI [26], CUDA (NVidia) [27], OpenCL (Khronos Group) [28] - к настоящему моменту не могут быть непосредственно и изолированно использованы для разработки приложений экзафлопного уровня производительности по причине специализированности либо недостаточной гибкости (если говорить о применении единого решения, то наиболее перспективным авторы считают технологию OpenCL).

Разработчики аппаратного обеспечения предлагают новые архитектурные концепции и решения: архитектуру ManyCore (Intel), использование для вычислений графических ускорителей (NVidia, AMD Graphics) и программируемых логических микросхем (Xilinx, Altera, Actel и др.), новые поколения сетевых технологий и т.д.

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

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

• International Exascale Software Project [29];

• European Exascale Software Initiative [30];

• мероприятия в рамках ФЦП «Исследования и разработки по приоритетным направлениям развития научно-технологического комплекса России на 2007-2013 годы» [31];

• Межведомственная рабочая группа по развитию индустрии суперкомпьютеров в Российской Федерации и их применению в промышленности [32];

• программа DARPA Ubiquitous High Performance Computing (UHPC) [33; 34].

Приведенные ниже краткие описания современных проблем, тенденций и направлений исследований в областях, связанных с подготовкой к экзафлопным вычислениям, в основном базируются на отчетах рабочих групп, участвующих в перечисленных проектах [10; 35-39].

Основные проблемы, препятствующие дальнейшему повышению производительности

В течение 15 лет до 2004 года происходил экспоненциальный рост тактовой частоты процессоров, что позволяло использовать автоматическое увеличение производительности ранее разработанного программного обеспечения. Но хотя закон Мура [40; 41], обещающий экспоненциальный рост числа транзисторов, размещаемых на интегральной микросхеме, еще продолжал (и до сих пор продолжает) действовать, теория масштабирования Деннарда [42], пред-

полагавшая обратную линейную и квадратичную зависимости электрических и тепловых характеристик микросхем от коэффициента масштабирования, к этому времени перестала быть верной [43], и рост частоты процессоров замедлился (см. рис. 1, рис. 2).

Экстенсивный подход к повышению роста производительности систем, основанный на увеличении числа ядер в процессоре, числа узлов в вычислительной системе и использовании специализированных вычислителей (таких, как GPGPU и ПЛИС), к настоящему моменту еще не исчерпал своих возможностей, однако современные тенденции развития технологий указывают на их недостаточность для достижения экзафлопного уровня вычислений.

Выделяют следующие проблемы, которые требуют дополнительных исследований.

Энергопотребление. При сохранении текущих тенденций развития технологий система экзафлопной производительности, построенная на базе вычислительных элементов в 2020 г., будет содержать 108 вычислительных ядер и иметь мощность порядка 100 МВт [10] (рис. 3).

Текущая энергоэффективность высокопроизводительных систем - примерно 1 ГФлопс/Вт, для построения систем экзафлопно-го уровня необходимо достичь значений порядка 40-75 ГФлопс/Вт [З5;45].

Оперативная память и системы хранения данных. Современные технологии не обеспечивают возможности хранения объемов данных, необходимых для проведения экзафлопных вычислений, а также доступа к данным с приемлемой скоростью. Это относится как к оперативной памяти, так и к системам долговременного хранения данных.

Системы экзафлопного уровня будут иметь порядка 128 Пб оперативной памяти, имеющей многоуровневую архитектуру и объединенной в единое адресное пространство (без обеспечения когерентности кешей) [35].

Параллелизм. Замедление роста тактовой частоты оставило единственный путь повышения производительности вычислительных систем в целом - параллельные вычисления (оценка числа ядер в системах экзафлопного уровня -108-109, сотни ядер в одном процессоре [35]). В настоящий момент не существует архитектуры вычислительной системы, способной обеспечить эффективную работу подобного числа ядер. Современные технологии разработки приложений и их текущие реализации (OpenMP, TBB, Cilk+, MPI, CUDA, OpenCL и т.д.) также не готовы к эффективному использованию такого объема вычислительных ресурсов.

Transistor count

1Э80 1990 2000

Date of introduction

Рис. 1. Число транзисторов в ЦП общего назначения [41]

10,000-

1000-

N

X 100-

ю-

1

THE THERMAL BRICK WALL"

• • • • ■ • ® Core ¡7»

Pentium ill / Pentium®

8048Í 80386 • •

8080 • 80286

1970 1975 1980 1985 1990 1995 2000 2005 2010

Рис. 2. Тактовая частота процессоров архитектур x86/x86_64 [43]

2000 2002 2004 2006 2008 2010 2012 2014 2016 2018 2020

Year

Рис. 3. Энергоэффективность высокопроизводительных систем [44]

Надежность. Экстенсивный рост количества используемых компонент ведет к уменьшению времени наработки на отказ (MTBF). В настоящее время 20% вычислительной мощности высокопроизводительных систем теряется по причине возникших неисправностей и восстановления после них, типичные значения MTBF составляют от 8 часов до 15 дней [46]. Согласно прогнозам, для системы экзафлопного уровня, построенной в 2020 г., MTBF будет составлять от нескольких минут до 1 часа [10; 47].

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

Необходимые исследования

Для решения перечисленных проблем необходимо проводить междисциплинарные исследования по следующим основным направлениям [10;35-37;39].

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

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

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

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

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

Перспективные идеи и направления исследований

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

1. Оптимизация существующих решений с точки зрения энергоэффективности.

Многие современные микросхемы оптимизированы для производительности, доработка их энергоэффективности может дать существенный результат. В частности, отмечается возможность снижения энергопотребления коммуникационных микросхем на два порядка [36], микросхем оперативной памяти - на порядок.

2. Разработка и использование принципиально новых типов микросхем с пониженным энергопотреблением для ЦП, оперативной памяти и систем долговременного хранения данных.

3. Разработка новой архитектуры памяти.

Современная архитектура памяти (с учетом

тенденций ее развития) неприемлема для экза-флопных систем по причине недостаточности объема и производительности (латентности и пропускной способности). Несмотря на отдельные успехи в области разработки оперативной памяти, для решения проблем необходимо разрабатывать новую архитектуру памяти с учетом множества факторов:

- возможность использования дополнительных уровней памяти, например, между опера-

тивной памятью и жестким диском (для сохранения контрольных точек);

- явное и проактивное управление перемещением данных между уровнями архитектуры;

- разработка методов совместной упаковки разных уровней памяти для минимизации потребления электроэнергии в целом;

- разработка новых протоколов доступа к памяти и т.д.

4. Разработка новых методов соединения, упаковки и охлаждения микросхем.

Еще одно направление, которое может значительно повысить производительность и энергоэффективность вычислительной системы.

Архитектура вычислительных систем и новые модели программирования. С тех пор как вычислительные системы стали развиваться в направлении увеличения количества вычислительных элементов, растет разрыв между возможностями, предлагаемыми архитектурами, и существующими моделями программирования. Для преодоления этого разрыва требуется согласованная разработка новых архитектур и подходов к программированию для них. Основные перспективные направления довольно очевидны.

1. Вычислительная архитектура и программные модели, сокращающие передачи данных.

Минимизация передач данных уменьшает количество энергии, потребляемой средствами коммуникации, снижает требования к объему внутрипроцессорной памяти (например, количеству регистров), повышает производительность системы. Предлагаются следующие подходы:

- разработка архитектур с динамическим переключением мощностей на вычислительные элементы или коммуникационные для предоставления преимущества активности, преобладающей в настоящий момент;

- предоставление прикладным программам непосредственного контроля над различными уровнями архитектуры памяти;

- разработка программных моделей, позволяющих перемещать не данные к обрабатывающему их коду, а блоки кода к обрабатываемым данным и т.д.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

2. Архитектуры, использующие локальность.

Время доступа к данным и потребление

электроэнергии существенно зависят от расстояния, на котором находятся данные; таким образом, использование локальности данных -ключевое условие достижения экзафлопной производительности. Для эффективного выполнения необходимо, чтобы основная масса обращений к данным проходила к регистрам и памяти, близкой к исполняющим элементам

(например, кешу). Количество передач данных между чипами и, тем более, между вычислительными узлами, должно быть максимально ограничено.

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

и, таким образом, лишенные перспектив повышения производительности за счет использования локальности.

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

Являясь простой в понимании и реализации, такая схема использования памяти неэффективна в обеспечении локальности и минимизации расстояний передач данных. Управление той же архитектурой явным и проактивным образом (с использованием предвыборки данных) позволяет достичь большей производительности и энергоэффективности, что продемонстрировано на примере систем на базе архитектуры Cell BE, занимающих первые 4 места в списке наиболее энергоэффективных суперкомпьютеров [48] и показывающих высокую производительность в том числе за счет явного управления перемещением данных. Необходимо отметить, что программирование для архитектуры Cell BE подразумевает применение специальных моделей программ, требует от программиста знания архитектуры и явного использования ее преимуществ, а также может быть вычислительно эффективным только при решении ограниченного круга задач [49].

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

3. Унифицированные и гибридные модели программирования.

Использование специализированных высокопроизводительных устройств требует создания специализированных гибридных моделей и технологий программирования для них (например, CUDA [27]). Однако наличие унифицированных моделей существенно облегчает и ускоряет разработку (OpenCL [28]). Цель данного направления - создание методов приведения гибридных моделей и технологий к унифицированным и эффективная реализация этих методов.

4. Разработка специализированных моделей программирования.

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

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

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

1. Уровень операционной системы.

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

Перспективные направления исследований:

- масштабируемые стратегии управления ресурсами различных типов (вычислительные ядра, оперативная память и ввод-вывод, специализированные высокопроизводительные устройства);

- масштабируемость предоставления сервисов;

- надежность предоставления сервисов;

- новые типы файловых систем;

- симулятор аппаратной системы экзафлоп-ного уровня.

2. Уровень систем времени исполнения.

Задача систем времени исполнения - поддержка моделей и технологий программирования и их техническая реализация в части задач, решаемых в момент работы прикладной программы (распределение времени процессора, управление оперативной памятью, межмодульное взаимодействие, мониторинг производительности, устойчивость/надежность, потребление электроэнергии и т.д.), для экзафлопных систем - дополнительно максимизация производительности и энергоэффективности приложения.

Перспективные направления исследований:

- поддержка гетерогенности - автоматизация выбора исполняющего устройства (совокупности исполняющих устройств) для выполнения программы;

- балансировка загрузки вычислительных устройств;

- явное управление операциями ввода-вывода.

3. Требования и рекомендации для прикладных программ.

Приложения должны быть многопоточными и использовать миллиарды потоков - это необходимо для обеспечения загрузки вычислительных устройств и скрытия латентности обращений к памяти. Причем минимальные потери на синхронизацию, доступ к «далеким» данным или связанные с дисбалансом загрузки немедленно относятся к последовательной части закона Амдала [50] и существенно снижают общую производительность и масштабируемость.

Приложения на уровне своей архитектуры должны обеспечивать локальность данных, используемых потоками, а при наличии возможности - использовать явное управление архитектурой памяти (конечно, с учетом и использованием возможностей компилятора).

Обращение к памяти дольше и энергозатрат-нее выполнения нескольких арифметических операций. Необходимо минимизировать объем данных, обрабатываемых одним потоком, и хранить его в максимально «близкой» памяти, при необходимости перевычисляя часть значений.

Приложения должны использовать вычислительные возможности специализированных высокопроизводительных и энергоэффективных устройств, таких, как графические ускорители (GPU) и программируемые логические интегральные схемы (ПЛИС), которые с большой вероятностью будут включаться в системы эк-зафлопного уровня.

Автонастройка - приложение может использовать возможности самостоятельного планирования использования доступных вычислитель-

ных ресурсов в зависимости от свойств реализованных алгоритмов, не полагаясь на системы времени исполнения и операционную систему.

Можно с уверенностью утверждать, что большинство современных алгоритмов и приложений не соответствует предъявляемым требованиям. Необходимо переосмыслить существующие решения и адаптировать их к экза-флопному уровню (в первую очередь это касается математических алгоритмов, формирующих основную нагрузку на высокопроизводительные системы). Для облегчения портирова-ния существующих приложений необходимы программные инструменты инспекции и профилирования приложений для новых архитектур.

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

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

Выводы

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

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

- больше параллелизма (миллионы/миллиарды потоков исполнения);

- минимальное число передач данных;

- локальность использования данных;

- использование дополнительных вычислительных устройств (таких, как графические ускорители или ПЛИС).

Работа выполнена в рамках ФЦП «Исследования и разработки по приоритетным направлениям развития научно-технологического комплекса России на 2007-2013 годы» (госконтракт № 07.514.11.4012) при организационной поддержке Лаборатории информационных технологий ННГУ.

Список литературы

1. Суперкомпьютерные технологии в науке, образовании и промышленности / Под ред. акад. В.А. Са-довничего, акад. Г.И. Савина, чл.-корр. РАН Вл.В. Воеводина. М.: Изд-во МГУ, 2009.

2. Суперкомпьютерные технологии в науке, образовании и промышленности (Второй выпуск) / Под ред. акад. В.А. Садовничего, акад. Г.И. Савина, чл.-корр. РАН Вл.В. Воеводина. М.: Изд-во МГУ, 2010.

3. Суперкомпьютерные технологии в науке, образовании и промышленности (Третий выпуск) / Под ред. акад. В.А. Садовничего, акад. Г.И. Савина, чл.-корр. РАН Вл.В. Воеводина. М.: Изд-во МГУ, 2012.

4. Стенограмма «Начало совещания с членами Совета Безопасности по вопросам создания и применения суперкомпьютеров, 28 июля 2009 года». URL: http://kremlin.ru/transcripts/4959 (дата обращения

20.04.2012).

5. Obama B. A Strategy for American Innovation: Driving Towards Sustainable Growth and Quality Jobs. February 4, 2011. URL: http://www.whitehouse.gov/ administration/eop/nec/StrategyforAmericanInnovation (дата обращения 20.04.2012).

6. T0P500 Project : сайт. - URL: http://www. top500.org/ (дата обращения 20.04.2012).

7. T0P50 суперкомпьютеров : сайт. - URL: http:// top50.supercomputers.ru (дата обращения 20.04.2012).

8. Graph500 : сайт. - URL: http://www.graph500.org/ (дата обращения 20.04.2012).

9. HPC Challenge Benchmark : сайт. - URL: http://icl.cs.utk.edu/hpcc/index.html (дата обращения

20.04.2012).

10. Эксафлопные технологии. Концепция по развитию технологии высокопроизводительных вычислений на базе суперэвм эксафлопного класса (20122020 гг.) URL: http://filearchive.cnews.ru/doc/2012/03/ esk_tex.pdf (дата обращения 20.04.2012).

11. Вшивков В.А., Снытников А.В. Особенности проведения экзафлопс-расчетов в физике плазмы // Вычислительные методы и программирование. М.: Изд-во МГУ, 2012. Т. 13. С. 44-48.

12. Вшивков В.А., Вшивков К.В., Дудникова Г.И. Алгоритмы решения задачи взаимодействия лазерного импульса с плазмой // Вычислительные технологии. 2001. Т. 6. № 2. С. 47-63.

13. Гергель В.П. и др. Отчет ННГУ по опытноконструкторской работе по теме: «Разработка высокопроизводительного программного комплекса для квантово-механических расчетов и моделирования наноразмерных атомно-молекулярных систем и комплексов» в рамках федеральной целевой программы

«Исследования и разработки по приоритетным направлениям развития научно-технологического комплекса России на 2007-2012 годы», 2009.

14. Gromacs : сайт. - URL: www.gromacs.org (дата обращения 20.04.2012).

15. NAMD - Scalable Molecular Dynamics : сайт. -URL: www.ks.uiuc.edu/Research/namd/ (дата обращения 20.04.2012).

16. LAMMPS Molecular Dynamics Simulator : сайт.

- URL: http://lammps.sandia.gov/ (дата обращения

20.04.2012).

17. The CPMD Consortium page : сайт. - URL: http://www.cpmd.org/ (дата обращения 20.04.2012).

18. Home - ABINIT : сайт. - URL: http://www.abi-nit.org (дата обращения 20.04.2012).

19. NWChem: Delivering High-Performance Computational Chemistry to Science : сайт. - URL: http:// www.nwchem-sw.org/index.php/Main_Page (дата обращения 20.04.2012).

20. Gordon Group/GAMESS Homepage : сайт. -URL: http://www.msg.ameslab.gov/gamess/ (дата обращения 20.04.2012).

21. The Cilk Project : сайт. - URL: http:// supertech.csail.mit.edu/cilk/ (дата обращения

20.04.2012).

22. Intel Cilk Plus : сайт. - URL: http:// soft-ware.intel.com/en-us/articles/intel-cilk-plus/ (дата обращения 20.04.2012).

23. Threading Building Blocks from Intel : сайт. -

URL : http:// software.intel.com/ en-us/articles/intel-tbb/

(дата обращения 20.04.2012).

24. Task Parallel Library : сайт. - URL: http://msdn. microsoft.com/en-us/library/dd460717.aspx (дата обращения 20.04.2012).

25. Grand Central Dispatch (GCD) Reference : сайт.

- URL: https://developer.apple.com/library/mac/#docu-mentation/Performance/Reference/GCD_libdispatch_Ref/ Reference/reference.html (дата обращения 20.04.2012).

26. The Message Passing Interface (MPI) standard : сайт. - URL: http://www.mcs.anl.gov/research/projects/ mpi/ (дата обращения 20.04.2012).

27. Parallel Programming and Computing Platform | CUDA | NVIDIA. : сайт. - URL: http://www.nvidia. com/object/cuda_home_new.html (дата обращения

20.04.2012).

28. OpenCL - The open standard for parallel programming of heterogeneous systems : сайт. - URL: http://www.khronos.org/opencl/ (дата обращения

20.04.2012).

29. International Exascale Software Project : сайт. -

URL: http://www.exascale.org/iesp/Main_Page (дата

обращения 20.04.2012).

30. EESI project website Exascale Software Initiative: сайт. - URL: http://www.eesi-project.eu/pages/menu/ homepage.php (дата обращения 20.04.2012).

31. Федеральная целевая программа «Исследования и разработки по приоритетным направлениям развития научно-технологического комплекса России на 2007-2013 годы». URL: http://www.fcpir.ru/ca-talog.aspx?CatalogId=259 (дата обращения 20.04.2012).

32. Решение заседания Совета при Президенте Российской Федерации по развитию информацион-

ного общества в Российской Федерации, утвержденное Президентом Российской Федерации Д.А. Медведевым 12 февраля 2009 года № Пр-348. URL: http: //ictgov. ru/upload/iblock/a78/a78cd285dbc28134bf9 a3dd3477df49d.pdf (дата обращения 20.04.2012).

33. DARPA Broad Agency Announcement Ubiquitous High Performance Computing (UHPC). DARPA-BAA-10-37. March 2, 2010. URL: https://www.fbo.gov/ download/3d7/3d7cfa30b2b1a93332a444047dea52d8/ UHPC_BAA_final_3-2-10_post_(2).pdf (дата обращения 20.04.2012).

34. DARPA Developing ExtremeScale Supercomputer System. August 6, 2010. URL: http://www. darpa.mil/WorkArea/DownloadAsset.aspx?id= 1795 (дата обращения 20.04.2012).

35. Dongarra J., Beckman P. et al. The International Exascale Software Roadmap // International Journal of High Performance Computer Applications. 2011. V. 25. № 1.

36. Kogge P. at al. ExaScale Computing Study: Technology Challenges in Achieving Exascale Systems. September 28, 2008. URL: http://www.cse.nd.edu/ Re-ports/2008/TR-2008-13.pdf (дата обращения 20.04.2012).

37. Amarasinghe S. et al. ExaScale Software Study: Software Challenges in Extreme Scale Systems. URL: http://users. ece.gatech. edu/~mrichard/ExascaleComputin gStudyReports/ECSS%20report%20101909.pdf (дата обращения 20.04.2012).

38. Ashworth M., Jones A. (NAG) Working Group Report on Scientific Software Engineering, 2011. URL: http://www.eesi-proj ect.eu/media/download_gallery/ EESI-D4.6-WG4.4-report-R2.0.pdf (дата обращения

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

20.04.2012).

39. Daly J. et al. ASCR Tools Challenges for Exascale Computing, October 13-14, 2011. http://science. energy. gov/~/media/ascr/pdf/research/cs/Exascale%20Workshop/E xascale_Tools_Workshop_Report.pdf (дата обращения

20.04.2012).

40. Moore G.E. Cramming more components onto integrated circuits // Electronics. 1965. V. 38. № 8. Apr. 19.

41. Wikipedia - Moore's_law. URL: http://en.wiki-pedia.org/wiki/Moore's_law (дата обращения 20.04.2012).

42. Dennard R. et al. Design of ion-implanted MOSFETs with very small physical dimensions // IEEE Journal of Solid State Circuits. Oct. 1974. V. SC-9. № 5. P. 256-268.

43. IEEE solid-state circuits society news. The Impact of Dennard's Scaling Theory. Winter 2007. Vol. 12. № 1.

44. Energy Innovation Portal: The Sandia Cooler. URL: http://techportal.eere.energy.gov/image.xhtml?id=408&t echID=527 (дата обращения 20.04.2012).

45. Holland Ch. PERFECT Proposers Day Welcome and Program Description. 2012. URL: http://www.dar-pa.mil/WorkArea/DownloadAsset.aspx?id=2147484844 (дата обращения 20.04.2012).

46. Elnozahy E.N. (Mootaz) at al. System Resilience at Extreme Scale. URL: http://institute.lanl.gov/ resili-ence/docs/IBM%20Mootaz%20White%20Paper%20Syst em%20Resilience.pdf (дата обращения 20.04.2012).

47. DeBardeleben N. et al. High-End Computing Resilience: Analysis of Issues Facing the HEC Community and Path Forward for Research and Development http://institute.lanl.gov/resilience/docs/HECResilience_ WhitePaper_Jan2010_final.pdf (дата обращения

20.04.2012).

48. The Green500 : сайт. URL: http://www.green500. Технологии параллельного программирования для

org (дата обращения 20.04.2012). процессоров новых архитектур. М: Изд-во МГУ, 2010.

49. Линев А.В., Боголепов Д.К., Бастраков С.И. 50. Amdahl G. Validity of the Single Processor Ap-

EXAFLOP PERFORMANCE OF SUPERCOMPUTERS: CHALLENGES AND TRENDS

V.P. Gergel, A V. Linev

The goal of this work is to analyze current state of the art and trends in the field of high-performance computing. It contains a review of current challenges and possible approaches to solving the problem of building exascale systems. We also discuss the new requirements that exascale software must meet.

Keywords: high-performance computing, supercomputers, exascale systems.

proach to Achieving Large-Scale Computing Capabilities // AFIPS Conference Proceedings (30). 1967. P. 483-485.

i Надоели баннеры? Вы всегда можете отключить рекламу.