Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.5555/3021426.3021434acmotherconferencesArticle/Chapter ViewAbstractPublication PagessimutoolsConference Proceedingsconference-collections
tutorial

A Non-Blocking Priority Queue for the Pending Event Set

Published: 22 August 2016 Publication History

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.

References

[1]
T. E. Anderson. The performance of spin lock alternatives for shared-memory multiprocessors. IEEE Transactions on Parallel and Distributed Systems, 1(1):6--16, 1990.
[2]
R. Ayani. LR-Algorithm: concurrent operations on priority queues. In Proceedings of the 2nd IEEE Symposium on Parallel and Distributed Processing, SPDP, pages 22--25, Dallas, TX, USA, 1990. IEEE Computer Society.
[3]
A. Boukerche and S. K. Das. Dynamic load balancing strategies for conservative parallel simulations. In Proceedings of the 11th Workshop on Parallel and Distributed Simulation, PADS, pages 20--28, 1997.
[4]
R. Brown. Calendar queues: a fast O(1) priority queue implementation for the simulation event set problem. Communications of the ACM, 31(10):1220--1227, 1988.
[5]
C. D. Carothers and R. M. Fujimoto. Efficient execution of Time Warp programs on heterogeneous, NOW platforms. IEEE Transactions on Parallel and Distributed Systems, 11(3):299--317, 2000.
[6]
K. M. Chandy and J. Misra. Distributed simulation: A case study in design and verification of distributed programs. IEEE Transactions on Software Engineering, SE--S5(5):440--452, 1979.
[7]
D. Cingolani, A. Pellegrini, and F. Quaglia. RAMSES: Reversibility-based agent modeling and simulation environment with speculation support. In Proceedings of the 3rd Workshop on Parallel and Distributed Agent-Based Simulations, PADABS, pages 466--478, Vienna, Austria, 2015. LNCS, Springer-Verlag.
[8]
T. Dickman, S. Gupta, and P. A. Wilsey. Event pool structures for PDES on many-core Beowulf clusters. In Proceedings of the 2013 ACM SIGSIM conference on Principles of advanced discrete simulation, pages 103--114. ACM Press, 2013.
[9]
R. M. Fujimoto. Parallel discrete event simulation. Communications of the ACM, 33(10):30--53, 1990.
[10]
D. W. Glazer and C. Tropper. On process migration and load balancing in Time Warp. IEEE Transactions Parallel Distrib. Syst., 4(3):318--327, 1993.
[11]
S. Gupta and P. A. Wilsey. Lock-free pending event set management in time warp. In Proceedings of the 2014 ACM SIGSIM conference on Principles of advanced discrete simulation, PADS, pages 15--26. ACM Press, 2014.
[12]
T. Harris. A pragmatic implementation of non-blocking linked-lists. In J. Welch, editor, Distributed Computing, volume 2180, pages 300--314. Springer Berlin/Heidelberg, 2001.
[13]
J. Hay and P. A. Wilsey. Experiments with Hardware-based Transactional Memory in Parallel Simulation. In Proceedings of the 3rd ACM Conference on SIGSIM-Principles of Advanced Discrete Simulation, SIGSIM-PADS, pages 75--86, New York, New York, USA, 2015. ACM Press.
[14]
M. P. Herlihy and J. M. Wing. Linearizability: a correctness condition for concurrent objects. ACM Transactions on Programming Languages and Systems, 12(3):463--492, 1990.
[15]
D. R. Jefferson. Virtual Time. ACM Transactions on Programming Languages and System, 7(3):404--425, 1985.
[16]
D. E. Martin, T. J. McBrayer, and P. A. Wilsey. WARPED: A Time Warp simulation kernel for analysis and application development. In Proceedings of the 29th Hawaii International Conference on System Sciences. Volume 1: Software Technology and Architecture, HICSS, pages 383--386. IEEE Computer Society, 1996.
[17]
A. Pellegrini, S. Peluso, F. Quaglia, and R. Vitali. Transparent speculative parallelization of discrete event simulation applications using global variables. International Journal of Parallel Programming, apr 2016.
[18]
S. Peluso, D. Didona, and F. Quaglia. Supports for transparent object-migration in PDES systems. Journal of Simulation, 6(4):279--293, nov 2012.
[19]
F. Quaglia. A low-overhead constant-time lowest-timestamp-first CPU scheduler for high-performance optimistic simulation platforms. Simulation Modelling Practice and Theory, 53:103--122, 2015.
[20]
R. Rönngren and R. Ayani. A comparative study of parallel and sequential priority queue algorithms. Transactions on Modeling and Computer Simulation, 7(2):157--209, 1997.
[21]
E. Santini, M. Ianni, A. Pellegrini, and F. Quaglia. Hardware-Transactional-Memory based speculative parallel discrete event simulation of very fine grain models. In Proceedings of the 22nd International Conference on High Performance Computing, HiPC, 2015.
[22]
H. Sundell and P. Tsigas. Fast and lock-free concurrent priority queues for multi-thread systems. Journal of Parallel and Distributed Computing, 65(5):609--627, 2005.
[23]
W. T. Tang, R. S. M. Goh, and I. L. Thng. Ladder queue: An O(1) priority queue structure for large-scale discrete event simulation. Transactions on Modeling and Computer Simulation, 15(3):175--204, 2005.
[24]
R. K. Treiber. Systems programming: coping with parallelism. Technical report, IBM US Research Centers, Yorktown, San Jose, Almaden, US, 1986.

Cited By

View all
  • (2024)A Conflict-Resilient Lock-Free Linearizable Calendar QueueACM Transactions on Parallel Computing10.1145/363516311:1(1-32)Online publication date: 11-Mar-2024
  • (2022)Comparing Different Event Set Management Strategies in Speculative PDESProceedings of the 2022 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation10.1145/3518997.3534993(55-56)Online publication date: 8-Jun-2022
  • (2020)NUMA-aware non-blocking calendar queueProceedings of the IEEE/ACM 24th International Symposium on Distributed Simulation and Real Time Applications10.5555/3451906.3451915(59-67)Online publication date: 14-Sep-2020
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
SIMUTOOLS'16: Proceedings of the 9th EAI International Conference on Simulation Tools and Techniques
August 2016
133 pages
ISBN:9781631901201
  • General Chair:
  • Gary Tan

In-Cooperation

Publisher

ICST (Institute for Computer Sciences, Social-Informatics and Telecommunications Engineering)

Brussels, Belgium

Publication History

Published: 22 August 2016

Check for updates

Qualifiers

  • Tutorial
  • Research
  • Refereed limited

Conference

SIMUTOOLS'16
SIMUTOOLS'16: International Conference on Tools and Techniques
August 22 - 24, 2016
Prague, Czech Republic

Acceptance Rates

Overall Acceptance Rate 20 of 73 submissions, 27%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 03 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)A Conflict-Resilient Lock-Free Linearizable Calendar QueueACM Transactions on Parallel Computing10.1145/363516311:1(1-32)Online publication date: 11-Mar-2024
  • (2022)Comparing Different Event Set Management Strategies in Speculative PDESProceedings of the 2022 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation10.1145/3518997.3534993(55-56)Online publication date: 8-Jun-2022
  • (2020)NUMA-aware non-blocking calendar queueProceedings of the IEEE/ACM 24th International Symposium on Distributed Simulation and Real Time Applications10.5555/3451906.3451915(59-67)Online publication date: 14-Sep-2020
  • (2019)An adaptive concurrent priority queue for NUMA architecturesProceedings of the 16th ACM International Conference on Computing Frontiers10.1145/3310273.3323164(135-144)Online publication date: 30-Apr-2019
  • (2019)Managing Pending Events in Sequential and Parallel Simulations Using Three-tier Heap and Two-tier Ladder QueueACM Transactions on Modeling and Computer Simulation10.1145/326575029:2(1-28)Online publication date: 15-Mar-2019
  • (2018)Optimizing simulation on shared-memory platformsProceedings of the 2018 Winter Simulation Conference10.5555/3320516.3320753(1969-1980)Online publication date: 9-Dec-2018
  • (2017)Towards a fully non-blocking share-everything PDES platformProceedings of the 21st International Symposium on Distributed Simulation and Real Time Applications10.5555/3199858.3199863(25-32)Online publication date: 18-Oct-2017
  • (2017)A Conflict-Resilient Lock-Free Calendar Queue for Scalable Share-Everything PDES PlatformsProceedings of the 2017 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation10.1145/3064911.3064926(15-26)Online publication date: 16-May-2017
  • (2017)Multi-tier Priority Queues and 2-tier Ladder Queue for Managing Pending Events in Sequential and Optimistic Parallel SimulationsProceedings of the 2017 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation10.1145/3064911.3064921(3-14)Online publication date: 16-May-2017
  • (2016)A Lock-Free O(1) Event Pool and its Application to Share-Everything PDES PlatformsProceedings of the 20th International Symposium on Distributed Simulation and Real-Time Applications10.1109/DS-RT.2016.33(53-60)Online publication date: 21-Sep-2016

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media