An Analysis of Three C/C++ Cluster-Computing Libraries for Agent-Based Models
Munehiro Fukuda et al.
Abstract
Agent-based modeling (ABM) is increasing its popularity and is applied to practical simulation where millions of agents need to interact with each other over a large-scale logical space. Cluster computing is an approach to accommodating ABM’s needs of both CPU and spatial scalability. This research compares three parallel ABM libraries such as FLAME, Repast HPC, and our MASS C++ libraries, all modeling simulation programs in C/C++ and running them in parallel over a cluster system. Our comparative work selects seven benchmark programs from social, behavioral, and economic sciences, biology, and urban planning; parallelizes them with each of these three libraries; analyzes their programmability through the parallelization; and measures their parallel performance. Our results reach two findings. The programmability of each ABM library has different pros and cons in metrics such as total lines of code (LoC), boilerplate percentages, agent/space modeling and management LoC, lack of cohesion of methods (LCOM), ease of agent synchronizations, and semantically smooth coding. Therefore, there is no all-in-one ABM library for best programming any application domains. However, ABM parallel executions are heavily affected by each library’s design principles. In particular, FLAME’s frequent file accesses and message broadcasts as well as Repast HPC’s central agent managements incur system overheads or bottlenecks. These performance drawbacks give MASS C++ an advantage in performing fastest and scaling up simulation most successfully.
Evidence weight
Balanced mode · F 0.40 / M 0.15 / V 0.05 / R 0.40
| F · citation impact | 0.50 × 0.4 = 0.20 |
| M · momentum | 0.50 × 0.15 = 0.07 |
| V · venue signal | 0.50 × 0.05 = 0.03 |
| R · text relevance † | 0.50 × 0.4 = 0.20 |
† Text relevance is estimated at 0.50 on the detail page — for your query’s actual relevance score, open this paper from a search result.