PARSIR: a Package for Effective Parallel Discrete Event Simulation on Multi-processor Machines
Francesco Quaglia

TL;DR
PARSIR is a software package designed to efficiently run discrete event simulations on multi-processor shared-memory systems by optimizing CPU usage, memory access, and workload distribution, demonstrated with positive benchmark results.
Contribution
PARSIR introduces a novel environment for parallel discrete event simulation that minimizes CPU cycles and optimizes memory access on multi-processor machines, with transparent integration for user models.
Findings
Effective parallel simulation achieved on 40-CPU NUMA system.
Significant reduction in CPU cycles for simulation execution.
Demonstrated scalability and efficiency with PHOLD benchmark.
Abstract
In this article we present PARSIR (PARallel SImulation Runner), a package that enables the effective exploitation of shared-memory multi-processor machines for running discrete event simulation models. PARSIR is a compile/run-time environment for discrete event simulation models developed with the {\tt C} programming language. The architecture of PARSIR has been designed in order to keep low the amount of CPU-cycles required for running models. This is achieved via the combination of a set of techniques like: 1) causally consistent batch-processing of simulation events at an individual simulation object for caching effectiveness; 2) high likelihood of disjoint access parallelism; 3) the favoring of memory accesses on local NUMA (Non-Uniform-Memory-Access) nodes in the architecture, while still enabling well balanced workload distribution via work-stealing from remote nodes; 4) the use…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSimulation Techniques and Applications · Distributed and Parallel Computing Systems · Scientific Computing and Data Management
