Google Scholar

Gian Paolo Cimellaro
Associate Professor
gianpaolo.cimellaro@polito.it
ORCID
Research Gate
ACADEMIA


Gian Paolo Cimellaro

Parallel computing:

Agent-Based Modeling involving High Performance Computing

Multi-Agent Systems (MAS) are seen as a promising technology to face the current requirements of large-scale distributed and complex systems (Leitão et al., 2013). ABM is a category of MAS. The application of MAS to such large scale systems, characterised by millions of distributed nodes, imposes special demanding requirements in terms of fast computation. High Performance Computing (HPC) technology is a reliable solution for this purpose.

HPC definition

HPC systems are based on hardware architectures with a large number of processors: these cores work in parallel, in order to do as instructions as their number simultaneously. The reason of this architecture is to save a huge amount of time in calculations and to develop the precision of the calculations. Therefore, besides the compute power, the major challenges with the high end field of applications and economical resources usage there are an efficient communication and data locality: the most important requirements for a well designed HPC simulation are the intelligent design of instruction sequences and memory usage, in order to avoid bottlenecks during their flow.

HPC application in ABM

Parallelizing MAS applications means deploying and running multiple intelligent agents on several computational resources nodes. However, the distribution of the multi-agent system execution is a complex task, due to the technical particularities, and particularly, to the intensive communication among agents and the environment. Additionally, individual agents need to modify the environment during their decision-making processes, which in terms of parallelization are translated to the need to share several layers of environmental data and agents, which is a complex process. HPC technologies help researchers to develop the reliability of the human behavior simulation, giving the sufficient computational power for running a social forces model instead of a traditional Cellular Automata approach (Quinn, Metoyer, Hunter-Zaworsky, 2010).

  • The researchers of the previous reference have roughly modeled Terminal 1 at O'Hare International Airport in Chicago. They designed the simulation as a C program with calls to the Message Passing Interface (MPI) library (MPI is the most popular message-passing library standard for parallel programming);
  • An important milestone in crowd simulations is reported by (Yilmaz, Isler, Çetin, 2009). Authors explained how they simulated a crowd of more than a million people during a marathon in Istanbul: in the model they included all the objects of urban architecture, involving ABM (with the characterization of runners and public) and the parallelization of computational processes. The simulation has been written in C++ and ran on NVIDIA CUDA GPUs. The success of that simulation consisted also in a 3D representation of the results;

Moreover, many traditional ABM softwares have added an HPC tool in recent years: two examples are NetLogo (Thiele, 2015), which can be parallelized by R through a toolkit, and Repast, which has seen the new edition for HPC simulation (released in May 2015).

References


[1] Leitão, P., Indren, U., Rückemann C. P. (2013). “Parallelising Multi-agent Systems for High Performance Computing”, INFOCOMP 2013 : The Third International Conference on Advanced Communications and Computation.

[2] Quinn, M. J., Metoyer, R. A., Hunter-Zaworsky, K. (2010). “Parallel Implementation of the Social Forces Model”, Oregon State University publication.

[3] Thiele, J. C. (2015). “Parallel processing with the RNetLogo Package”, Document from the Department of Ecoinformatics, Biometrics - Forest Growth University of Göttingen.

[4] Yilmaz, E., Isler, V., Çetin, Y. Y. (2009). “The virtual marathon: parallel computing supports crowd simulations”, IEEE Computer Graphics and Applications, Vol. 29, Issue 04.



Politecnico di TorinoDISEG |