Разбиение больших сеток

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

УДК 004.021

РАЗБИЕНИЕ БОЛЬШИХ СЕТОК © 2012 г. Е.Н. Головченко

Институт прикладной математики им. М.В.Келдыша РАН, Москва

ge03@imamod.ru

Поступила в редакцию 10.09.2012

При численном решении задач гидрогазодинамики и механики на распределенных вычислительных системах возникает задача сбалансированного распределения сетки по процессорам. Число процессоров, на котором будет считаться вычислительная задача, зачастую заранее неизвестно. Поэтому имеет смысл разбивать сетку на большое число микро-доменов, а потом формировать из них домены. Целью работы является получение сбалансированных разбиений треугольных и тетраэдральных сеток, содержащих до 109 вершин, на большое число связных микро-доменов. Создан комплекс программ параллельной декомпозиции сеток. В комплекс вошли два алгоритма: параллельный алгоритм геометрической декомпозиции сеток и параллельный инкрементный алгоритм декомпозиции графов. Проведено сравнение разбиений на микро-домены четырех тетраэдральных сеток (порядка 108 вершин, 109 тетраэдров, 109 ребер), полученных методами созданного комплекса программ, пакета РАДМЕТК, пакета ZOLTAN и пакета РТ^СОТСН. Проведено сравнение различных разбиений графов микро-доменов на домены, а также разбиений сразу на домены.

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

Введение

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

Задача сбалансированного разбиения сетки на домены сводится к более общей задаче раз-

биения графа на домены. В этом случае бьется граф, соответствующий коммуникационным нагрузкам сетки. Существует несколько моделей декомпозиции графов [1], отличающиеся видом графа и критериями сбалансированного разбиения. В случае разбиения сеток хорошо себя зарекомендовал наиболее распространенный подход, использующий стандартную модель графа. В нем сетка аппроксимируется неориентированным графом Є = (V, Е), где V -множество вершин, Е - множество ребер. И вершины, и ребра имеют вес. Оптимальным считается разбиение на домены, при котором выровнен суммарный вес вершин в доменах и минимизирован суммарный вес разрезанных ребер между доменами (разрезанное ребро -ребро, соединяющее вершины из разных доменов). В данной модели суммарный вес вершин в доменах отвечает за равномерность разбиения сетки на домены (а в дальнейшем равномерность распределения по процессорам, которые будут обрабатывать эти домены), а суммарный вес разрезанных ребер - за коммуникационную нагрузку между процессорами. Как известно, данная задача декомпозиции графа является NP-полной, поэтому для ее решения используются различные эвристические методы: алгоритмы рекурсивных координатной бисекции, инерциальной бисекции, спектральной бисекции, алгоритм Kemighan-Lin (КЬ) и Fiduccia-

Mattheyses (FM), жадные алгоритмы (greedy methods), иерархические алгоритмы. Эти алгоритмы реализованы в следующих последовательных пакетах декомпозиции графов: METIS, JOSTLE, SCOTCH, CHACO и PARTY. К параллельным пакетам относятся PARMETIS (параллельная версия пакета METIS), JOSTLE, PT-SCOTCH (параллельная версия пакета SCOTCH) и ZOLTAN.

Целью данной работы является получение сбалансированных разбиений треугольных и тетраэдральных сеток на большее число связных микро-доменов.

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

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

Областью данного исследования являются нерегулярные (треугольные и тетраэдральные) сетки, содержащие до 109 вершин. В настоящее время такие сетки невозможно разместить в памяти одного процессора, следовательно, разбить их можно только параллельным алгоритмом. Методы разбиения графов параллельных пакетов PARMETIS, JOSTLE, PT-SCOTCH и ZOLTAN основываются на иерархических алгоритмах, состоящих из следующих частей: поэтапное огрубление графа, декомпозиция самого маленького из полученных графов и отображение разбиения на предыдущие графы с периодическим локальным уточнением границ доменов. Недостатком таких алгоритмов является образование доменов, границы которых состоят из неоптимальных наборов сегментов [2]. В частности, домены могут оказаться несвязными. Такое ухудшение качества доменов

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

Пакет JOSTLE разбивает на число доменов, равное числу процессоров, на которых производится разбиение. Поэтому для разбиения на микро-домены он не подходит. Кроме того, пакет JOSTLE не выложен в свободном доступе, и получение его проблематично. Пакет PAR-METIS является основным пакетом, который используется в данный момент для разбиения сеток. Еще одним недостатком пакета PAR-METIS является получение сильно несбалансированных разбиений.

В рамках данной работы был создан комплекс программ декомпозиции больших сеток на большое число микро-доменов. В него вошли два алгоритма: параллельный алгоритм геометрической декомпозиции сеточных данных и параллельный инкрементный алгоритм декомпозиции графов.

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

Комплекс программ параллельной декомпозиции сеток

Комплекс программ параллельной декомпозиции сеток включает в себя два алгоритма: параллельный алгоритм геометрической декомпозиции сеточных данных и параллельный инкрементный алгоритм декомпозиции графов. Оба алгоритма реализованы на распределенной памяти с использованием библиотеки MPI.

Параллельный алгоритм геометрической декомпозиции основан на методе рекурсивной координатной бисекции. Параллельные алгоритмы геометрического разбиения реализованы только в пакетах PARMETIS и ZOLTAN. В пакете PARMETIS геометрический алгоритм основывается на разбиении кривой Гильберта. В пакете ZOLTAN реализованы три геометрических алгоритма: рекурсивной координатной

бисекции, рекурсивной инерциальной бисекции

и алгоритм, разрезающий кривую Гильберта. Отличие рекурсивной координатной бисекции созданного алгоритма от аналогичного алгоритма в пакете 20ЬТЛК состоит в том, что разбиение производится одновременно по нескольким координатам. Вершины сортируются сначала по одной координате, потом внутри нее по следующей координате в циклическом порядке и т.д., что позволяет обрабатывать случаи нескольких узлов с одним значением координаты. В результате медиана проводится точно, и в разбиении на равные домены числа вершин в доменах отличаются не больше, чем на единицу. В пакете 20ЬТЛК вершины из медианы распределяются по областям произвольным образом, что хотя и сохраняет разницу числа вершин в доменах, не превышающей единицу, но увеличивает число разрезанных ребер. Достоинствами параллельного алгоритма геометрической декомпозиции, как и других геометрических методов, являются экономичное использование памяти и относительная быстрота работы. Недостатками является то, что алгоритм не учитывает связи между вершинами, и ему требуется геометрическая информация о сетке. Целью создания данного алгоритма являлось получение сбалансированных разбиений на микродомены. В частности, при разбиениях на равные части, разница числа вершин в доменах не превышает единицу.

Параллельный инкрементный алгоритм основан на последовательном инкрементном алгоритме декомпозиции графов, созданном М.В. Якобовским из ИПМ им. М.В.Келдыша РАН [3]. Достоинством параллельного инкрементного алгоритма является формирование связных доменов. Сбалансированность разбиений, получаемых таким алгоритмом несколько хуже, чем разбиений, получаемых алгоритмами геометрической декомпозиции, но заметно лучше, чем разбиений, получаемых пакетом РАКМЕТ^, а также пакетом РТ-БСОТСИ. Наличие геометрической информации для алгоритма необязательно, поскольку предварительное распределение вершин по процессорам можно получить огрублением графа, вместо геометрической декомпозиции.

Подробное описание алгоритмов можно посмотреть в статье [4].

Результаты разбиений на микро-домены

Вычисления проводились на кластере МВС-100К (1460 модулей по два четырехъядерных процессора Ме1 Хеоп, 140.16 ТР1ор^).

Четыре сгущающиеся тетраэдральные сетки,

содержащие 108^2.7-108 вершин, 7-108^1.6-109 тетраэдров, 8-108^1.9-109 ребер, были разбиты на 25600 микро-доменов методами PartKway (на графиках обозначен PK) и PartGeomKway (на графиках PGK) пакета PARMETIS, методами GeomDecomp (параллельный алгоритм геометрической декомпозиции, на графиках G) и In-crDecomp (параллельный инкрементный алгоритм, на графиках I) разработанного комплекса программ параллельной декомпозиции сеток, иерархическим диффузионным алгоритмом пакета PT-SCOTCH и методами RCB, RIB и HSFC пакета ZOLTAN. Методы PartKway и Part-GeomKway пакета PARMETIS основаны на иерархическом алгоритме разбиения графов. В PartGeomKway выполняется предварительное геометрическое разбиение. Метод RCB пакета ZOLTAN основан на алгоритме рекурсивной координатной бисекции, метод RIB - на алгоритме рекурсивной инерциальной бисекции, HSFC выполняет геометрическое разбиение с использованием кривой Гильберта. Метод Part-Geom (аналог HSFC) пакета PARMETIS не подходит для разбиения на микро-домены, так как в нем предполагается равенство числа формируемых доменов числу процессоров, на которых проводится разбиение. Метод PHG (разбиение гиперграфа) пакета ZOLTAN не может бить такие большие сетки, а небольшую сетку, содержащую 2-105 вершин, разбил на 200 доменов с образование двух доменов с нулевым числом вершин. Метод REFTREE пакета ZOLTAN разбивает кривую Гильберта с использованием дерева, отображающего процесс адаптивного уточнения, которым была построена сетка. Для рассматриваемых сеток этот метод неприменим.

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

Рис. 1

Как видно из рис. 1, наибольшее отклонение

у методов PartKway и PartGeomKway пакета PARMETIS (50-60 %), у PT-SCOTCH отклонение порядка 10%, у всех остальных методов - в среднем меньше 1%. Наименьшие отклонение с разницей в одну вершину у методов геометрической декомпозиции GeomDecomp, RCB, RIB и HSFC.

На рис. 2 представлено число несвязных микро-доменов из 25600 в разбиениях четырех тетраэдральных сеток различными методами.

Число несвязных микро-доменов из 25600

ся

О-

Число несвязных микро-доменов 1  Число несвязных микро-доменов 2

Число несвязных микро-доменов 3  Число несвязных микро-доменов 4

Рис. 2

На рис. 3 представлен фрагмент данной гистограммы, не учитывающий разбиения методами RIB и HSFC пакета ZOLTAN. Для наглядности порядок сеток изменен, при этом цвета, относящиеся к сеткам, сохранены. Как видно из рис. 2 и 3, наибольшее число несвязных микродоменов в разбиениях, полученных методом HSFC пакета ZOLTAN (4%). Методом RIB формируется 1-2 % несвязных микро-доменов, остальными методами - меньше 1% (порядка 30-40 микро-доменов из 25600). Наименьшее число несвязных микро-доменов в разбиениях, полученных методом IncrDecomp (не больше 1 несвязного микро-домена) и PT-SCOTCH (7 несвязных микро-доменов).

Число несвязных микро-доменов

О-

иЧисло несвязных микро-доменов 3 пЧиспо несвязных микро-доменов 2

Число несвязных микро-доменов 4  Число несвязных микро-доменов 1

Рис. 3

На рис. 4 представлено число разрезанных ребер в разбиениях четырех тетраэдральных сеток на 25600 микро-доменов различными методами. Для наглядности порядок сеток изменен, при этом цвета, относящиеся к сеткам, со-

хранены. Как видно из рис. 4, наибольшее число разрезанных ребер у метода HSFC пакета ZOLTAN, наименьшее - у методов PartKway и PartGeomKway пакета PARMETIS. Методы геометрической декомпозиции GeomDecomp, RCB и RIB, не учитывающие связи между вершинами, дают разбиения с большим числом разрезанных ребер, чем методы разбиения графов. В разбиениях, полученных IncrDecomp и PT-SCOTCH, число разрезанных ребер немного больше, чем у методов PartKway и PartGeomKway пакета PARMETIS, PT-SCOTCH несколько выигрывает у IncrDecomp. Такое число разрезанных ребер в разбиениях, получаемых методом IncrDecomp, объясняется достаточно большой степенью локальности формирования микро-доменов на процессорах.

Число разрезанных ребер между микро-доменами

Рис. 4

По сумме критериев наилучшими оказались методы ОеошБесошр, ЯСБ, ІпсгБесошр и диффузионный алгоритм пакета РТ-БСОТСИ. Методы геометрического разбиения ОеошБесошр и ЯСБ за наименьшее время на небольшом числе процессоров получают разбиения с разницей числа вершин в микро-доменах, не превышающей единицу. Методы ОеошБесошр несколько выигрывает у ЯСБ по числу разрезанных ребер и числу несвязных микро-доменов, но проигрывает по времени. Методы ІпсгБесошр и РТ-БСОТСИ получают разбиения с меньшими числами несвязных микро-доменов и разрезанных ребер. При сравнении двух методов, в разбиениях ІпсгБесошр меньший дисбаланс числа вершин в микро-доменах и меньшее число несвязных микро-доменов, чем в разбиениях РТ-БСОТСИ, но несколько большее число разрезанных ребер и время получения разбиения.

Результаты разбиений на домены

По разбиениям всех сеток на микро-домены методами пакета РАИМЕТІБ и созданного комплекса программ были составлены графы связей между микро-доменами с весами вершин, соот-

ветствующими количеству вершин в микродоменах. Графы связей были разбиты на 512 доменов на одном процессоре методами Part-GraphRecursive (PGR) и PartGraphKway (PGrK) пакета METIS, методом PartKway (PK) пакета PARMETIS и методом IncrDecomp (I) созданного комплекса программ, запущенными на одном процессоре. Проведено сравнение различных вариантов разбиений микро-доменов на домены между собой и с разбиениями сразу на домены методами PartKway (PK), PartGeomKway (PGK) и PartGeom (PG) пакета PARMETIS, GeomDe-comp (G) созданного комплекса программ, диффузионным алгоритмом пакета PT-SCOTCH и методами RCB, RIB и HSFC пакета ZOLTAN. Метод IncrDecomp не позволяет разбивать на такое маленькое число доменов, так как в нем предполагается, что при выполнении разбиения на процессоре формируется порядка 10-50 микро-доменов.

На рис. 5 представлено процентное отношение максимального модуля отклонения от среднего арифметического числа вершин в домене для различных методов на четырех сетках.

шин в доменах, равный единице, получен методами PartGeom пакета PARMETIS, GeomDe-comp, созданного комплекса программ и методами RCB, RIB и HSFC пакета ZOLTAN.

На рис. б представлено число несвязных доменов в различных разбиениях тетраэдральных сеток на 512 доменов. Как видно из рисунка, метод PartGeom пакета PARMETIS формирует практически все домены несвязными.

Число несвязных доменов из 512

fL

' є@0і

© Q 0 с ©00

>аоо&ово&&&[ Число несвязных доменов і 810©©<р©@е@е©©/

і© 0О00Є0©©©/

.............@ в 0 б й Ф § Ф Ф Ф а[ Число несвязных доменов 1

ОЇ

о

2. +

13 Число несвязных доменов 1  Число несвязных доменов 2  Число несвязных доменов 3  Число несвязных доменов 4

Рис. 5

Слева направо сначала отображены результаты разбиений сразу на 512 доменов, а затем для каждого разбиения на микро-домены представлены различные разбиения графов микродоменов. Разбиения графов микро-доменов обозначены, как «метод разбиения на микродомены + метод разбиения графа микродоменов». Как видно из рис. 5, разбиения методами PartKway и PartGeomKway пакета PAR-METIS сразу на домены заметно проигрывают всем остальным разбиениям по дисбалансу числа вершин в доменах. Дисбаланс числа вершин в доменах, сформированных из микро-доменов, не зависит от дисбаланса числа вершин в микро-доменах. Наименьший дисбаланс числа вершин в доменах при разбиениях графов микродоменов получен методами PartGraphRecursive и PartGraphKway пакета METIS. Среди всех разбиений наименьший дисбаланс числа вер-

Рис. 6

На рис. 7 представлен фрагмент гистограммы. Для наглядности порядок сеток изменен, при этом цвета, относящиеся к сеткам, сохранены. Как видно из рис. 6 и 7, наибольшее число несвязных доменов (не считая метода PartGeom пакета PARMETIS) сформировано методами RIB и HSFC пакета ZOLTAN, также при разбиениях графа микро-доменов, полученного методом геометрической декомпозиции Geom-Decomp. Остальные разбиения содержат примерно одинаковое число несвязных доменов. Среди разбиений сразу на домены наименьшее число несвязных доменов в разбиениях, полученных пакетом PT-SCOTCH.

Рис. 7

На рис. 8 отображены числа разрезанных ребер в разбиениях тетраэдральных сеток на 512 доменов. Видно что, методы РаЛОеош пакета PARMETIS и ШБС пакета гОЬТАК также сильно проигрывают по числу разрезанных ребер. Это неудивительно при таком большом числе несвязных доменов. Остальные разбиения

сразу на домены имеют меньшее число разрезанных ребер, чем разбиения графов микродоменов. Среди разбиений графов микродоменов наименьшее число разрезанных ребер получено методами PartGraphKway пакета METIS и PartKway пакета PARMETIS. Среди всех разбиений наименьшее число разрезанных ребер в разбиениях, полученных методами PartKway и PartGeomKway пакета PARMETIS и пакетом PT-SCOTCH.

Число разрезанных ребер между доменами

Число разрезанных ребер 3 ш Число разрезанных ребер 1

Число разрезанных ребер 2 а Число разрезанных ребер 4

Рис. 8

Основные результаты по разбиениям на домены следующие. Вне зависимости от того, насколько различным был дисбаланс числа вершин в микро-доменах, дисбаланс числа вершин в образуемых из микро-доменов доменах оказался на одном уровне. Видимо, это связано с недостаточной чувствительностью алгоритмов разбиения графов к весам вершин. Наилучшие разбиения графов микро-доменов получены методом PartGraphKway пакета METIS. Среди всех разбиений наиболее качественными оказались разбиения методами GeomDecomp созданного комплекса программ, RCB пакета ZOL-TAN и пакетом PT-SCOTCH. Методы GeomDe-comp и RCB формируют домены с меньшим дисбалансом числа вершин в доменах. В разбиениях, полученных пакетом PT-SCOTCH, дисбаланс числа вершин в доменах сравним с разбиениями графов микро-доменов. Однако пакетом PT-SCOTCH получаются разбиения с меньшим числом разрезанных ребер и несколько меньшим числом несвязных доменов.

Выводы

Создан комплекс программ параллельной декомпозиции больших сеток (до 109 вершин) на большое число микро-доменов. В комплекс

вошло два алгоритма: параллельный алгоритм геометрической декомпозиции сеток и параллельный инкрементный алгоритм декомпозиции графов.

Проведено сравнение разбиений на микро-домены четырех тетраэдральных сеток (108^2.7-108 вершин, 7-108^1.б-109 тетраэдров, 8-108^1.9-109 ребер), полученных методами созданного комплекса программ, пакетов PAR-METIS, ZOLTAN и PT-SCOTCH. Наиболее качественные разбиения получены методами GeomDecomp (параллельный алгоритм геометрической декомпозиции) и IncrDecomp (параллельный инкрементный алгоритм) созданного комплекса программ, RCB пакета ZOLTAN и пакетом PT-SCOTCH. Качество разбиений проверялось по дисбалансу числа вершин в микродоменах, числу несвязных микро-доменов и числу разрезанных ребер.

Проведено сравнение различных разбиений графов микро-доменов на домены, а также разбиений сразу на домены. Результаты показали, что дисбаланс числа вершин в доменах, сформированных из микро-доменов, не зависит от дисбаланса числа вершин в микро-доменах. Лучшие разбиения графов микро-доменов на домены получены пакетом METIS. Наиболее качественные разбиения на домены получены методами GeomDecomp (параллельный инкрементный алгоритм) созданного комплекса программ, RCB пакета ZOLTAN и пакетом PT-SCOTCH.

Работа выполнена при поддержке РФФИ (гранты 11-01-12086-офи-м-2011, 11-07-00779-а) и гранта Президента РФ НШ-4580.2012.1.

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

1. Hendrickson B., Kolda T.G. Graph partitioning models for parallel computing // Parallel Computing. 2000. V. 2б. P. 1519-1534.

2. Pelegrini F. A parallelizable multi-level banded diffusion scheme for computing balanced partitions with smooth boundaries // LNCS. 2007. 4б41. P. 191-200.

3. Якобовский М.В. Инкрементный алгоритм декомпозиции графов // Вестник Нижегородского университета им. Н. И. Лобачевского. Сер. Математическое моделирование и оптимальное управление. 2005. Вып. 1(28). С. 243-250.

4. Головченко Е. Н. Параллельный пакет декомпозиции больших сеток // Математическое моделирование. 2011. Т. 23. №10. С. 3-18.

PARTITIONING OF LARGE MESHES E.N. Golovchenko

The problem of balanced mesh distribution among the processors of a distributed memory system arises in computational fluid dynamics and computational mechanics. The number of processors to run a computational problem is often unknown. It makes sense, therefore, to partition a mesh into a great number of microdomains which then are used to create domains. The aim of this work is to obtain balanced partitioning of triangular and tetrahedral meshes (containing up to 109 vertices) into a great number of connected microdomains. A parallel mesh partitioning software package has been developed. It consists of a parallel geometric algorithm of mesh partitioning and a parallel incremental algorithm of graph partitioning. Microdomain partititions made by the developed package and PAR-METIS, ZOLTAN, PT-SCOTCH packages have been compared by using the example of four large tetrahedral meshes (about 108 vertices, 109 tetrahedrons, 109 edges). Different partitions of graphs of microdomains and partitions into domains have also been compared.

Keywords: graph partitioning, mesh partitioning, parallel computing.