The large diffusion of shared-memory multi-core machines has impacted the way Parallel Discrete Event Simulation (PDES) engines are built. While they were originally conceived as data-partitioned platforms, where each thread is in charge of managing a subset of simulation objects, nowadays the trend is to shift towards share-everything settings. In this scenario, any thread can (in principle) take care of CPU-dispatching pending events bound to whichever simulation object, which helps to fully share the load across the available CPU-cores. Hence, a fundamental aspect to be tackled is to provide an efficient globally-shared pending events’ set from which multiple worker threads can concurrently extract events to be processed, and into which they can concurrently insert new produced events to be processed in the future. To cope with this aspect, we present the design and implementation of a concurrent non-blocking pending events’ set data structure, which can be seen as a variant of a classical calendar queue. Early experimental data collected with a synthetic stress test are reported, showing excellent scalability of our proposal on a machine equipped with 32 CPU-cores.

A Non-Blocking Priority Queue for the Pending Event Set / Marotta, Romolo; Ianni, Mauro; Pellegrini, Alessandro; Quaglia, Francesco. - ELETTRONICO. - (2016), pp. 46-55. (Intervento presentato al convegno 9th EAI International Conference on Simulation Tools and Techniques, SIMUTools 2016 tenutosi a Prague; Czech Republic).

A Non-Blocking Priority Queue for the Pending Event Set

MAROTTA, ROMOLO
;
IANNI, MAURO
;
PELLEGRINI, ALESSANDRO
;
QUAGLIA, Francesco
2016

Abstract

The large diffusion of shared-memory multi-core machines has impacted the way Parallel Discrete Event Simulation (PDES) engines are built. While they were originally conceived as data-partitioned platforms, where each thread is in charge of managing a subset of simulation objects, nowadays the trend is to shift towards share-everything settings. In this scenario, any thread can (in principle) take care of CPU-dispatching pending events bound to whichever simulation object, which helps to fully share the load across the available CPU-cores. Hence, a fundamental aspect to be tackled is to provide an efficient globally-shared pending events’ set from which multiple worker threads can concurrently extract events to be processed, and into which they can concurrently insert new produced events to be processed in the future. To cope with this aspect, we present the design and implementation of a concurrent non-blocking pending events’ set data structure, which can be seen as a variant of a classical calendar queue. Early experimental data collected with a synthetic stress test are reported, showing excellent scalability of our proposal on a machine equipped with 32 CPU-cores.
2016
9th EAI International Conference on Simulation Tools and Techniques, SIMUTools 2016
Parallel Discrete Event Simulation; Non-blocking Synchronization; Parallel Simulation
04 Pubblicazione in atti di convegno::04b Atto di convegno in volume
A Non-Blocking Priority Queue for the Pending Event Set / Marotta, Romolo; Ianni, Mauro; Pellegrini, Alessandro; Quaglia, Francesco. - ELETTRONICO. - (2016), pp. 46-55. (Intervento presentato al convegno 9th EAI International Conference on Simulation Tools and Techniques, SIMUTools 2016 tenutosi a Prague; Czech Republic).
File allegati a questo prodotto
File Dimensione Formato  
Marotta_Postprint_A-non-blocking-priority_2016.pdf

accesso aperto

Note: https://dl.acm.org/citation.cfm?id=3021426.3021434
Tipologia: Documento in Post-print (versione successiva alla peer review e accettata per la pubblicazione)
Licenza: Tutti i diritti riservati (All rights reserved)
Dimensione 675.68 kB
Formato Adobe PDF
675.68 kB Adobe PDF
Marotta_A-non-blocking-priority_2016.pdf

solo gestori archivio

Tipologia: Versione editoriale (versione pubblicata con il layout dell'editore)
Licenza: Tutti i diritti riservati (All rights reserved)
Dimensione 688.03 kB
Formato Adobe PDF
688.03 kB Adobe PDF   Contatta l'autore
Marotta_Frontespizio-indice_A-non-blocking-priority_2016.pdf

solo gestori archivio

Tipologia: Altro materiale allegato
Licenza: Tutti i diritti riservati (All rights reserved)
Dimensione 116.84 kB
Formato Adobe PDF
116.84 kB 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/929076
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 9
  • ???jsp.display-item.citation.isi??? ND
social impact