Emerging share-everything Parallel Discrete Event Simulation (PDES) platforms rely on worker threads fully sharing the workload of events to be processed. These platforms require efficient event pool data structures enabling high concurrency of extraction/insertion operations. Non-blocking event pool algorithms are raising as promising solutions for this problem. However, the classical non-blocking paradigm leads concurrent conflicting operations, acting on a same portion of the event pool data structure, to abort and then retry. In this article we present a conflict-resilient non-blocking calendar queue that enables conflicting dequeue operations, concurrently attempting to extract the minimum element, to survive, thus improving the level of scalability of accesses to the hot portion of the data structure---namely the bucket to which the current locality of the events to be processed is bound. We have integrated our solution within an open source share-everything PDES platform and report the results of an experimental analysis of the proposed concurrent data structure compared to some literature solutions.
Dettaglio pubblicazione
2017, SIGSIM-PADS '17 Proceedings of the 2017 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation, Pages 15-26
A Conflict-Resilient Lock-Free Calendar Queue for Scalable Share-Everything PDES Platforms (04b Atto di convegno in volume)
Marotta Romolo, Ianni Mauro, Pellegrini Alessandro, Quaglia Francesco
ISBN: 9781450344890
keywords