MARL-Ped+Hitmap: Towards Improving Agent-Based Simulations with Distributed Arrays

  • Eduardo Rodriguez-GutiezEmail author
  • Francisco Martinez-GilEmail author
  • Juan Manuel OrduñaEmail author
  • Arturo Gonzalez-EscribanoEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10049)


Multi-agent systems allow the modelling of complex, heterogeneous, and distributed systems in a realistic way. MARL-Ped is a multi-agent system tool, based on the MPI standard, for the simulation of different scenarios of pedestrians who autonomously learn the best behavior by Reinforcement Learning. MARL-Ped uses one MPI process for each agent by design, with a fixed fine-grain granularity. This requirement limits the performance of the simulations for a restricted number of processors that is lesser than the number of agents. On the other hand, Hitmap is a library to ease the programming of parallel applications based on distributed arrays. It includes abstractions for the automatic partition and mapping of arrays at runtime with arbitrary granularity, as well as functionalities to build flexible communication patterns that transparently adapt to the data partitions.

In this work, we present the methodology and techniques of granularity selection in Hitmap, applied to the simulations of agent systems. As a first approximation, we use the MARL-Ped multi-agent pedestrian simulation software as a case of study for intra-node cases. Hitmap allows to transparently map agents to processes, reducing oversubscription and intra-node communication overheads. The evaluation results show significant advantages when using Hitmap, increasing the flexibility, performance, and agent-number scalability for a fixed number of processing elements, allowing a better exploitation of isolated nodes.


Agents Crowd simulation Message-passing Programming tools Distributed arrays 


  1. 1.
    Bharambe, A., Pang, J., Seshan, S.: Colyseus: a distributed architecture for online multiplayer games. In: NSDI 2006: Proceedings of the 3rd conference on Networked Systems Design and Implementation, p. 12. USENIX Association, Berkeley, CA, USA (2006)Google Scholar
  2. 2.
    Blue, V.J., Adler, J.L.: Cellular automata microsimulation for modeling bi-directional pedestrian walkways. Transp. Res. Part B: Methodological 35(3), 293–312 (2001)CrossRefGoogle Scholar
  3. 3.
    Chamberlain, B., Callahan, D., Zima, H.: Parallel programmability and the chapel language. Int. J. High Perform. Comput. Appl. 21(3), 291–312 (2007)CrossRefGoogle Scholar
  4. 4.
    Chen, Y., Cui, X., Mei, H.: Parray: A unifying array representation for heterogeneous parallelism. SIGPLAN Not. 47(8), 171–180 (2012)CrossRefGoogle Scholar
  5. 5.
    Fraguela, B.B., Bikshandi, G., Guo, J., GarzaráN, M.J., Padua, D., Von Praun, C.: Optimization techniques for efficient hta programs. Parallel Comput. 38(9), 465–484 (2012)CrossRefGoogle Scholar
  6. 6.
    Fresno, J., Gonzalez-Escribano, A., Llanos, D.: Blending extensibility and performance in dense and sparse parallel data management. IEEE Trans. Parallel Distrib. Syst. 25(10), 2509–2519 (2014)CrossRefGoogle Scholar
  7. 7.
    Gonzalez-Escribano, A., Torres, Y., Fresno, J., Llanos, D.: An extensible system for multilevel automatic data partition and mapping. IEEE Trans. Parallel Distrib. Syst. 25(5), 1145–1154 (2014)CrossRefGoogle Scholar
  8. 8.
    Gonzalez-Escribano, A., Llanos, D.R.: Trasgo: a nested-parallel programming system. J. Supercomput. 58(2), 226–234 (2011)CrossRefGoogle Scholar
  9. 9.
    Helbing, D., Molnár, P.: Social force model for pedestrian dynamics. Phys. Rev. E 51, 4282–4286 (1995)CrossRefGoogle Scholar
  10. 10.
    Hughes, R.L.: The flow of human crowds. Annu. Rev. Fluid Mech. 35, 169–182 (2003)MathSciNetCrossRefzbMATHGoogle Scholar
  11. 11.
    Mallón, D.A., Gómez, A., Mouriño, J.C., Taboada, G.L., Teijeiro, C., Touriño, J., Fraguela, B.B., Doallo, R., Wibecan, B.: Upc performance evaluation on a multicore system. In: Proceedings of the Third Conference on Partitioned Global Address Space Programing Models, pp. 9: 1–9: 7. PGAS 2009, NY, USA. ACM, New York (2009)Google Scholar
  12. 12.
    Martinez-Gil, F., Lozano, M., Fernández, F.: Multi-agent reinforcement learning for simulating pedestrian navigation. In: Vrancx, P., Knudson, M., Grześ, M. (eds.) ALA 2011. LNCS (LNAI), vol. 7113, pp. 54–69. Springer, Heidelberg (2012). doi: 10.1007/978-3-642-28499-1_4 CrossRefGoogle Scholar
  13. 13.
    Martinez-Gil, F., Lozano, M., Fernández, F.: MARL-ped: A multi-agent reinforcement learning based framework to simulate pedestrian groups. Simul. Model. Pract. Theor. 47, 259–275 (2014)CrossRefGoogle Scholar
  14. 14.
    Reynolds, C.: Steering behaviors for autonomous characters. In: Game Developers Conference, pp. 763–782. Miller Freeman Game Group, San Francisco, California (1999)Google Scholar
  15. 15.
    Sutton, R.S., Barto, A.G.: Reinforcement Learning: An Introduction. MIT Press, Cambridge (1998)Google Scholar
  16. 16.
    Vigueras, G., Orduña, J.M., Lozano, M.: A read-copy update based parallel server for distributed crowd simulations. J. Supercomput. 64(1), 156–166 (2013)CrossRefGoogle Scholar
  17. 17.
    Wooldridge, M.: Multi-Agent Systems. Intelligent Agents. MIT Press, Cambridge (2013)Google Scholar
  18. 18.
    Wooldridge, M., Jennings, N.: Intelligent agents: theory and practice. Knowl. Eng. Rev. 10, 115–152 (1995)CrossRefGoogle Scholar
  19. 19.
    Yilmaz, E., Isler, V., Cetin, Y.Y.: The virtual marathon: Parallel computing supports crowd simulations. IEEE Comput. Graph. Appl. 29(4), 26–33 (2009)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG 2016

Authors and Affiliations

  1. 1.Departamento de InformáticaUniversidad de ValladolidValladolidSpain
  2. 2.Departamento de InformáticaUniversidad de ValenciaValenciaSpain

Personalised recommendations