A Dynamic Load Balancing Technique for Parallel Execution of Structured Grid Models

  • Andrea Giordano
  • Alessio De Rango
  • Rocco Rongo
  • Donato D’Ambrosio
  • William SpataroEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11973)


Partitioning computational load over different processing elements is a crucial issue in parallel computing. This is particularly relevant in the case of parallel execution of structured grid computational models, such as Cellular Automata (CA), where the domain space is partitioned in regions assigned to the parallel computing nodes. In this work, we present a dynamic load balancing technique that provides for performance improvements in structured grid model execution on distributed memory architectures. First tests implemented using the MPI technology have shown the goodness of the proposed technique in sensibly reducing execution times with respect to not-balanced parallel versions.


Parallel computing Parallel software tools Load balancing Cellular Automata 



Authors thank BS student Rodolfo Calabrò from University of Calabria for helping in code implementation and testing phases.


  1. 1.
    Abraham, M.J., et al.: GROMACS: high performance molecular simulations through multi-level parallelism from laptops to supercomputers. SoftwareX 1, 19–25 (2015)CrossRefGoogle Scholar
  2. 2.
    Aidun, C., Clausen, J.: Lattice-Boltzmann method for complex flows. Annu. Rev. Fluid Mech. 42, 439–472 (2010)MathSciNetCrossRefGoogle Scholar
  3. 3.
    Amritkar, A., Deb, S., Tafti, D.: Efficient parallel CFD-DEM simulations using OpenMP. J. Comput. Phys. 256, 501–519 (2014)MathSciNetCrossRefGoogle Scholar
  4. 4.
    Andersson, B., Andersson, R., Håkansson, L., Mortensen, M., Sudiyo, R., van Wachem, B.: Computational Fluid Dynamics for Engineers. Cambridge University Press (2011).
  5. 5.
    Avolio, M., et al.: Simulation of the 1992 Tessina landslide by a cellular automata model and future hazard scenarios. Int. J. Appl. Earth Obs. Geoinf. 2(1), 41–50 (2000)CrossRefGoogle Scholar
  6. 6.
    Cannataro, M., Di Gregorio, S., Rongo, R., Spataro, W., Spezzano, G., Talia, D.: A parallel cellular automata environment on multicomputers for computational science. Parallel Comput. 21(5), 803–823 (1995)CrossRefGoogle Scholar
  7. 7.
    Cervarolo, G., Mendicino, G., Senatore, A.: A coupled ecohydrological-three-dimensional unsaturated flow model describing energy, H\(_2\)O and CO\(_2\) fluxes. Ecohydrology 3(2), 205–225 (2010)Google Scholar
  8. 8.
    Cicirelli, F., Forestiero, A., Giordano, A., Mastroianni, C.: Parallelization of space-aware applications: modeling and performance analysis. J. Netw. Comput. Appl. 122, 115–127 (2018)CrossRefGoogle Scholar
  9. 9.
    D’Ambrosio, D., et al.: The open computing abstraction layer for parallel complex systems modeling on many-core systems. J. Parallel Distrib. Comput. 121, 53–70 (2018). Scholar
  10. 10.
    Di Gregorio, S., Filippone, G., Spataro, W., Trunfio, G.: Accelerating wildfire susceptibility mapping through GPGPU. J. Parallel Distrib. Comput. 73(8), 1183–1194 (2013)CrossRefGoogle Scholar
  11. 11.
    Di Gregorio, S., Rongo, R., Spataro, W., Spezzano, G., Talia, D.: High performance scientific computing by a parallel cellular environment. Future Gener. Comput. Syst. 12(5), 357–369 (1997)CrossRefGoogle Scholar
  12. 12.
    Duchateau, J., Rousselle, F., Maquignon, N., Roussel, G., Renaud, C.: An out-of-core method for physical simulations on a multi-GPU architecture using lattice Boltzmann method. In: 2016 International IEEE Conferences on Ubiquitous Intelligence & Computing, Advanced and Trusted Computing, Scalable Computing and Communications, Cloud and Big Data Computing, Internet of People, and Smart World Congress, pp. 581–588. IEEE (2016)Google Scholar
  13. 13.
    Filippone, G., D’ambrosio, D., Marocco, D., Spataro, W.: Morphological coevolution for fluid dynamical-related risk mitigation. ACM Trans. Model. Comput. Simul. (ToMACS) 26(3), 18 (2016)MathSciNetCrossRefGoogle Scholar
  14. 14.
    Folino, G., Mendicino, G., Senatore, A., Spezzano, G., Straface, S.: A model based on cellular automata for the parallel simulation of 3D unsaturated flow. Parallel Comput. 32(5), 357–376 (2006)MathSciNetCrossRefGoogle Scholar
  15. 15.
    Frish, U., Hasslacher, B., Pomeau, Y.: Lattice gas automata for the Navier-Stokes equation. Phys. Rev. Lett. 56(14), 1505–1508 (1986)CrossRefGoogle Scholar
  16. 16.
    Cervarolo, G., Mendicino, G., Senatore, A.: Coupled vegetation and soil moisture dynamics modeling in heterogeneous and sloping terrains. Vadose Zone J. 10, 206–225 (2011)CrossRefGoogle Scholar
  17. 17.
    Gasior, J., Seredynski, F.: A cellular automata-like scheduler and load balancer. In: El Yacoubi, S., Wąs, J., Bandini, S. (eds.) ACRI 2016. LNCS, vol. 9863, pp. 238–247. Springer, Cham (2016). Scholar
  18. 18.
    Gerakakis, I., Gavriilidis, P., Dourvas, N.I., Georgoudas, I.G., Trunfio, G.A., Sirakoulis, G.C.: Accelerating fuzzy cellular automata for modeling crowd dynamics. J. Comput. Sci. 32, 125–140 (2019)CrossRefGoogle Scholar
  19. 19.
    Giordano, A., De Rango, A., D’Ambrosio, D., Rongo, R., Spataro, W.: Strategies for parallel execution of cellular automata in distributed memory architectures, pp. 406–413, February 2019.
  20. 20.
    Giordano, A., et al.: Parallel execution of cellular automata through space partitioning: the landslide simulation Sciddicas3-Hex case study, pp. 505–510, February 2017Google Scholar
  21. 21.
    Higuera, F., Jimenez, J.: Boltzmann approach to lattice gas simulations. Europhys. Lett. 9(7), 663–668 (1989)CrossRefGoogle Scholar
  22. 22.
    Jammy, S., Mudalige, G., Reguly, I., Sandham, N., Giles, M.: Block-structured compressible Navier-Stokes solution using the ops high-level abstraction. Int. J. Comput. Fluid Dyn. 30(6), 450–454 (2016)MathSciNetCrossRefGoogle Scholar
  23. 23.
    Kumar, V.: Introduction to Parallel Computing, 2nd edn. Addison-Wesley Longman Publishing Co., Inc., Boston (2002)Google Scholar
  24. 24.
    Langton, C.: Computation at the edge of chaos: phase transition and emergent computation. Physica D 42, 12–37 (1990)MathSciNetCrossRefGoogle Scholar
  25. 25.
    Lucà, F., D’Ambrosio, D., Robustelli, G., Rongo, R., Spataro, W.: Integrating geomorphology, statistic and numerical simulations for landslide invasion hazard scenarios mapping: an example in the Sorrento Peninsula (Italy). Comput. Geosci. 67(1811), 163–172 (2014)CrossRefGoogle Scholar
  26. 26.
    McNamara, G., Zanetti, G.: Use of the Boltzmann equation to simulate lattice-gas automata. Phys. Rev. Lett. 61, 2332–2335 (1988)CrossRefGoogle Scholar
  27. 27.
    von Neumann, J.: Theory of Self-Reproducing Automata. University of Illinois Press, Champaign (1966)Google Scholar
  28. 28.
    Nicol, D.M., Saltz, J.H.: An analysis of scatter decomposition. IEEE Trans. Comput. 39(11), 1337–1345 (1990)CrossRefGoogle Scholar
  29. 29.
    Ninagawa, S.: Dynamics of universal computation and 1/f noise in elementary cellular automata. Chaos, Solitons Fractals 70(1), 42–48 (2015)CrossRefGoogle Scholar
  30. 30.
    Ntinas, V., Moutafis, B., Trunfio, G., Sirakoulis, G.: Parallel fuzzy cellular automata for data-driven simulation of wildfire spreading. J. Comput. Sci. 21, 469–485 (2016)CrossRefGoogle Scholar
  31. 31.
    Oliverio, M., Spataro, W., D’Ambrosio, D., Rongo, R., Spingola, G., Trunfio, G.: OpenMP parallelization of the SCIARA Cellular Automata lava flow model: performance analysis on shared-memory computers. Procedia Comput. Sci. 4, 271–280 (2011)CrossRefGoogle Scholar
  32. 32.
    Procacci, P.: Hybrid MPI/OpenMP implementation of the ORAC molecular dynamics program for generalized ensemble and fast switching alchemical simulations (2016)Google Scholar
  33. 33.
    Rango, A.D., Spataro, D., Spataro, W., D’Ambrosio, D.: A first multi-GPU/multi-node implementation of the open computing abstraction layer. J. Comput. Sci. 32, 115–124 (2019)., Scholar
  34. 34.
    Reguly, I., et al.: Acceleration of a full-scale industrial CFD application with OP2. IEEE Trans. Parallel Distrib. Syst. 27(5), 1265–1278 (2016). Scholar
  35. 35.
    Schoneveld, A., de Ronde, J.F.: P-CAM: a framework for parallel complex systems simulations. Future Gener. Comput. Syst. 16(2–3), 217–234 (1999)CrossRefGoogle Scholar
  36. 36.
    Spataro, D., D’Ambrosio, D., Filippone, G., Rongo, R., Spataro, W., Marocco, D.: The new SCIARA-fv3 numerical model and acceleration by GPGPU strategies. Int. J. High Perform. Comput. Appl. 31(2), 163–176 (2017). Scholar
  37. 37.
    Was, J., Mróz, H., Topa, P.: Gpgpu computing for microscopic simulations of crowd dynamics. Comput. Inform. 34(6), 1418–1434 (2016)Google Scholar
  38. 38.
    Wolfram, S.: A New Kind of Science. Wolfram Media Inc., Champaign (2002)zbMATHGoogle Scholar
  39. 39.
    Zito, G., D’Ambrosio, D., Spataro, W., Spingola, G., Rongo, R., Avolio, M.V.: A dynamically load balanced cellular automata library for scientific computing. In: CSC, pp. 322–328 (2009)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2020

Authors and Affiliations

  1. 1.ICAR-CNRRendeItaly
  2. 2.DIATICUniversity of CalabriaRendeItaly
  3. 3.DEMACSUniversity of CalabriaRendeItaly

Personalised recommendations