A methodology for selecting a performance-convenient ABMS development framework on HPC platforms

Agent-based modeling and simulation (ABMS) is an approach for simulating the actions and interactions of autonomous agents. Such interactions occur within a defined environment to assess their effects on a system as a whole. Depending on the complexity of the model and the number of simulated agents...

Descripción completa

Detalles Bibliográficos
Autores: Moreno Vendrell, Andreu|||0000-0002-0784-7138, Jorba i Esteve, Josep|||0000-0002-5810-4748, Peralta Quesada, Cristina|||0009-0002-0155-7102, César Galobardes, Eduardo|||0000-0002-9729-8557, Sikora, Anna|||0000-0003-0090-4109, Hanzich, Mauricio|||0000-0003-4460-1118
Tipo de recurso: artículo
Fecha de publicación:2023
País:España
Institución:Universitat Autònoma de Barcelona
Repositorio:Dipòsit Digital de Documents de la UAB
Idioma:inglés
OAI Identifier:oai:ddd.uab.cat:317842
Acceso en línea:https://ddd.uab.cat/record/317842
https://dx.doi.org/urn:doi:10.1016/j.simpat.2023.102812
Access Level:acceso abierto
Palabra clave:Agent-based modeling and simulation
Benchmark
HPC
Parallel applications
Performance
Descripción
Sumario:Agent-based modeling and simulation (ABMS) is an approach for simulating the actions and interactions of autonomous agents. Such interactions occur within a defined environment to assess their effects on a system as a whole. Depending on the complexity of the model and the number of simulated agents, an ABMS application may require a significant amount of computational resources. It makes them good candidates to be parallelized on HPC systems. However, most developers of ABMS simulators are experts in the specific simulation domain, but they lack the expertise to develop parallel applications. Consequently, several frameworks for generating HPC ABMS applications have been developed, and it may now be challenging for these non-expert users to choose which of these frameworks would provide the best performing simulator for a particular model. This paper presents a methodology that uses a benchmark to help non-expert users to select the most suitable framework to generate the best performing parallel implementation for a given ABMS model. Such a benchmark considers the common characteristics of parallel ABMS applications and includes parameters for influencing their relevant performance aspects. The methodology is based on defining a set of problem classes that represent the majority of known ABMS models and systematically conducting a series of experiments to determine which framework offers the best performance for each class. Then, users only need to identify the class that closely aligns with their model to make an informed decision regarding the appropriate development framework. The methodology is used to assess well-known ABMS parallel development frameworks (FLAME, RepastHPC, and DMASON) on real HPC platforms. The obtained results are validated using a real application for infection and contact tracing modeling.