A Multi-threaded Execution Model for the Agent-Based SEMSim Traffic Simulation

Aydt, Heiko; Xu, Yadong; Lees, Michael; Knoll, Alois · 2013 · Crossref

DOI: 10.1007/978-3-642-45037-2_1

archive: archived pipeline: cataloged verified

Get this paper ↗ (DOI — opens at the source; we link to it, we don't host it)

Summary

This paper addresses the computational challenges inherent in large-scale, agent-based traffic simulations, specifically within the Scalable Electro-Mobility Simulation (SEMSim) platform. SEMSim Traffic is a "nanoscopic" simulator where each agent represents a driver-vehicle unit equipped with detailed behavior models (e.g., car following, lane changing) and explicit vehicle component models (e.g., battery, drivetrain). A critical requirement for this platform is the ability for agents to dynamically recalculate routes, such as navigating to charging stations, which is computationally expensive and often omitted in classical microscopic simulations. The authors aim to develop an efficient multi-threaded execution engine that supports these routing capabilities while minimizing synchronization overhead. To achieve this, the authors propose a "by-block" parallel execution model rather than a naive "by-agent" approach. The road network is modeled as a directed graph where lanes are represented as spatial queues. To reduce thread contention, neighboring lanes are grouped into blocks, ensuring that agents interacting within a block do not require exclusive access to lanes outside that block. The execution engine operates in two steps: Step 1 handles route calculations for new or rerouting agents, and Step 2 updates agent positions within the blocks. Step 2 is further optimized by dividing blocks into "even" and "odd" sets, processed in alternating batches to eliminate synchronization needs for internal lane changes and movements. This design allows multiple threads to process different blocks concurrently with minimal mutual exclusion requirements. The proposed engine was implemented in Java and evaluated using a Singapore road network scenario with up to 20,000 agents on a 4-core Intel i5 system. The evaluation compared efficiency and speed-up across varying thread counts. Results indicated that Step 1 (routing) achieved significantly higher efficiency than Step 2 (position updates), primarily because Step 2 suffered from thread initialization and idling overhead rather than synchronization bottlenecks. Despite lower efficiency in Step 2, the overall simulation speed was dominated by the computationally intensive routing phase. In Stage 2 of the experiment, where no new agents were generated and routing ceased, the simulation ran approximately one order of magnitude faster than Stage 1. The study demonstrated that the by-block model effectively minimizes synchronization cases, allowing for scalable performance on multi-core systems. The significance of this work lies in providing a viable execution model for complex, agent-based simulations that require dynamic routing and detailed vehicle modeling. By grouping lanes into blocks and processing them in alternating batches, the engine reduces the synchronization overhead typically associated with multi-threaded traffic simulations. The authors conclude that while the by-block model is efficient, future work should focus on improving Step 2 efficiency, evaluating performance on higher-core systems, and investigating hybrid approaches that combine multi-threading with distributed computing across multiple nodes. Additionally, the qualitative impact of the update sequence on agent behavior requires further investigation.

Provenance

The full processing record for this entry. Every stage of this paper's journey through the pipeline is logged — what ran, with which tool and model, how many attempts it took, and when it last completed.

StageOutcomeToolModelPromptAttemptsCompleted
discover success Crossref 1 2026-06-20
archive success unpaywall 2 2026-06-26
extract success pdftotext 2 2026-06-26
clean success clean 1 2026-06-26
chunk success chunk 1 2026-06-26
embed success embed Qwen/Qwen3-Embedding-8B 1 2026-06-26
enrich failed 1 2026-06-26
promote success 1 2026-06-20
summarize success llm qwen3.6-27b-prismaquant summ-v5 1 2026-06-26
tag success vector_similarity 6 2026-06-26
verify success 1 2026-06-26

Summary generated by qwen3.6-27b-prismaquant on 2026-06-26; verification: verified.

Topics

Ranked by relevance to this paper. Hover a topic for its definition.

Information type

What kind of knowledge this paper contributes, grouped by family — independent of topic (what it is about) and method (how it was studied).