Fachada, NunoLopes, Vitor V.Martins, Rui C.Rosa, Agostinho C.2020-06-012020-06-012017Fachada, N., Lopes, V. V., Martins, R. C., & Rosa, A. C. (2017). Parallelization strategies for spatial agent-based models. International Journal of Parallel Programming, 45(3), 449-4811573-7640https://doi.org/10.1007/s10766-015-0399-9http://hdl.handle.net/10437/10198International Journal of Parallel ProgrammingAgent-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.application/pdfengopenAccessAGENT-BASED MODELINGSHARED MEMORYMULTITHREADINGMODELAÇÃO BASEADA EM AGENTESMEMÓRIA COMPARTILHADAMULTISSEGMENTAÇÃOParallelization strategies for spatial agent-based modelsarticle