Exploiting Inter-Processor-Interrupts for Virtual-Time Coordination in Speculative Parallel Discrete Event Simulation
Emiliano Silvesti, Cristian Milia, Romolo Marotta, Alessandro Pellegrini, and Francesco Quaglia
Published in: Proceedings of the 2020 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation
Download PDF
Abstract:
Reducing the waste of resource usage (e.g., CPU-cycles) when a causality error occurs in speculative parallel discrete event simulation (PDES) is still a core objective. In this article,
we target this objective in the context of speculative PDES run on top of shared-memory machines. We propose an Operating System
approach that is based on the exploitation of the Inter-Processor-Interrupt (IPI) facility offered by off-the-shelf hardware chip sets, which enables cross-CPU-core control of the execution flow of threads. As soon as a thread T produces a new event placed in the past virtual time of a simulation object currently run by another thread T’, our IPI-based support allows T to change the execution flow of T’—with very minimal delay—so to enable the early squash of the currently processed (and no longer consistent) event. Our solution is fully transparent to the application level code, and is coupled with a lightweight heuristic-based mechanism that determines the actual goodness of killing thread T’ via the IPI (rather than skipping the IPI send) depending on the expected residual execution time of the incorrect event being processed. We integrated our proposal within the speculative open-source USE (Ultimate Share Everything) PDES package, and we report experimental results obtained by running various PDES models on top of two shared-memory hardware architectures equipped with 32 and 24 (48 Hyper-threads) CPU-cores, which demonstrate the effectiveness of our proposal.
BibTeX Entry:
author = {Silvesti, Emiliano and Milia, Cristian and Marotta, Romolo and Pellegrini, Alessandro and Quaglia, Francesco},
booktitle = {Proceedings of the 2020 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation},
title = {Exploiting Inter-Processor-Interrupts for Virtual-Time Coordination in Speculative Parallel Discrete Event Simulation},
year = {2020},
month = jun,
publisher = {ACM},
series = {PADS},
doi = {10.1145/3384441.3395985},
location = {Miami, FL, USA}
}