Back to Search Start Over

Synchronous speculative simulation of tightly coupled agents in continuous time on CPUs and GPUs.

Authors :
Andelfinger, Philipp
Uhrmacher, Adelinde M
Source :
Simulation. Jan2024, Vol. 100 Issue 1, p5-21. 17p.
Publication Year :
2024

Abstract

Traditionally, parallel discrete-event simulations of agent-based models in continuous time are organized around logical processes exchanging time-stamped events, which clashes with the properties of models in which tightly coupled agents frequently and instantaneously access each other's states. To illustrate the challenges of such models and to derive a solution, we consider the domain-specific modeling language ML3, which allows modelers to succinctly express transitions and interactions of linked agents based on a continuous-time Markov chain (CTMC) semantics. We propose synchronous optimistic synchronization algorithms tailored toward simulations of fine-grained interactions among tightly coupled agents in highly dynamic topologies and present implementations targeting multicore central processing units (CPUs) as well as many-core graphics processing units (GPUs). By dynamically restricting the temporal progress per round to ensure that at most one transition or state access per agent, the synchronization algorithms enable efficient direct agent interaction and limit the required agent state history to only a single current and projected state. To maintain concurrency given actions that depend on dynamically updated macro-level properties, we introduce a simple relaxation scheme with guaranteed error bounds. Using an extended variant of the classical susceptible-infected-recovered network model, we benchmark and profile the performance of the different algorithms running on CPUs and on a data center GPU. [ABSTRACT FROM AUTHOR]

Details

Language :
English
ISSN :
00375497
Volume :
100
Issue :
1
Database :
Academic Search Index
Journal :
Simulation
Publication Type :
Academic Journal
Accession number :
174837396
Full Text :
https://doi.org/10.1177/00375497231158930