Parallelization Strategies for Spatial Agent-Based Models
Abstract
Agent-based modeling (ABM) is a bottom-up modeling approach, where each entity of the system being modeled is uniquely represented as an independent decision-making agent. Large scale emergent behavior in ABMs is population sensitive. As such, the number of agents in a simulation should be able to reflect the reality of the system being modeled, which can be in the order of millions or billions of individuals in certain domains. A natural solution to reach acceptable scalability in commodity multi-core processors consists of decomposing models such that each component can be independently processed by a different thread in a concurrent manner. In this paper we present a multithreaded Java implementation of the PPHPC ABM, with two goals in mind: 1) compare the performance of this implementation with an existing NetLogo implementation; and, 2) study how different parallelization strategies impact simulation performance on a shared memory architecture. Results show that: 1) model parallelization can yield considerable performance gains; 2) distinct parallelization strategies offer specific trade-offs in terms of performance and simulation reproducibility; and, 3) PPHPC is a valid reference model for comparing distinct implementations or parallelization strategies, from both performance and statistical accuracy perspectives.
- Publication:
-
arXiv e-prints
- Pub Date:
- July 2015
- DOI:
- 10.48550/arXiv.1507.04047
- arXiv:
- arXiv:1507.04047
- Bibcode:
- 2015arXiv150704047F
- Keywords:
-
- Computer Science - Distributed;
- Parallel;
- and Cluster Computing;
- D.1.3;
- D.2.4;
- G.3;
- I.6.6
- E-Print:
- The peer-reviewed version of this paper is published in the International Journal of Parallel Programming at http://dx.doi.org/10.1007/s10766-015-0399-9 . This version is typeset by the authors and differs only in pagination and typographical detail