ISSN 2079-3316 ПРОГРАММНЫЕ СИСТЕМЫ: ТЕОРИЯ И ПРИЛОЖЕНИЯ № 1(19), 2014, с. 3-14
УДК 519.6
В. В. Чуданов, С. А. Горейнов, А. Е. Аксенова, В. А. Первичко,
А. А. Макаревич
Новый метод решения СЕЮ задач на кластерных ЭВМ петафлопсной производительности
АННОТАЦИЯ. Описывается новый метод решения CFD задач на кластерных ЭВМ петафлопсной производительности. Метод обладает высокой эффективностью и позволяет достигать значительного быстродействия за счет прямой реализации. Продемонстрирована масштабируемость, близкая к идеальной.
Ключевые слова и фразы: СРЭ, кластерные ЭВМ, петафлопсная производительность.
Введение
В ИБРАЭ имеется многолетний опыт разработки численных методов [1] для решения CFD задач как несжимаемой, так и слабо сжимаемой жидкости [2]-[4]. При решении задач гидродинамики несжимаемой жидкости основной трудностью является решение эллиптического уравнения для задачи поправки давления (уравнения Пуассона с дивергентной правой частью), поскольку оно является крайне ресурсоемким и занимает почти 90% всего времени решаемой проблемы. В качестве альтернативы предлагается использовать алгоритмы с малой сжимаемостью, что позволяет избежать трудностей решения уравнения Пуассона. Особого подхода при переходе к кластерным системам требует и решение уравнений параболического типа, возникающих в результате расщепления по физическим процессам решаемых задач математической физики.
Наблюдающийся в последние десятилетия стремительный рост вычислительных мощностей оказывает существенное влияние на разрабатываемые методы и вычислительные алгоритмы решения во всех областях науки. В настоящий момент уже стали привычными кластерные системы с быстродействием в несколько тераф-
© В. В. Чуданов, С. А. Горейнов, А. Е. Аксенова, В. А. Первичко, А. А. Макаревич, 2014 © ИБРАЭ РАН, 2014
© Программные системы: теория и приложения, 2014
лопс (1012 операций в секунду). Появились первые многопроцессорные компьютерные системы петафлопсной производительности (1015 операций в секунду), а к 2020 году ожидается появление многопроцессорных вычислительных систем с экзафлопсной (1018 операций в секунду) производительностью.
Реальное быстродействие или вычислительная эффективность многопроцессорных вычислительных систем на прикладных задачах зависит не только от успехов в области электроники, но и от эффективности алгоритмов распараллеливания и качества численных методов, применяемых для расчета физических процессов. Переход от одних разностных схем к другим может повысить реальное быстродействие на несколько порядков. Безусловно, такая оценка является очень приблизительной, она может иметь место только в том случае, если переход к новым вычислительным методам не ухудшает характеристик их эффективного распараллеливания.
Принимая во внимание сказанное выше, необходимо, учитывая темпы развития вычислительных мощностей, разрабатывать современные и адаптивные вычислительные алгоритмы и расчетные солверы, позволяющие осуществлять переход со стандартных систем с общей памятью на системы с распределенной памятью и супербольшие кластерные ЭВМ.
Для решения названной задачи в ИБРАЭ разрабатываются новые методы [2], [3], [5], позволяющие получать эффективные результаты, в частности, с помощью стандартных процедур на системах с распределенной памятью, использующих MPI-технологии.
В данной работе описывается прямой метод решения эллиптических уравнений (ПМРЭУ), а также быстрый прямой солвер (SMITH) для решения линейных систем с сепарабельной блочно-трехдиагональной матрицей для кластерных компьютеров.
1. Особенности метода
Существует достаточно много задач, требующих перебора большого количества комбинаций данных для выбора оптимального решения. Такие задачи очень трудоемки для памяти персонального компьютера, поэтому существуют методы ограниченного перебора (оптимизация решения задачи в процессе решения). Одним из эффективнейших методов построения и анализа алгоритмов является метод, основанный на стратегии «разделяй и властвуй». Алгоритм разделяет задачу на более мелкие подзадачи, а затем собирает решение основной задачи «снизу вверх». Метод применим только в случаях, когда подзадачи являются независимыми. Если подзадачи будут взаимозависимыми, то алгоритм будет делать лишнюю работу, решая одни и те же подзадачи по несколько раз. Метод первоначально был введен в [6]. После этого еще несколько работ были опубликованы по той же теме, включая [7].
Разбиение исходного множества на подмножества должно производиться таким образом, чтобы в каждом полученном подмножестве доминировал (властвовал) один из классов. Параметры разбиения на каждом шаге должны выбираться так, чтобы обеспечить максимальное преобладание одного из классов. Например, в случае решения линейных систем это отделяемые блоки трехдиаго-нальных матриц.
В общем, стратегия «разделяй и властвуй» сводится к трем основным шагам:
(1) разделению задачи на подзадачи, как правило, меньшего размера;
(2) решению каждой из подзадач (напрямую, если они достаточно небольшого объёма — иначе рекурсивно, разбивая на меньшие части) ;
(3) объединению полученных решений подзадач.
Существует несколько пакетов, находящихся в свободном доступе, которые принадлежат описываемому классу солверов и позволяют решать эллиптические уравнения, дискретизованные на регулярной трехмерной сетке [7]-[9]. Наше внимание привлекли подпрограммы, реализующие так называемый быстрый прямой
метод [7] для двумерного и трехмерного случая (солверы dc2d и dc3d) — по объему кода и по быстродействию они оказались привлекательнее как многосеточного метода SMG в реализации HYPRE [8], так и алгебраического аггломерационного метода AMG в реализации DUNE [9]. Мы провели анализ данных подпрограмм и пришли к выводу, что они имеют ряд ограничений, которые мы и попытались устранить [4], [5] в нашей версии прямого метода решения эллиптических уравнений, получившего сокращенное название ПМРЭУ. Далее, мы будем говорить только о трехмерной версии.
Сначала перечислим обнаруженные нами ограничения:
• большие вычислительные погрешности в случае сеток с переменными шагами;
• невозможность счета при количестве процессоров np свыше 256;
• невозможность счета при np1 Ф np2 .
Алгоритм ПМРЭУ был реализован в виде солвера SMITH, который в отличие от солвера dc3d позволяет:
• кроме дискретного аналога задачи «1
4(x) ^
cu + div
к 2 (y)
к 3(z)
grad u = f
решать и дискретный аналог
(х)^(У)к3(г^га^ ) = f ;
• использовать условия Дирихле или Неймана общего вида;
• аппроксимировать краевое условие Неймана со вторым порядком точности вместо первого;
• использовать вместо сетки процессоров 2к х 2к х 1 сетку 2к х2-* х1, где к и ] не связаны друг с другом.
ПМРЭУ предназначен для решения линейных систем с сепара-бельными ленточными матрицами вида
А = А1 х К2 х К3 + К1 х А2 х К3 + К1 х К2 х А3,
В. В. Чуданов, С. А. Горейнов, А. Е. Аксенова, В. А. Первичко, А. А. Макаревич 7 где A X B = [akjB^ . означает кронекерово произведение матриц,
Aj — симметричные трехдиагональные, а Kj — диагональные матрицы.
Сведение простейшей дискретизации уравнения
div(K1(x)K2(y)K3(z)grad u) = f ,
рассматриваемого на брусе с граничными условиями Дирихле и Неймана, к виду A = A1 х K2 x K3 + K1 x A2 x K3 + K1 x K2 x A3 в данной работе не рассматривается. Авторами запланирована отдельная публикация разработанного подхода в журнале «Известия Российской академии наук. Энергетика».
2. Особенности параллелизации
Параллелизация основного алгоритма состоит в разбиении полос всех уровней по вычислительным ядрам. Единственная техническая проблема состоит в передаче данных Дирихле между соседними полосами. Основная трудность параллелизации заключается в эффективной реализации частичных задач. А именно: все три указанных выше шага требуют разбиения по вычислительным ядрам, при этом первый и третий шаги требуют обменов, тогда как решения систем на втором шаге не зависят друг от друга.
И при разбиении полос, и при решении частичных задач необходимо учитывать, что элементом решения трехмерной задачи является задача двумерная, так что между выделенным числом ядер на полосу, соответствующую трехмерной задаче, и числом ядер на «двумерную» полосу будет жесткая связь.
Пусть число процессоров по одной оси, npi , есть степень двойки. Локальное число полос (Iocs) на уровне X тогда будет
Iocs = 4X-1/npi .
Минимальное условие баланса работы состоит в том, чтобы на последнем уровне не было не занятых работой ядер. Поскольку последний уровень может быть нерегулярным, то locs не должно
быть менее 4. В силу следующей леммы [5] неравенство 8npi < npi +1 гарантирует нам Iocs > 4 .
Лемма: Пусть длина исходной полосы равна n; +1 , где n; е N . Пусть X — последний уровень, то есть такой, на котором 2 < xx < 3 или 3 < x^ < 4 . Тогда справедливы оценки
ni +1 < 4X , ni > 4X-1.
Использованы обозначения: x — длина полосы, x = kq + r , где 0 < r < k , k — число частей, на которое разбивается полоса, k > 1.
Далее, предположим, что разбиение n; +1 степеней свободы по np ядрам происходит по целым полосам последнего (nlev) уровня — из условия наилучшего баланса. На последнем уровне работа состоит в решении подзадач, размерность которых по разбиваемой оси составляет 1, 2 или 3 (длина полосы без единицы). Поэтому естественно ограничить число ядер для такой подзадачи малым числом. Мы используем ограничение: число ядер по оси i на полосу (nps) для последнего уровня не более 1. В силу леммы неравенство 4npi < ni +1 гарантирует нам nps = np^4X_1 < 1.
Детали параллельной реализации кода SMITH подробно изложены в работе [5]. Приведем здесь только оценку времени параллельного счета.
Теорема: Пусть модель сети такова, что пересылки по разным парам адресов не мешают друг другу, и время пересылки сообщения длины m равно а + /т . Пусть также время выполнения одного флопа равно ф, размерность процессорной сетки npx хnpy х... , и размерность расчетной сетки nx х ny х— Тогда параллельное время счета нашей реализации быстрого прямого метода (SMITH) для задачи в d измерениях допускает оценку
В. В. Чуданов, С. А. Горейнов, А. Е. Аксенова, В. А. Первичко, А. А. Макаревич 9 Т(х,у,",г) <С,(а+^пу-пг)log2прх +
пх ^п (у,...,г) ,
С2 Тй-1 + ПРх
С3Пу I ~ + l0gnРx [
У I ПРх )
В частности, на кубических сетках пX пX п с общим числом ядер Ир , равномерно распределенным по осям, имеем оценку
( ,.3 ,„3,__„Л
Т3 < (С4а + С5п2^)^ЫР + С6
n n logn
v NpP +
/
3. Основные результаты
В данном разделе приведены результаты расчета тестовой задачи естественной конвекции в полости с разнотемпературными стенками (международная база данных ERCOFTAC) с помощью кода SMITH. Масштабируемость кода SMITH сравнивалась в двух формах, «слабой» и «сильной». Здесь мы приводим результаты только сильной масштабируемости. Более детально этот вопрос обсуждается в [4].
Сильная масштабируемость характеризуется числом
pqT(N, pp) pT(N,p) .
График, иллюстрирующий динамику изменения времени расчета в секундах в зависимости от количества процессоров при сильной масштабируемости, полученный на суперкомпьютере BlueGene/Q (ANL), представлен на РИС. 1 и демонстрирует идеальную масштабируемость вплоть до 256 тысяч процессоров, что позволяет говорить о перспективности развитого подхода при наличии стабильно работающего оборудования.
С помощью разработанного метода были также проведены CFD расчеты слепого теста OECD/NEA-MATiS-H (KAERI, Корея, CFD4NRS4) на кластере BlueGene/Q(ANL). MATiS-H — тестовая
установка с холодным циклом, используется в качестве гидравлического теста в связке стержней с разными типами дистанциони-рующих решеток (ДР) в условиях нормального давления и температуры.
X. J_
-■-SMITH BlueGene/Q(ANL) -Идеальная кривая
Т 1 ...... ........1
1000 10000 100000 1000000 Количество процессоров
РИС. 1. Расчет эксперимента ERCOFTAC с помощью SMITH-
солвера на кластере BlueGene/Q(ANL)
На РИС. 2 показана ДР split типа и результаты расчета усредненной скорости V на удалении от ДР 0.5 диаметра вниз по течению при у = 16.56 мм в сравнении с экспериментальными данными.
На РИС. 3 показана ДР split типа вместе со стрежнями и результаты расчета усредненной rms скорости V на удалении от ДР 0.5 диаметра вниз по течению при у = 16.56 мм в сравнении с экспериментальными данными. Как можно видеть из рисунков, совпадение в обоих случаях очень хорошее.
По результатам теста институтом KAERI (Корея) в июле этого был выпущен отчет [10], где в рейтинге кодов при расчете экспе-
римента МАТВ-Н код CONV-3D (ИБРАЭ) занял общее 4 место. Для сравнения американский код №к5000 (А№Ь) занял общее 3 место.
1 \
ф
Ли
\/ "
\ • V
К)
ДР split типа
V/Wbulk
РИС. 2. Результаты расчета ОЕСБ/КЕА-МАТ18-Н теста на кластере BlueGene/Q(ANL)
ДР + стержни
045 ■ • Эксперимент - Расчет
% ••
• •
'Л А
J ч ^L.
1 /1
/v V
ООО-
Vrms/Wbulk
РИС. 3. Результаты расчета ОЕСБ/КЕА-МАТ18-И теста на кластере Б1иеСепе^(АКЬ)
Заключение
Разработан новый метод и на его основе создан и протестирован быстрый прямой солвер для решения линейных систем с отде-
лимым блоком трехдиагональных матриц для кластерных компьютеров.
Солвер обладает высокой эффективностью и позволяет достигать значительного быстродействия за счет прямой реализации. Продемонстрирована масштабируемость, близкая к идеальной.
Требуется проведение дальнейших исследований разработанного алгоритма, а также кода SMITH.
Список литературы
[1] Chudanov V. V., Churbanov A. G., Vabishchevich P. N., Strizhov V. F., A numerical study on natural convection of a heat-generating fluid in rectangular enclosures // Int. J. Heat Mass Transfer. 1994. № 37(18), p. 2969-2984.
[2] Чуданов В. В., Аксенова А. Е., Первичко В. А. Методы прямого численного моделирования турбулентности с использованием DNS и LES подходов в задачах теплогидравлики ТВС // Известия Академии Наук, серия Энергетика, 2007. № 6, с. 4757.
[3] Методы вычислительной гидродинамики для анализа безопасности объектов ТЭК // Труды ИБРАЭ РАН / Под. общей ред. чл.-корр. РАН Л.А. Большова. 2008. Вып. 3. 207 с.: ил. М: Наука.
[4] Чуданов В.В., CFD код CONV-3D для расчета теплогидроди-намики в элементах ЯЭУ с использованием супер-ЭВМ // Межд. Науч.-тех. конференция «Инновационные проекты и технологии ядерной энергетики», 27-29 ноября 2012 года, г. Москва. ОАО НИКИЭТ. Секция 5.
[5] Горейнов С.А. Быстрый прямой метод для сепарабельных ленточных матриц на трехмерной сетке процессоров // Вычислительные методы и программирование. 2014. 12 с. В печати.
[6] Vassilevskii P. S. Fast algorithm for solving a linear algebraic problem with separable variables // C. r. Acad. Bulg. Sci. 1984. № 37, p. 305-308.
[7] Kuznetsov Yu. A., Rossi T. Fast direct method for solving algebraic systems with separable symmetric band matrices. // East-West J. Numer. Math. 1996. № 4, p. 53-68.
[8] Brown P. N., Falgout R. D., Jones J. E. Semicoarsening multigrid on distributed-memory machines. // SIAM J. Sci. Comput. 2000. V. 21. p. 1823-1834. URL: http://www.hypre.org/
[9] Blatt M., Bastian P. On the generic parallelization of iterative solvers for the finite element method // Int. J. Comp. Sci. and Engrg. 2008. V. 4. № 1. p. 56-69. URL: http://www.dune.org/
[10] Report of the OECD/NEA KAERI Rod Bundle CFD Benchmark Exercise. // KAERI. 2013. № NEA/CSNI/R(2013)5, p.70-75.
Рекомендовал к публикации Программный комитет
Второго национального суперкомпьютерного форума НСКФ-2013
Об авторах:
Владимир Васильевич Чуданов
Кандидат физико-математических наук, старший научный сотрудник, заведующий лаборатории Вычислительной тепло и гидродинамики института проблем безопасного развития атомной энергетики (ИБРАЭ РАН) e-mail: chud@ibrae.ac.ru
Сергей Анатольевич Горейнов
Кандидат физико-математических наук, научный сотрудник ИБРАЭ РАН, старший научный сотрудник ИВМ РАН
e-mail: sergei@bach.inm.ra.ru
Анна Евгеньевна Аксенова
Кандидат физико-математических наук, старший научный сотрудник лаборатории Вычислительной тепло и гидродинамики института проблем безопасного развития атомной энергетики (ИБРАЭ РАН)
e-mail: aks@ibrae.ac.ru
Валерий Алексеевич Первичко
Старший научный сотрудник лаборатории Вычислительной тепло и гидродинамики института проблем безопасного развития атомной энергетики (ИБРАЭ РАН)
e-mail:
valper@ibrae.ac.ru
Младший научный сотрудник лаборатории Вычислительной тепло и гидродинамики института проблем безопасного развития атомной энергетики (ИБРАЭ РАН)
Артем Андреевич Макаревич
amak@ibrae.ac.ru
Образец ссылки на публикацию:
В. В. Чуданов, С. А. Горейнов, А. Е. Аксенова, В. А. Первичко, А. А. Макаревич. Новый метод решения CFD задач на кластерных ЭВМ петафлопсной производительности // Программные системы: теория и приложения: электрон. научн. журн. 2013. T. 5, № 1(19), с. 3-14.
URL: http://psta.psiras.ru/read/psta2014_1_3-14.pdf
V. V. Chudanov, S. A. Goreinov, A. E. Aksenova,
V. A. Pervichko, A. A. Makarevich. New method for solving of CFD problems at clustered computers petascale performance.
ABSTRACT. A new method for solving of CFD problems on the clustered petascale computers is described. The method is highly effective and can achieve significant performance under direct realization. A scalability this method close to ideal was demonstrated.
Key Words and Phrases: CFD, clustered computers, petascale performance.