Декомпозиция поверхностной неструктурированной расчетной сетки для масштабирования вычислений на суперкомпьютере
Authors: Рыбаков А.А. , Чопорняк А.Д. 
Published: December 2024

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

Currently, when solving complex computational problems of computer modeling, computational grids containing tens and hundreds of millions of cells are used. To perform computations of such amount, it is required to use supercomputer clusters consisting of many computational nodes connected by a high-speed communication network. In this case, it is necessary to decompose the computational mesh into separate domains. These domains are distributed among the computational nodes of the supercomputer and are processed in parallel, independently of each other. To synchronize computations, after each iteration of cell processing, data exchanges are performed at the boundaries between adjacent contiguous domains. To efficiently perform computations and scale them to a large number of computational nodes, it is necessary to develop efficient algorithms for decomposition of computational meshes that generate many domains with imposed requirements for the number of cells, the uniformity of the distribution of cells across domains, the connectivity of domains and the size of boundaries between them. The article considers an unstructured surface mesh as an object of research, which is used to calculate the processes of interaction of a volumetric body with the environment. For a mesh of this type, various classes of decomposition algorithms are considered, and a hierarchical decomposition algorithm is proposed with the choice of the optimal criterion for partitioning domains. The proposed algorithm is implemented in the program code, the results of comparing the operation of this algorithm on test meshes with algorithms of other classes are presented.