Распределенный алгоритм отображения распределенных многомерных данных на многомерный мультикомпьютер в системе фрагментированного программирования LuNA

Георгий Анатольевич Щукин

Аннотация


В статье рассматривается распределенный алгоритм с локальными взаимодействиями Patch, предназначенный для управления распределением данных и динамической балансировки нагрузки в системе фрагментированного программирования LuNA.

Система LuNA используется для упрощения создания параллельных реализаций крупномасштабных численных моделей для распределенных вычислительных систем. Фрагментированная программа в системе LuNA выполняется под управлением исполнительной системы, которая использует различные алгоритмы распределения данных и вычислений для обеспечения эффективного (в плане времени исполнения и потребления ресурсов) исполнения программы. Разработанный для использования в системе LuNA распределенный алгоритм Patch предназначен для случая распределения многомерных сеток данных на многомерной решетке вычислительных узлов. Алгоритм использует отображение данных на многомерную решетку ячеек (координат), которые затем распределяются между вычислительными узлами мультикомпьютера. Такое отображение позволяет алгоритму учитывать зависимости между данными и сохранять локальность данных при динамической балансировке нагрузки.

Тестирование алгоритма Patch на фрагментированной реализации реальной вычислительной задачи показало его преимущество над использовавшимся ранее в системе LuNA алгоритме Rope, в виде уменьшения суммарного объема и дальности коммуникаций между вычислительными узлами в ходе исполнения программы.


Ключевые слова


распределенные алгоритмы; распределение данных; динамическая балансировка нагрузки; технология фрагментированного программирования; система фрагментированного программирования LuNA

Полный текст:

PDF

Литература


Malyshkin V.E., Perepelkin V.A., Schukin G.A. Scalable Distributed Data Allocation in LuNA Fragmented Programming System. J. Supercomputing. 2017. vol. 73, no. 2. pp. 726—732. DOI: 10.1007/s11227-016-1781-0.

Malyshkin V.E., Perepelkin V.A., Schukin G.A. Distributed Algorithm of Data Allocation in the Fragmented Programming System LuNA. PaCT 2015, 13th International Conference on Parallel Computing Technologies, August 31 – September 4, 2015, Petrozavodsk, Russia.

Springer, LNCS, 2015. vol. 9251. pp. 80–85. DOI: 10.1007/978-3-319-21909-7_8.

Malyshkin V.E., Perepelkin V.A. LuNA Fragmented Programming System, Main Functions and Peculiarities of Run-Time Subsystem. PaCT 2011, 11th International Conference on Parallel Computing Technologies, September 19–23, 2011, Kazan, Russia. Springer, LNCS, 2011. vol. 6873. pp. 53–61. DOI: 10.1007/978-3-642-23178-0_5.

Malyshkin V.E., Perepelkin V.A. Optimization Methods of Parallel Execution of Numerical Programs in the LuNA Fragmented Programming System. J. Supercomputing. 2012. vol. 61, no. 1. pp. 235–248. DOI: 10.1007/s11227-011-0649-6.

Malyshkin V.E., Perepelkin V.A. The PIC Implementation in LuNA System of Fragmented Programming. J. Supercomputing. 2014. vol. 69, no. 1. pp. 89–97. DOI: 10.1007/s11227-014-1216-8.

Kraeva M.A., Malyshkin V.E. Assembly Technology for Parallel Realization of Numerical Models on MIMD-Multicomputers. J. Future Generation Computer Systems. 2001. vol. 17, no. 6. pp. 755–765. DOI: 10.1016/S0167-739X(00)00058-3.

Gonzalez-Escribano A., Torres Y., Fresno J., Llanos D.R. An Extensible System for Multilevel Automatic Data Partition and Mapping. J. IEEE Transactions on Parallel and Distributed Systems. 2014. vol. 25, no. 5. pp. 1145–1154. DOI: 10.1109/TPDS.2013.83.

Chamberlain B.L., Deitz S.J., Iten D., Choi S.-E. User-Defined Distributions and Layouts in Chapel: Philosophy and Framework. HotPar’10, 2nd USENIX conference on Hot topics in

Parallelism. USENIX Association, Berkeley, CA, USA. 2010. pp. 12–12.

Bikshandi G., Guo J., Hoeflinger D., Almasi G., Fraguela B.B., Garzar´an M.J., Padua D., von Praun C. Programming for Parallelism and Locality with Hierarchically Tiled Arrays. PPoPP’06, 11th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming. ACM New York, NY, USA. 2006. pp. 48–57. DOI: 10.1145/1122971.1122981.

Furtado P., Baumann P. Storage of Multidimensional Arrays Based on Arbitrary Tiling. 15th International Conference on Data Engineering. IEEE. 1999. pp. 480–489. DOI: 10.1109/ICDE.1999.754964.

Begau C., Sutmann G. Adaptive Dynamic Load-balancing with Irregular Domain Decomposition for Particle Simulations. J. Computer Physics Communications. 2015. vol. 190. pp. 51–61. DOI: 10.1016/j.cpc.2015.01.009.

Fattebert J.-L., Richards D.F., Glosli J.N. Dynamic Load Balancing Algorithm for Molecular Dynamics Based on Voronoi Cells Domain Decompositions. J. Computer Physics Communications. 2012. vol. 183, no. 12. pp. 2608-–2615. DOI: 10.1016/j.cpc.2012.07.013.

Deng Y., Peierls R.F., Rivera C. An Adaptive Load Balancing Method for Parallel Molecular Dynamics Simulations. J. of Computational Physics. 2000. vol. 161, no. 1. pp. 250–263. DOI: 10.1006/jcph.2000.6501.

Fleissner F., Eberhard P. Parallel Load-balanced Simulation for Short-range Interaction Particle Methods with Hierarchical Particle Grouping Based on Orthogonal Recursive Bisection. Int. J. for Numerical Methods in Engineering, 2008. vol. 74, no. 4. pp. 531–553.

DOI: 10.1002/nme.2184.

Hayashi R., Horiguchi S.: Efficiency of Dynamic Load Balancing Based on Permanent Cells for Parallel Molecular Dynamics Simulation. IPDPS 2000, 14th International Parallel and Distributed Processing Symposium. IEEE, 2000. pp. 85–92. DOI: 10.1109/IPDPS.2000.845968.




DOI: http://dx.doi.org/10.14529/cmse180205