High-Performance and Scalable Agent-Based Simulation with BioDynaMo


Loading...

Date

2023-02

Publication Type

Conference Paper

ETH Bibliography

yes

Citations

Altmetric

Data

Abstract

Agent-based modeling plays an essential role in gaining insights into biology, sociology, economics, and other fields. However, many existing agent-based simulation platforms are not suitable for large-scale studies due to the low performance of the underlying simulation engines. To overcome this limitation, we present a novel high-performance simulation engine. We identify three key challenges for which we present the following solutions. First, to maximize parallelization, we present an optimized grid to search for neighbors and parallelize the merging of thread-local results. Second, we reduce the memory access latency with a NUMA-aware agent iterator, agent sorting with a space-filling curve, and a custom heap memory allocator. Third, we present a mechanism to omit the collision force calculation under certain conditions. Our evaluation shows an order of magnitude improvement over Biocellion, three orders of magnitude speedup over Cortex3D and NetLogo, and the ability to simulate 1.72 billion agents on a single server. Supplementary Materials, including instructions to reproduce the results, are available at: https://doi.org/10.5281/zenodo.6463816

Publication status

published

Editor

Book title

PPoPP '23: Proceedings of the 28th ACM SIGPLAN Annual Symposium on Principles and Practice of Parallel Programming

Journal / series

Volume

Pages / Article No.

174 - 188

Publisher

Association for Computing Machinery

Event

28th ACM SIGPLAN Annual Symposium on Principles and Practice of Parallel Programming (PPoPP 2023)

Edition / version

Methods

Software

Geographic location

Date collected

Date created

Subject

performance evaluation; scalability; high-performance simulation; memory layout optimization; agent-based modeling; memory allocation; performance optimization; space-filling curve; NUMA; parallel computing; HPC

Organisational unit

09483 - Mutlu, Onur / Mutlu, Onur check_circle

Notes

Funding

Related publications and datasets