Аннотации:
В статье рассматривается распределенный алгоритм с локальными взаимодействиями Patch,
предназначенный для управления распределением данных и динамической балансировки нагрузки в
системе фрагментированного программирования LuNA. Система LuNA используется для упрощения
создания параллельных реализаций крупномасштабных численных моделей для распределенных
вычислительных систем. Фрагментированная программа в системе LuNA выполняется под управлением
исполнительной системы, которая использует различные алгоритмы распределения данных и вычислений
для обеспечения эффективного (в плане времени исполнения и потребления ресурсов) исполнения
программы. Разработанный для использования в системе LuNA распределенный алгоритм Patch
предназначен для случая распределения многомерных сеток данных на многомерной решетке
вычислительных узлов. Алгоритм использует отображение данных на многомерную решетку ячеек
(координат), которые затем распределяются между вычислительными узлами мультикомпьютера. Такое
отображение позволяет алгоритму учитывать зависимости между данными и сохранять локальность
данных при динамической балансировке нагрузки. Тестирование алгоритма Patch на фрагментированной
реализации реальной вычислительной задачи показало его преимущество над использовавшимся ранее в
системе LuNA алгоритме Rope, в виде уменьшения суммарного объема и дальности коммуникаций между
вычислительными узлами в ходе исполнения программы. Distributed algorithm with local interactions Patch is presented in the paper. Patch is intended for data
distribution and dynamic load balancing in the LuNA fragmented programming system. LuNA system is used for
creation of parallel implementations of large-scale numerical models for distributed memory systems. Execution
of a fragmented program is controlled by LuNA run-time system, which uses different data and computation
distribution algorithms to enable efficient use of resources and minimize total execution time of the program.
Patch algorithm, developed to be used in the LuNA system, enables distribution of multidimensional data meshes
on a multidimensional lattice of computational nodes of a supercomputer. The algorithm uses mapping of data
to multidimensional lattice of cells (coordinates), which in their turn are mapped to computational nodes. That
mapping makes it possible to account for data dependencies and preserve data locality during dynamic load
balancing. Patch algorithm was compared with another LuNA data distribution algorithm Rope, fragmented
realisation of a real numerical problem was used for experiments. Experiments showed that Patch algorithm
provides a general reduction in total computational volume and distances, as compared to Rope algorithm.
Описание:
Щукин Георгий Анатольевич, м.н.с., лаборатория синтеза параллельных программ,
институт вычислительной математики и математической геофизики СО РАН (Новосибирск,
Российская Федерация), ассистент, кафедра параллельных вычислительных технологий,
Новосибирский государственный технический университет (Новосибирск, Российская
Федерация). G.A. Schukin
Institute of Computational Mathematics and Mathematical Geophysics SB RAS
(pr. Akademika Lavrentieva 6, Novosibirsk, 630090 Russia),
Novosibirsk State Technical University
(pr. K. Marksa 20, Novosibirsk, 630073 Russia)
E-mail: schukin@ssd.sscc.ru