skip to main content
10.1145/3384441.3395985acmconferencesArticle/Chapter ViewAbstractPublication PagespadsConference Proceedingsconference-collections
research-article

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

Published: 15 June 2020 Publication History

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.

References

[1]
Christopher D Carothers and Richard M Fujimoto. 2000. Efficient execution of Time Warp programs on heterogeneous, NOW platforms . IEEE Transactions on Parallel and Distributed Systems, Vol. 11, 3 (2000), 299--317.
[2]
Christopher D Carothers, Kalyan S Perumalla, and Richard M Fujimoto. 1999. Efficient optimistic parallel simulations using reverse computation. ACM Transactions on Modeling and Computer Simulation, Vol. 9, 3 (1999), 224--253.
[3]
Malolan Chetlur, Nael B. Abu-Ghazaleh, R Radhakrishnan, and Philip A. Wilsey. 1998. Optimizing Communication in Time-warp Simulators. In Proceedings of the Twelfth Workshop on Parallel and Distributed Simulation (PADS '98). IEEE Computer Society, Washington, DC, USA, 64--71. https://doi.org/10.1145/278008.278017
[4]
Myongsu Choe and Carl Tropper. 1999. On Learning Algorithms and Balancing Loads in Time Warp. In Proceedings of the 13th Workshop on Parallel and Distributed Simulation. Springer Verlag, 101--108.
[5]
Davide Cingolani, Alessandro Pellegrini, and Francesco Quaglia. 2017. Transparently Mixing Undo Logs and Software Reversibility for State Recovery in Optimistic PDES. ACM Trans. Model. Comput. Simul., Vol. 27, 2, Article Article 11 (May 2017), 26 pages. https://doi.org/10.1145/3077583
[6]
Samir R Das and Richard M Fujimoto. 1997. Adaptive Memory Management and Optimism Control in Time Warp . ACM Transactions on Modeling and Computer Simulation, Vol. 7, 2 (1997), 239--271. https://doi.org/10.1145/249204.249207
[7]
Phillip M. Dickens, David M. Nicol, Paul F. Reynolds, and J. M. Duva. 1996. Analysis of bounded time warp and comparison with YAWNS. ACM Transactions on Modeling and Computer Simulation (1996). https://doi.org/10.1145/240896.240913
[8]
Keir Fraser. 2003. Practical lock freedom. Ph.D. Dissertation. Cambridge University Computer Laboratory.
[9]
Richard M Fujimoto. 1990. Performance of Time Warp Under Synthetic Workloads. In Proceedings of the Multiconference on Distributed Simulation. Society for Computer Simulation, 23--28.
[10]
Richard M. Fujimoto and Maria Hybinette. 1997. Computing Global Virtual Time in Shared-Memory Multiprocessors . ACM Transactions on Modeling and Computer Simulation, Vol. 7, 4 (1997), 425--446. https://doi.org/10.1145/268403.268404
[11]
Daniel Gruss, Moritz Lipp, Michael Schwarz, Richard Fellner, Clé mentine Maurice, and Stefan Mangard. 2017. KASLR is Dead: Long Live KASLR. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics). 161--176. https://doi.org/10.1007/978-3-319-62105-0_11
[12]
Mauro Ianni, Romolo Marotta, Davide Cingolani, Alessandro Pellegrini, and Francesco Quaglia. 2018. The Ultimate Share-Everything PDES System (SIGSIM-PADS '18). Association for Computing Machinery, New York, NY, USA, 73--84. https://doi.org/10.1145/3200921.3200931
[13]
David R Jefferson. 1985. Virtual Time. ACM Transactions on Programming Languages and System, Vol. 7, 3 (1985), 404--425.
[14]
David R. Jefferson, Brian Beckman, Frederick Wieland, Leo Blume, Mike Di Loreto, Phil Hontalas, Pierre Laroche, Kathy Sturdevant, Jack Tupman, L. Van Warren, John J. Wedel, Herb Younger, and Steve Bellenot. 1987. Distributed Simulation and the Time Warp Operating System. In Proceedings of the Eleventh ACM Symposium on Operating System Principles, SOSP 1987, Stouffer Austin Hotel, Austin, Texas, USA, November 8--11, 1987, Les Belady (Ed.). ACM, 77--93.
[15]
Sunil Kandukuri and Stephen Boyd. 2002. Optimal Power Control in Interference-Limited Fading Wireless Channels with Outage-Probability Specifications. IEEE Transactions on Wireless Communications, Vol. 1, 1 (2002), 46--55.
[16]
Paul Kocher, Jann Horn, Anders Fogh, Daniel Genkin, Daniel Gruss, Werner Haas, Mike Hamburg, Moritz Lipp, Stefan Mangard, Thomas Prescher, Michael Schwarz, and Yuval Yarom. 2019. Spectre attacks: Exploiting speculative execution. In Proceedings of the 2019 IEEE Symposium on Security and Privacy. https://doi.org/10.1109/SP.2019.00002 arxiv: 1801.01203
[17]
Yi-Bing Lin and Edward D Lazowska. 1991. Processor Scheduling for Time Warp Parallel Simulation. In Advances in Parallel and Distributed Simulation. IEEE Computer Society, 11--14.
[18]
Moritz Lipp, Michael Schwarz, Daniel Gruss, Thomas Prescher, Werner Haas, Anders Fogh, Jann Horn, Stefan Mangard, Paul Kocher, Daniel Genkin, Yuval Yarom, and Mike Hamburg. 2018. Meltdown: Reading kernel memory from user space. In Proceedings of the 27th USENIX Security Symposium.
[19]
Vijay K. Madisetti, Jean C. Walrand, and David G. Messerschmitt. 1988. Wolf: a rollback algorithm for optimistic distributed simulation systems. In Proceedings of the 20th conference on Winter simulation, WSC 1988, San Diego, California, USA, December 12-14, 1988, Michael A. Abrams, Peter L. Haigh, and John Craig Comfort (Eds.). ACM, 296--305.
[20]
Maged M Michael. 2004. Hazard Pointers: Safe Memory Reclamation for Lock-Free Objects. IEEE Transactions on Parallel and Distributed Systems, Vol. 15, 6 (2004), 491--504. https://doi.org/10.1109/TPDS.2004.8
[21]
D.M. Nicol and Jason Liu. 2002. Composite synchronization in parallel discrete-event simulation. IEEE Transactions on Parallel and Distributed Systems, Vol. 13, 5 (may 2002), 433--446. https://doi.org/10.1109/TPDS.2002.1003854
[22]
Alessandro Pellegrini and Francesco Quaglia. 2017. A Fine-Grain Time-Sharing Time Warp System . ACM Transactions on Modeling and Computer Simulation, Vol. 27, 2 (may 2017), 1--25. https://doi.org/10.1145/3013528
[23]
Alessandro Pellegrini, Roberto Vitali, and Francesco Quaglia. 2015. Autonomic State Management for Optimistic Simulation Platforms . IEEE Transactions on Parallel and Distributed Systems, Vol. 26, 6 (jun 2015), 1560--1569. https://doi.org/10.1109/TPDS.2014.2323967
[24]
Bruno R Preiss, Wayne M Loucks, and D MacIntyre. 1994. Effects of the Checkpoint Interval on Time and Space in Time Warp . ACM Transactions on Modeling and Computer Simulation, Vol. 4, 3 (1994), 223--253.
[25]
Francesco Quaglia and Vittorio Cortellessa. 2002. On the processor scheduling problem in time warp synchronization. ACM Transactions on Modeling and Computer Simulation, Vol. 12, 3 (2002).
[26]
S Srinivasan and P F Reynolds Jr. 1998. Elastic Time . ACM Transactions on Modeling and Computer Simulation, Vol. 8, 2 (apr 1998), 103--139.
[27]
Brian Paul Swenson and George F Riley. 2012. A New Approach to Zero-Copy Message Passing with Reversible Memory Allocation in Multi-core Architectures. In PADS. 44--52.
[28]
Roberto Vitali, Alessandro Pellegrini, and Francesco Quaglia. 2012. Load sharing for optimistic parallel simulations on multi core machines . ACM SIGMETRICS Performance Evaluation Review, Vol. 40, 3 (jan 2012), 2--11. https://doi.org/10.1145/2425248.2425250

Cited By

View all
  • (2023)Effective Access to the Committed Global State in Speculative Parallel Discrete Event Simulation on Multi-core MachinesProceedings of the 2023 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation10.1145/3573900.3591117(107-117)Online publication date: 21-Jun-2023
  • (2023)Towards the Optimization of Speculative PDES Platforms in Shared-Memory Multi-core MachinesMulti-Agent Systems10.1007/978-3-031-43264-4_38(500-506)Online publication date: 14-Sep-2023
  • (2021)Distributed Virtual Time-Based Synchronization for Simulation of Cyber-Physical SystemsACM Transactions on Modeling and Computer Simulation10.1145/344623731:2(1-24)Online publication date: 18-Apr-2021

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SIGSIM-PADS '20: Proceedings of the 2020 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation
June 2020
204 pages
ISBN:9781450375924
DOI:10.1145/3384441
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 15 June 2020

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. multi core
  2. operating systems
  3. parallel event discrete simulation
  4. shared memory

Qualifiers

  • Research-article

Conference

SIGSIM-PADS '20
Sponsor:

Acceptance Rates

Overall Acceptance Rate 398 of 779 submissions, 51%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

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

Other Metrics

Citations

Cited By

View all
  • (2023)Effective Access to the Committed Global State in Speculative Parallel Discrete Event Simulation on Multi-core MachinesProceedings of the 2023 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation10.1145/3573900.3591117(107-117)Online publication date: 21-Jun-2023
  • (2023)Towards the Optimization of Speculative PDES Platforms in Shared-Memory Multi-core MachinesMulti-Agent Systems10.1007/978-3-031-43264-4_38(500-506)Online publication date: 14-Sep-2023
  • (2021)Distributed Virtual Time-Based Synchronization for Simulation of Cyber-Physical SystemsACM Transactions on Modeling and Computer Simulation10.1145/344623731:2(1-24)Online publication date: 18-Apr-2021

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