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 chipsets, 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.

Exploiting Inter-Processor-Interrupts for Virtual-Time Coordination in Speculative Parallel Discrete Event Simulation / Silvestri, Emiliano; Milia, Cristian; Marotta, Romolo; Pellegrini, Alessandro; Quaglia, Francesco. - (2020), pp. 49-59. (Intervento presentato al convegno 2020 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation, SIGSIM-PADS 2020 tenutosi a Miami, FL; USA) [10.1145/3384441.3395985].

Exploiting Inter-Processor-Interrupts for Virtual-Time Coordination in Speculative Parallel Discrete Event Simulation

Silvestri, Emiliano
;
Marotta, Romolo
;
Pellegrini, Alessandro
;
Quaglia, Francesco
2020

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 chipsets, 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.
2020
2020 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation, SIGSIM-PADS 2020
Parallel Event Discrete Simulation; Shared memory; Multi core; Operating Systems
04 Pubblicazione in atti di convegno::04b Atto di convegno in volume
Exploiting Inter-Processor-Interrupts for Virtual-Time Coordination in Speculative Parallel Discrete Event Simulation / Silvestri, Emiliano; Milia, Cristian; Marotta, Romolo; Pellegrini, Alessandro; Quaglia, Francesco. - (2020), pp. 49-59. (Intervento presentato al convegno 2020 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation, SIGSIM-PADS 2020 tenutosi a Miami, FL; USA) [10.1145/3384441.3395985].
File allegati a questo prodotto
File Dimensione Formato  
Silvestri_Postprint_Exploiting-Inter-Processor-Interrupts _2020.pdf

accesso aperto

Note: https://doi.org/10.1145/3384441.3395985
Tipologia: Documento in Post-print (versione successiva alla peer review e accettata per la pubblicazione)
Licenza: Tutti i diritti riservati (All rights reserved)
Dimensione 847.29 kB
Formato Adobe PDF
847.29 kB Adobe PDF
Silvestri_Exploiting-Inter-Processor-Interrupts _2020.pdf

solo gestori archivio

Tipologia: Versione editoriale (versione pubblicata con il layout dell'editore)
Licenza: Tutti i diritti riservati (All rights reserved)
Dimensione 1.39 MB
Formato Adobe PDF
1.39 MB Adobe PDF   Contatta l'autore

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11573/1421480
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 3
  • ???jsp.display-item.citation.isi??? ND
social impact