A communication-aware framework for parallel spatially explicit agent-based models
Parallel spatially explicit agent-based models (SE-ABM) exploit high-performance and parallel computing to simulate spatial dynamics of complex geographic systems. The integration of parallel SE-ABM with CyberGIS could facilitate straightforward access to massive computational resources and geographic information systems to support pre- and post-simulation analysis and visualization. However, to benefit from CyberGIS integration, parallel SE-ABM must overcome the challenge of communication management for orchestrating many processor cores in parallel computing environments. This paper examines and addresses this challenge by describing a generic framework for the management of inter-processor communication to enable parallel SE-ABM to scale to high-performance parallel computers. The framework synthesizes four interrelated components: agent grouping, rectilinear domain decomposition, a communication-aware load-balancing strategy, and entity proxies. The results of a series of computational experiments based on a template agent-based model demonstrate that parallel computational efficiency diminishes as inter-processor communication increases, particularly when scaling a fixed-size model to thousands of processor cores. Therefore, effective communication management is crucial. The communication framework is shown to efficiently scale up to 2048 cores, demonstrating its ability to effectively scale to thousands of processor cores to support the simulation of billions of agents. In a simulated scenario, the communication-aware load-balancer reduced both overall simulation time and communication percentage improving overall computational efficiency. By examining and addressing inter-processor communication challenges, this research enables parallel SE-ABM to efficiently use high-performance computing resources, which reduces the barriers for synergistic integration with CyberGIS.
agent-based modeling cybergis high performance computing parallel communication