For more than the last 20 decades, multi-agent simulations have been highlighted to model mega-scale social or biological agents and to simulate their emergent collective behavior that may be difficult only with mathematical and macroscopic approaches. A successful key for simulating mega-scale agents is to speed up the execution with parallelization. Although many parallelization attempts have been made to multi-agent simulations, most work has been done on shared-memory programming environments such as OpenMP, CUDA, and Global Array, or still has left several programming problems specific to distributed-memory systems, such as machine unawareness, ghost space management, and cross-processor agent management (including migration, propagation, and termination). To address these parallelization challenges, we have been developing MASS, a new parallel-computing library for multi-agent and spatial simulation over a cluster of computing nodes. MASS composes a user application of distributed arrays and multi-agents, each representing an individual simulation place or an active entity. All computation is enclosed in each array element or agent, all communication is scheduled as periodic data exchanges among those entities, using machine-independent identifiers, and agents migrate to a remote array element for rendezvousing with each other. This paper presents the programming model, implementation, and evaluation of the MASS library.
[1]
Robert W. Numrich,et al.
Co-array Fortran for parallel programming
,
1998,
FORF.
[2]
Mikola Lysenko,et al.
Data-parallel algorithms for agent-based model simulation of tuberculosis on graphics processing units
,
2009,
SpringSim '09.
[3]
Jarek Nieplocha,et al.
Advances, Applications and Performance of the Global Arrays Shared Memory Programming Toolkit
,
2006,
Int. J. High Perform. Comput. Appl..
[4]
Sudip K. Seal,et al.
Efficient simulation of agent-based models on multi-GPU and multi-core clusters
,
2010,
SimuTools.
[5]
Les Gasser,et al.
MACE3J: fast flexible distributed simulation of large, large-grain multi-agent systems
,
2002,
AAMAS '02.
[6]
Fumitaka Kawasaki.
Accelerating large-scale simulations of cortical neuronal network development
,
2012
.
[7]
Jean-Luc Gaudiot,et al.
Nomadic Threads: a migrating multithreaded approach to remote memory accesses in multiprocessors
,
1996,
Proceedings of the 1996 Conference on Parallel Architectures and Compilation Technique.
[8]
Roshan M. D'Souza,et al.
A Framework for Megascale Agent Based Model Simulations on Graphics Processing Units
,
2008,
J. Artif. Soc. Soc. Simul..
[9]
Brian Logan,et al.
The distributed simulation of multiagent systems
,
2001,
Proc. IEEE.