Мультиагентный подход к повышению эффективности исполнения фрагментированных программ в системе Luna
Автор: Малышкин В.Э., Перепелкин В.А.
Журнал: Проблемы информатики @problem-info
Рубрика: Параллельное системное программирование и вычислительные технологии
Статья в выпуске: 3 (60), 2023 года.
Бесплатный доступ
Применение систем параллельного программирования и систем автоматического конструирования параллельных программ предоставляет возможности к статической и/или динамической адаптации исполнения параллельной программы к особенностям вычислителя и хода вычислений, но при этом возникает проблема снижения накладных расходов, возникающих из-за работы исполнительной системы (динамических системных алгоритмов). Существенное снижение таких накладных расходов возможно за счет переноса как можно большего количества работы по конструированию и адаптации параллельной программы на этап трансляции, но при этом важно сохранять возможность динамической настройки исполнения параллельной программы в части, где настройка должна по существу выполняться динамически (например, для осуществления динамической балансировки нагрузки на вычислительные узлы). В работе предлагается технологичный подход к переносу существенного объема работ по конструированию и исполнению параллельных программ в системе LuNA, который сохраняет возможность обеспечения динамических свойств исполнения программы. Предложенный подход позволил существенно снизить накладные расходы на исполнение LuNA-программ по сравнению с традиционным подходом распределенной динамической интерпретации LuNA-программ.
Фрагментированное программирование, система luna, автоматизация конструирования параллельных программ, высокопроизводительные вычисления, мультиагентный подход, частичные вычисления
Короткий адрес: https://sciup.org/143181007
IDR: 143181007 | УДК: 004.4’242 | DOI: 10.24412/2073-0667-2023-3-55-67
A multi-agent approach to improve execution efficiency of fragmented programs in Luna system
Development of efficient numerical parallel programs is an complex and laborious problem which impedes application of supercomputers to perform numerical simulations. Parallel programs construction languages and systems are of help by providing to a user a high-level language to describe a desired parallel program and generating the program automatically. The systems do not only reduce complexity of parallel programs development, but also provide static and/or dynamic adaptation of the program execution to particular hardware and execution conditions (e.g. workload balancing). This implies that a high-level parallel program specification may be transformed into a parallel program in diverse wavs, many of which may be optimal for particular simulation. Such diversity can either be resolved statically or dynamically, the former causing less run-time overhead, while the latter preserves the ability to dynamically tune parallel program execution. Finding a good trade-off between static and dynamic decision making is a challenging problem in system parallel programming, which also depends on the computational model on which the system is based. LuNA system [1] is a system for automatic construction of numerical parallel programs, which is being developed in ICMMG SB RAS. It is based on the theory of parallel programs synthesis based on the computational models [2] and follows the active knowledge concept [3]. Its input language LuNA comprises means to describe pieces of data and computations, called data and computational fragments correspondingly (DFs and CFs). DFs are immutable coarse-grained data objects, while CFs are side-effect free sequential procedure calls on particular DFs as input or output arguments. Such dataflow computational model allows the system to automatically execute CFs on a distributed memory machine either by generating a conventional distributed program which performs procedures invocation according to the information dependencies, or by dynamically interpreting the program on a multicomputer. The former approach lacks dynamic flexibility while the latter approach causes significant overhead. In order to achieve a trade-off between those two options a multi-agent approach is suggested. For that a multi-agent system is defined, where each agent implements a single CF in a distributed environment, which allows an agent to consume and produce DFs and to create new agents. Each agent is controlled by an imperative sequential program in a conventional language (C++ to be specific).
Список литературы Мультиагентный подход к повышению эффективности исполнения фрагментированных программ в системе Luna
- Malyshkin, V.E., Perepelkin, V. A. LuNA Fragmented Programming System, Main Functions and Peculiarities of Run-Time Subsystem. // Malyshkin, V. (eds) Parallel Computing Technologies. PaCT 2011. Lecture Notes in Computer Science, 2011. V. 6873. Springer, Berlin, Heidelberg. DOL 10.1007/978-3-642-23178-0_5.
- Вальковский В. А., Малышкин В. Э. Синтез параллельных программ и систем на вычис-лительных моделях / Отв. ред. В.Е. Котов; АН СССР, Сиб. отд-ние, ВЦ. Новосибирск: Наука. Сиб. отд-ние, 1988.
- Малышкин В. Э. Технология фрагментированного программирования // Вестник ЮУрГУ. Серия: Вычислительная математика и информатика. 2012. № 46 (305).
- Malyshkin V. Е. Active Knowledge, LuNA and Literacy for Oncoming Centuries // Essays Dedicated to Pierpaolo Degano on Programming Languages with Applications to Biology and Security. 2015. V. 9465. Springer-Verlag, Berlin, Heidelberg. P. 292-303.
- Лебедев Д. В., Перепелкин В. А. Численное решение одномерной краевой задачи филь-трации жидкости для системы «нефть-вода» и ее реализация в системе фрагментированного программирования LuNA // Вестник Казахского национального университета им. Аль-Фараби, серия математика, механика информатика. № 3 (82). 2014. С. 64-73.
- Akhmed-Zaki D. Zh., Lebedev D.V., Perepelkin V. A. Implementation of a Three-Phase Fluid Flow (“Oil-Water-Gas”) Numerical Model in the LuNA Fragmented Programming System //In Proc 13th International Conference on Parallel Computing Technologies. LNCS 9251. Springer, 2015. P. 489¬497. DOL 10.1007/978-3-319-21909-7_47.
- Лебедев Д. В., Перепелкин В. А. Решение трехмерного модельного уравнения теплопровод¬ности в системе фрагментированного программирования LuNA // Параллельные вычислитель¬ные технологии (ПаВТ’2016): труды международной научной конференции (28 марта - 1 апреля 2016 г., г. Архангельск). Челябинск: Издательский центр ЮУрГУ, 2016. С. 784.
- Akhmed-Zaki, D., Lebedev, D., Perepelkin, V. Implementation of a three dimensional three-phase fluid flow (“oil-water-gas”) numerical model in LuNA fragmented programming system // Journal of Supercomputing (2017). N 73 (2). Springer, 2017. P. 624-630. DOL 10.1007/sl1227-016-1780-1.
- Malyshkin V.E., Perepelkin V. A., Schukin G. A. Distributed Algorithm of Data Allocation in the Fragmented Programming System LuNA //In Proc 13th International Conference on Parallel Computing Technologies. LNCS 9251. Springer, 2015. P. 80-85. DOL 10.1007/978-3-319-21909-7_8.
- Malyshkin. V., Perepelkin. V., Schukin G. Scalable Distributed Data Allocation in LuNA Fragmented Programming System // Journal of Supercomputing, S.I.: Parallel Computing Technologies. Springer, 2017. P. 1-7. DOL 10.1007/sll227-016-1781-0.
- Akhmed-Zaki, D., Lebedev, D., Malyshkin, V., Perepelkin, V. Automated construction of high performance distributed programs in LuNA system // 15th International Conference on Parallel Computing Technologies, PaCT 2019; Almaty; Kazakhstan. LNCS 11657. Springer, 2019. P. 3-9. DOL 10.1007/978-3-030-25636-4_l.
- Кудрявцев А. А., Малышкин В. Э., Нуштаев Ю. Ю., Перепелкин В. А., Спирин В. А. Эф-фективная фрагментированная реализация краевой задачи фильтрации двухфазной жидкости // Проблемы информатики. 2023. № 2. С. 45-73. DOL 10.24412/2073-0667-2023-2-45-73.
- Belyaev, N., Kireev, S. LuNA-ICLU Compiler for Automated Generation of Iterative Fragmented Programs. // Malyshkin, V. (eds) Parallel Computing Technologies. PaCT 2019. Lecture Notes in Computer Science, V. 11657. Springer, Cham. DOL 10.1007/978-3-030-25636-4_2.