Analysis of Means of Simulation Modeling of Parallel Algorithms
At the ICMMG, an integral approach to creating algorithms and software for exaflop computers is being developed. Within the framework of this approach, the study touches upon the scalability of parallel algorithms by using the method of simulation modeling with the help of an AGNES modeling system. Based on a JADE agent platform, AGNES has a number of essential shortcomings in the modeling of hundreds of thousands and millions of independent computing cores, which is why it is necessary to find an alternative tool for simulation modeling.
Various instruments of agent and actor modeling were studied in the application to modeling of millions of computing cores, such as QP/C++, CAF, SObjectizer, Erlang, and Akka. As a result, on the basis of ease of implementation, scalability, and fault tolerance, the Erlang functional programming language was chosen, which originally was developed to create telephony programs. Today Erlang is meant for developing distribution computing systems and includes means for generating parallel lightweight processes and their interaction through exchange of asynchronous messages in accordance with an actor model.
Testing the performance of this tool in the implementation of parallel algorithms on future exaflop supercomputers is carried out by investigating the scalability of the statistical simulation algorithm by the Monte Carlo methods on a million computing cores. The results obtained in this paper are compared with the results obtained earlier by using AGNES.
KeywordsSimulation modeling Actor model Scalability Erlang
This work was supported by the Russian Foundation for Basic Research (Grants No. 16-07-00434, 18-37-00279, and 18-07-00757).
The Siberian Supercomputer Center of the Siberian Branch of the Russian Academy of Sciences (SB RAS) is gratefully acknowledged for providing supercomputer facilities.
- 1.Glinskiy, B., Kulikov, I., Chernykh, I., Snytnikov, A., Sapetina, A., Weins, D.: The integrated approach to solving large-size physical problems on supercomputers. In: Voevodin, V., Sobolev, S. (eds.) RuSCDays 2017. CCIS, vol. 793, pp. 278–289. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-71255-0_22CrossRefGoogle Scholar
- 2.Glinskiy, B., Kulikov, I., Snytnikov, A., Romanenko, A., Chernykh, I., Vshivkov, V.: Co-design of parallel numerical methods for plasma physics and astrophysics. Supercomput. Front. Innovations 1(3), 88–98 (2014)Google Scholar
- 4.Hoefler, T., Schneider, T., Lumsdaine, A.: LogGOPSim - simulating large-scale applications in the LogGOPS ModelGoogle Scholar
- 5.Glinsky, B., Rodionov, A., Marchenko, M., Podkorytov, D., Weins, D.: Scaling the distributed stochastic simulation to exaflop supercomputers. In: Proceedings of the 14th IEEE International Conference on High Performance Computing and Communications (HPCC-2012), pp. 1131–1136 (2012)Google Scholar
- 6.Podkorytov, D., Rodionov, A., Choo, H.: Agent-based simulation system AGNES for networks modeling: review and researching. In: Proceedings of the 6th International Conference on Ubiquitous Information Management and Communication (ACM ICUIMC 2012), p. 115. ACM (2012). https://doi.org/10.1145/2184751.2184883. ISBN 978-1-4503-1172-4
- 7.Mueong, J., Gul, A.: Agent framework services to reduce agent communication overhead in large-scale agent-based simulations. Simul. Model. Pract. Theory 4(6), 679–694 (2006)Google Scholar
- 8.Oren, T., Yilmaz, L.: On the synergy of simulation and agents: an innovation paradigm perspective. Int. J. Intell. Control Syst. 14(1), 4–19 (2009)Google Scholar
- 9.JADE Homepage. http://jade.tilab.com/. Accessed 10 Apr 2018
- 10.Glinskiy, B., Sapetina, A., Martynov, V., Weins, D., Chernykh, I.: The hybrid-cluster multilevel approach to solving the elastic wave propagation problem. In: Sokolinsky, L., Zymbler, M. (eds.) PCT 2017. CCIS, vol. 753, pp. 261–274. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-67035-5_19CrossRefGoogle Scholar
- 12.CAF - C++ Actor Framework. http://www.actor-framework.org/. Accessed 10 Apr 2018
- 13.QP/C++: About QP/C++. http://www.state-machine.com/qpcpp/. Accessed 10 Apr 2018
- 14.SObjectizer/Wiki/Home. https://sourceforge.net/p/sobjectizer/wiki/Home/. Accessed 10 Apr 2018
- 15.AkkA. https://akka.io/. Accessed 10 Apr 2018
- 16.Erlang Programming Language. http://www.erlang.org/. Accessed 10 Apr 2018