научная статья по теме СРАВНЕНИЕ ЭФФЕКТИВНОСТИ МНОГОСЕТОЧНОГО МЕТОДА НА СОВРЕМЕННЫХ ВЫЧИСЛИТЕЛЬНЫХ АРХИТЕКТУРАХ Математика

Текст научной статьи на тему «СРАВНЕНИЕ ЭФФЕКТИВНОСТИ МНОГОСЕТОЧНОГО МЕТОДА НА СОВРЕМЕННЫХ ВЫЧИСЛИТЕЛЬНЫХ АРХИТЕКТУРАХ»

ПРОГРАММИРОВАНИЕ, 2015, No 1, с. 21 31

ПАРАЛЛЕЛЬНЫЕ ВЫЧИСЛЕНИЯ -

УДК 519.6

СРАВНЕНИЕ ЭФФЕКТИВНОСТИ МНОГОСЕТОЧНОГО МЕТОДА НА СОВРЕМЕННЫХ ВЫЧИСЛИТЕЛЬНЫХ

АРХИТЕКТУРАХ *

© 2015 г. В.Т. Жуков, М.М. Краснов, Н.Д. Новикова, О.Б. Феодоритова

Институт прикладной математики им. М.В. Келдыша РАН 125047 Москва, Миусская пл., 4 E-mail: zhukov@kiam.ru, kmm@kiam.ru, nn@kiam.ru, feodor@kiam.ru Поступила в редакцию 12.09.2014

Исследована производительность современных процессорных архитектур при использовании масштабируемого компьютерного кода, представляющего ультрапараллельную реализацию многосеточного алгоритма решения параболических и эллиптических дифференциальных уравнений на трехмерных декартовых сетках. Показано, что код сохраняет эффективность при его функционировании на серверных многоядерных процессорах, графических ускорителях Nvidia и 60-ядерных сопроцессорах Xeon Phi архитектуры Intel MIC.

1. ВВЕДЕНИЕ

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

* Исследование выполнено за счет гранта Российского научного фонда (проект № 14-21-00025).

Многосеточный алгоритм является методом сквозного счета и не требует априорного выделения поверхностей разрыва коэффициентов и согласования с этими поверхностями координатных сеточных плоскостей. В данной работе показано, что компьютерный код сохраняет эффективность с ростом числа процессоров при его функционировании на современных процессорных архитектурах: на многоядерных процессорах традиционной архитектуры, графических ускорителях Nvidia и сопроцессорах Xeon Phi архитектуры Intel MIC. Проведено сравнение ука-заного кода с идеализированным вариантом многосеточного алгоритма MG из сборника тестов NAS Parallel Benchmark.

Проверка работоспособности схем на современных компьютерных архитектурах проводится в разных аспектах с учетом тенденций развития суперкомпьютеров на ближайшее пятилетие. Архитектурные тенденции в основном определились. К концу 2013 года уже свыше 30 суперкомпьютеров преодолели петафлопсный барьер. Доля решений Intel среди всех суперкомпьютеров составляет более 80%. Теперь она растёт не только за счёт многоядерных процессоров традиционной архитектуры, но и за счёт ускорителей

Xeon Phi архитектуры Intel MIC. Их использование стало новой тенденцией: уже тринадцать систем из рейтинга Топ-500 применяют их вместо ускорителей Nvidia и AMD. В 2013 году июньский и ноябрьский листы Топ-500 возглавляет Tianhe-2 ("Млечный Путь") Оборонного университета Китая. Эта модель содержит 16 тысяч вычислительных узлов, в каждом из которых расположено по два процессора Intel Xeon Е5-2692 и по три сопроцессора Intel Xeon Phi 31S1P. На каждый процессор выделяется по 32 Гб оперативной памяти, а на каждый сопроцессор - по 8 Гб памяти. Суммарный объём всех модулей памяти составляет тысячу терабайт. Отказ от ускорителей Nvidia в пользу Intel Xeon Phi объясняется тем, что хотя Intel MIC значительно уступает Nvidia Kepler по теоретическим показателям производительности, объединять решения от одного разработчика гораздо проще.

Считается, что для ускорителя Xeon Phi можно написать более эффективный программный код без типичных для CUDA Nvidia промежуточных преобразований. Поэтому реальные научные программы, запускаемые на Xeon Phi, могут требовать меньше интеллектуальных ресурсов и затрат рабочего времени на перенос программ при сопоставимых временных затратах на их выполнение. Сопроцессоры Xeon Phi позволяют использовать привычные языки программирования (С, С++, Fortran) и параллельные вычислительные средства OpenMP, MPI и пр.

В разделе 2 описываются вычислительные системы, на которых производится тестирование алгоритмов. В разделе 3 приведены результаты тестовых расчетов. Кроме двух примеров, взятых из стандартного набора тестов, основное внимание уделено демонстрации сравнительной эффективности параллельного кода многосеточного метода [1]-[4], разработанного для решения эллиптических и параболических задач. Часть тестов реализована с помощью операторной сеточной библиотеки [10].

2. ВЫЧИСЛИТЕЛЬНЫЕ СРЕДСТВА

Тестирование проведено на гибридном суперкомпьютере К-100 НИМ им. М.В. Келдыша РАН [5], сервере Super Micro с установленным сопроцессором Intel Xeon Phi [6], и, частично, на макете вычислительного узла, в котором установле-

ны четыре 12-ядерных процессора Intel Е7-4860 v2 (см. [13]). Дадим краткую характеристику вычислительных систем. Суперкомпьютер К-100 состоит из 64 вычислительных узлов. На каждом узле установлены по два 6-ядерных процессора Intel Xeon Х5670, т.е. задаче пользователя на одном узле доступно 12 ядер. Общая оперативная память узла составляет 96 Гб. Тактовая частота процессора Intel Xeon Х5670 равна 2.93 ГГц, Кэш - 12 Мб, электрическая мощность - 95Вт, на кристалле - 1.17 млрд транзисторов. Каждый узел содержит по 3 графических ускорителя nVideo Fermi С2050 с 448 ядрами и собственной памятью в 2.5 Гб. Сразу отметим, что относительно небольшая оперативная память графического ускорителя является для наших задач серьезным ограничением.

Вычислительный сервер Super Micro с установленным сопроцессором Intel Xeon Phi 5100 (в дальнейшем будем для краткости писать сопроцессор Xeon Phi) имеет следующую конфигурацию. В качестве управляющей хост-машины используется 4-ядерный процессор Intel Xeon с 64 Гб оперативной памяти. Сопроцессор Xeon Phi имеет 60 ядер с тактовой частотой 1.1 ГГц, электрическая мощность - 225 Вт. В каждом ядре могут выполняться 4 потока, всего 240 потоков, объём оперативной памяти сопроцессора Xeon Phi - 8 Гб. Сопроцессор использует архитектуру MIC и позволяет опираться на такие широко используемые среди вычислителей системы параллельного программирования как OpenMP и MPI.

Заметим, что тактовая частота каждого ядра сопроцессора Xeon Phi почти в три раза ниже (в 2.79 раза) тактовой частоты ядра базового процессора Xeon Х5670 суперкомпьютера К-100, но практически совпадает с тактовой частотой графического ускорителя NVIDIA, установленного на К-100.

Базовый процессор суперкомпьютера К-100 не является новым, но он относится к группе серверных процессоров, параметры которых достигли экстремальных значений достаточно давно и практически не меняются. Поэтому сравнение сопроцессора новой архитектуры Xeon Phi и серверного процессора Xeon Х5670 вполне разумно.

Макет вычислительного узла состоит из четырех 12-ядерных процессоров Intel Е7-4860 v2

(см. [13]) с тактовой частотой 2.6 ГГц. В режиме boost тактовая частота может быть автоматически увеличена до 3.2 Гц. Каждый процессор допускает 24 потока, пропускная способность памяти до 85 Гб/с; кэш-память 50 Мб, максимальный объем памяти до 1536 Гб, электрическая мощность - 130 ватт, на кристалле размещено 4.3 млрд. транзисторов. Цены процессоров Е7-4860 и Xeon Phi сравнимы и составляют около 3-4 тыс. долл., цена процессора Xeon Х5670 -около 1 тыс. долл.

3. РЕЗУЛЬТАТЫ ТЕСТИРОВАНИЯ

Будем использовать при тестировании популярные средства параллельных вычислений, такие как стандарт для многопоточного программирования с общей памятью ОрепМР, технология программирования в среде с разделенной памятью MPI, различные гибридные варианты MPI+OpenMP, MPI+CUDÀ.

В качестве характеристик масштабируемости используем, во-первых, отношение времени выполнения на одном процессе t1 к фактическому времени выполнения tn A(n) = ti/tn, где tn — время счета программы на n процессорах. Будем называть эту величину ускорением. Вторая характеристика близко связана с первой и оценивает эффективность программной реализации по формуле E(n) = t1/(n ■ tn).

Интересно сравнить производительность одного ядра сопроцессора Xeon Phi с одним ядром процессора Intel Xeon хост-машины, исследовать масштабируемость сопроцессора Xeon Phi при увеличении числа потоков (процессов), сравнить общую производительность сопроцессора Xeon Phi и ускорителя NVIDIA с использованием на этом ускорителе системы программирования CUDA (см. [7]).

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

В native режиме программа копируется на сопроцессор Xeon Phi (с помощью программы sep

копирования файлов между двумя компьютерами под управлением Linux или Unix) и запускается на сопроцессоре. Соответственно все данные располагаются в памяти сопроцессора. Все тесты, представленные ниже, запускались на сопроцессоре в native режиме.

Тест 1. В качестве первого взят простейший тест, в котором методом Монте-Карло вычисляется число п. Описание алгоритма, а также текст программы на языке С можно найти на сайте компании Intel (см. [8]).

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

Для дальнейшего прочтения статьи необходимо приобрести полный текст. Статьи высылаются в формате PDF на указанную при оплате почту. Время доставки составляет менее 10 минут. Стоимость одной статьи — 150 рублей.

Показать целиком