• Aucun résultat trouvé

Методы повышения эффективности широкомасштабных распределенных вычислительных экспериментов на неструктурированных сетках (Methods for increasing optimisation for large scale parallel computing experiments on unstructured grids)

N/A
N/A
Protected

Academic year: 2022

Partager "Методы повышения эффективности широкомасштабных распределенных вычислительных экспериментов на неструктурированных сетках (Methods for increasing optimisation for large scale parallel computing experiments on unstructured grids)"

Copied!
5
0
0

Texte intégral

(1)

Методы повышения эффективности широкомасштабных распределенных вычислительных экспериментов на

неструктурированных сетках

*

С.А. Суков

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

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

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

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

Фактическая производительность распределенных вычислений на неструктурированных сетках определяется эффективностью методов решения следующих прикладных задач:

 балансировка загрузки процессов;

 стабилизация производительности вычислений на неструктурированных сетках;

 распределенная запись данных контрольных точек;

 распределенное хранение и сжатие больших объемов сеточных данных.

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

а) исходная сетка б) огрубленный граф

Рис 1. Двухуровневое представление сетки

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

* Работа выполнена при поддержке Российского фонда фундаментальных исследований, проект № 15-07-

(2)

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

Результаты балансировки загрузки для преобразованной к двухуровневому представлению тетраэдральной сетки (209 028 730 узлов и 1 244 316 672 тетраэдров) показаны на рис. 2. Зна- чения расчетных параметров определяются в узлах сетки. На графиках отображены зависимо- сти минимального и максимального числа обрабатываемых процессами сеточных узлов на фо- не равномерного распределения. Дисбаланс (отношение максимального размера подобласти к осредненной величине) не превосходит 15%. В то же время прямое разбиение сеточного графа с использованием процедур библиотеки ParMETIS [2] при запуске 1280 параллельных процес- сов дает дисбаланс распределения узлов порядка 52%. Таким образом, применение двухуров- невой схемы не только сокращает затраты времени на балансировку загрузки, но и качественно улучшает результат решения задачи при использовании идентичных подходов к декомпозиции.

Рис. 2. Результаты балансировки загрузки

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

а) цепочка по сеточным элементам б) преобразование двух элементов последовательно- сти

Рис. 3. Циклический метод сжатия

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

270

(3)

элемент - номером общей с предыдущим элементом последовательности грани (два бита) и ин- дексом четвертой вершины (рис. 3).

а) блок из пяти элементов б) блок из трех элементов Рис. 4. Блочный метод сжатия

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

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

Таблица 1. Коэффициент упаковки данных Сетка

(число узлов/число тетраэдров) Коэффициент сжатия данных

B / B + GZIP C / C + GZIP GZIP

7320 / 37964 2.65 / 5.99 3.09 / 6.65 2.09

58926 / 363124 2.69 / 5.04 3.19 / 6.07 1.74

455160 / 2647040 2.72 / 4.48 3.28 / 5.68 2.59

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

Для оптимизации индексации сеточных элементов неструктурированных сеток предлагает- ся использовать метод, основанный на идее присвоения индексов в порядке обхода вершин ду- ального графа. Первый элемент последовательности обхода выбирается произвольным обра- зом. Далее в конец последовательности в произвольном порядке добавляются индексы элемен- тов, имеющих с первым элементом общую грань. Затем в последовательность добавляются элементы, имеющие общую грань со вторым элементом и ранее не вошедшие в последователь- ность, и так далее до момента обхода всех сеточных элементов. Сравнительные результаты бы- стродействия модуля по вычислению конвективных потоков на основе метода конечного объе- ма с полиномиальной реконструкцией переменных в ячейках тетраэдральной сетки для различ- ных вариантов индексации элементов приведены в таблице 2. Расчет задачи невязкого обтека- ния сферы проводился на локально сгущающейся сетке, содержащей 119286 узлов и 679339 тетраэдров. Позитивная индексация соответствует описанному выше методу. Негативная ин- дексация формируется таким образом, чтобы исключить кэширование данных. Представленные

(4)

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

Таблица 2. Время работы модуля вычисления конвективных потоков Число процессорных

ядер Индексация элементов Время (секунд) Относительная произво- дительность

1 Позитивная 0.2608 1.73

6 Позитивная 0.0590 7.64

1 Негативная 0.4506 1

6 Негативная 0.1069 4.22

Обобщенное тестирование эффективности методов оптимизации вычислений на неструк- турированных сетках большого размера проводилось на примере задачи невязкого обтекания тела сложной формы на тетраэдральной сетке, содержащей 260 517 739 узлов и 1 555 767 296 тетраэдров, с определением значений в узлах. Расчет проводился с использованием ресурсов МВС «Ломоносов». Замерялись время выполнения 500 вычислительных шагов и производи- тельность вычислений при запуске от 1000 до 29600 параллельных процессов (таблица 3).

Таблица 3. Параметры вычислительного эксперимента

Число процессов Время (секунд) Ускорение Эффективность Производительность (TFlops)

1000 209.69 1 1 1.43

2000 110.03 1.91 0.95 2.72

4000 59.14 3.55 0.89 5.05

8000 32.36 6.48 0.81 9.23

12000 22.63 9.27 0.77 13.20

16000 17.70 11.85 0.74 16.88

24000 12.63 16.60 0.69 23.66

28000 11.37 18.44 0.66 26.29

29600 10.72 19.56 0.66 27.88

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

Литература

1. Суков С.А., Якобовский М.В., Обработка трехмерных неструктурированных сеток на мно- гопроцессорных системах с распределенной памятью. В сб. "Фундаментальные физико- математические проблемы и моделирование технико-технологических систем", вып. 6, под ред. Л.А. Уваровой. М., Изд-во "Janus-K", 2003, с. 233-239.

2. G. Karypis and V. Kumar. Multilevel algorithms for multi-containt graph partitioning. Technical Report TR 98-019, Department of Computer Science, University of Minnesota, 1998.

3. Д. Ватолин, А. Ратушняк, М. Смирнов, В. Юкин Методы сжатия данных. Устройство архи- ваторов, сжатие изображений и видео, Изд-во Диалог-МИФИ, 2002.

272

(5)

Methods for increasing optimisation for large scale parallel computing experiments on unstructured grids

Sergey Sukov

Keywords: parallel algorithms, numerical simulation, unstructured grids

Methods are presenting for increasing optimisation for computing experiments on huge

unstructured grids. Results of propositional algorhytmes testing are presented by the example

of calculations using tetrahedral grids containing to 1.5 billion elements.

Références

Documents relatifs

Whereas traditional gradient-based methods may be effective for solving small-scale learning problems in which a batch approach may be used, in the context of large-scale

Unité de recherche INRIA Rennes : IRISA, Campus universitaire de Beaulieu - 35042 Rennes Cedex (France) Unité de recherche INRIA Rhône-Alpes : 655, avenue de l’Europe -

Unité de recherche INRIA Rennes, Irisa, Campus universitaire de Beaulieu, 35042 RENNES Cedex Unité de recherche INRIA Rhône-Alpes, 655, avenue de l’Europe, 38330 MONTBONNOT ST

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

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

Следующим шагом происходит построение модели управляющего процесса (рис. Для этого из шаблонов реакций выбираются необходимые реакции. В

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

Чтобы пользователю не пришлось делать это вручную, мы разработали и интегрировали в портал про- граммный модуль, реализующий рабочий