Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

A Fine-Grain Time-Sharing Time Warp System

Published: 27 May 2017 Publication History

Abstract

Several techniques have been proposed to improve the performance of Parallel Discrete Event Simulation platforms relying on the Time Warp (optimistic) synchronization protocol. Among them we can mention optimized approaches for state restore, as well as techniques for load balancing or (dynamically) controlling the speculation degree, the latter being specifically targeted at reducing the incidence of causality errors leading to waste of computation. However, in state-of-the-art Time Warp systems, events’ processing is not preemptable, which may prevent the possibility to promptly react to the injection of higher priority (say, lower timestamp) events. Delaying the processing of these events may, in turn, give rise to higher incidence of incorrect speculation. In this article, we present the design and realization of a fine-grain time-sharing Time Warp system, to be run on multi-core Linux machines, which makes systematic use of event preemption in order to dynamically reassign the CPU to higher priority events/tasks. Our proposal is based on a truly dual mode execution, application versus platform, which includes a timer-interrupt-based support for bringing control back to platform mode for possible CPU reassignment according to very fine grain periods. The latter facility is offered by an ad-hoc timer-interrupt management module for Linux, which we release, together with the overall time-sharing support, within the open source ROOT-Sim platform. An experimental assessment based on the classical PHOLD benchmark and two real-world models is presented, which shows how our proposal effectively leads to the reduction of the incidence of causality errors, especially when running with higher degrees of parallelism.

Supplementary Material

a10-pellegrini-apndx.pdf (pellegrini.zip)
Supplemental movie, appendix, image and software files for, A Fine-Grain Time-Sharing Time Warp System

References

[1]
F. Antonacci, A. Pellegrini, and F. Quaglia. 2013. Consistent and efficient output-streams management in optimistic simulation platforms. In Proceedings of the ACM SIGSIM Conference on Principles of Advanced Discrete Simulation. ACM, 315--326.
[2]
P. D. Barnes-Jr., C. D. Carothers, D. R. Jefferson, and J. M. LaPre. 2013. Warp speed: Executing time warp on 1, 966, 080 cores. In Proceedings of the 1st ACM SIGSIM Conference on Principles of Advanced Discrete Simulation. 327--336.
[3]
R. Brown. 1988. Calendar queues: A fast O(1) priority queue implementation for the simulation event set problem. Commun. ACM 31, 1220--1227.
[4]
C. D. Carothers. 2002. Xsim: Real-time analytic parallel simulations. In Proceedings of the 16th Workshop on Parallel and Distributed Simulation (PADS’02). 27--34.
[5]
C. D. Carothers and R. M. Fujimoto. 2000. Efficient Execution of Time Warp Programs on Heterogeneous, NOW Platforms. IEEE Trans. Parallel Distrib. Syst. 11, 3, 299--317.
[6]
M. Choe and C. 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.
[7]
D. Cingolani, A. Pellegrini, and F. Quaglia. 2015. Transparently mixing undo logs and software reversibility for state recovery in optimistic PDES. In Proceedings of the 3rd ACM Conference on SIGSIM—Principles of Advanced Discrete Simulation. 211--222.
[8]
S. R. Das, R. M. Fujimoto, K. Panesar, D. Allison, and M. Hybinette. 1994. GTW: A time warp system for shared memory multiprocessors. In Proceedings of the 26th conference on Winter simulation (WSC’94). Society for Computer Simulation International, 1332--1339.
[9]
P. De, R. Kothari, and V. Mann. 2007. Identifying sources of operating system jitter through fine-grained kernel instrumentation. In Proceedings of the 2007 IEEE International Conference on Cluster Computing. 331--340.
[10]
P. M. Dickens, D. M. Nicol, P. F. R. Jr., and J. M. Duva. 1996. Analysis of bounded time warp and comparison with YAWNS. ACM Trans. Model. Comput. Simul. 6, 4, 297--320.
[11]
K. B. Ferreira, P. Bridges, and R. Brightwell. 2008. Characterizing application sensitivity to os interference using kernel-level noise injection. In Proceedings of the 2008 ACM/IEEE Conference on Supercomputing (SC’08). IEEE Press, Piscataway, NJ. 19:1--19:12.
[12]
R. M. Fujimoto. 1990a. Parallel discrete event simulation. Commun. ACM 33, 10, 30--53.
[13]
R. M. Fujimoto. 1990b. Performance of Time Warp under synthetic workloads. In Proceedings of the Multiconference on Distributed Simulation. Society for Computer Simulation, 23--28.
[14]
D. W. Glazer and C. Tropper. 1993. On process migration and load balancing in time warp. IEEE Trans. Parallel Distr. Syst. 4, 3, 318--327.
[15]
HPDCS Research Group. 2012. ROOT-Sim: The ROme OpTimistic Simulator—v 1.0. Retrieved from http://www.dis.uniroma1.it/ hpdcs/ROOT-Sim/.
[16]
S. Jafer, Q. Liu, and G. A. Wainer. 2013. Synchronization methods in parallel and distributed discrete-event simulation. Simul. Model. Pract. Theory 30, 54--73.
[17]
D. R. Jefferson. 1985. Virtual Time. ACM Trans. Program. Lang. Syst. 7, 3, 404--425.
[18]
D. R. Jefferson, B. Beckman, F. Wieland, L. Blume, M. D. Loreto, P. Hontalas, P. Laroche, K. Sturdevant, J. Tupman, L. V. Warren, J. J. Wedel, H. Younger, and S. Bellenot. 1987. Distributed simulation and the time wrap operating system. In Proceedings of the Symposium on Operating Systems (SOSP’87). 77--93.
[19]
S. Kandukuri and S. Boyd. 2002. Optimal power control in interference-limited fading wireless channels with outage-probability specifications. IEEE Trans. Wireless Commun. 1, 1, 46--55.
[20]
J. Lamps, V. Adam, D. M. Nicol, and, M. Caesar. 2015. Conjoining emulation and network simulators on linux multiprocessors. In Proceedings of the 3rd ACM-SIGSIM Conference on Principles of Advanced Discrete Simulation. 113--124.
[21]
J. Lamps, D. M. Nicol, and M. Caesar. 2014. Timekeeper: A lightweight virtual time system for linux. In Proceedings of the 2nd ACM-SIGSIM Conference on Principles of Advanced Discrete Simulation. 179--186.
[22]
Y.-B. Lin and E. D. Lazowska. 1991. Processor scheduling for Time Warp parallel simulation. In Proceedings of the 23rd SCS Multiconference on Advances in Parallel and Distributed Simulation. IEEE Computer Society, 11--14.
[23]
D. M. Nicol and X. Liu. 1997. The dark side of risk (what your mother never told you about time warp). In Proceedings of the 11th Workshop on Parallel and Distributed Simulation (PADS’97). 188--195.
[24]
A. Pellegrini and F. Quaglia. 2014. Transparent multi-core speculative parallelization of DES models with event and cross-state dependencies. In SIGSIM Principles of Advanced Discrete Simulation (SIGSIM-PADS’14). 105--116.
[25]
A. Pellegrini and F. Quaglia. 2015. NUMA time warp. In Proceedings of the 3rd ACM Conference on SIGSIM-Principles of Advanced Discrete Simulation. 59--70.
[26]
A. Pellegrini, R. Vitali, and F. Quaglia. 2011. The ROme OpTimistic Simulator: Core internals and programming model. In Proceedings of the 4th International ICST Conference on Simulation Tools and Techniques. Proceedings of the 4th ICST Conference of Simulation Tools and Techniques (SIMUTools’11).
[27]
A. Pellegrini, R. Vitali, and F. Quaglia. 2015. Autonomic state management for optimistic simulation platforms. IEEE Trans. Parallel Distr. Syst. 26, 6, 1560--1569.
[28]
F. Quaglia and V. Cortellessa. 2002. On the processor scheduling problem in time warp synchronization. ACM Trans. Model. Comput. Simul. 12.
[29]
R. Rönngren, M. Liljenstam, R. Ayani, and J. Montagnat. 1996. Transparent incremental state saving in Time Warp parallel discrete event simulation. In Proceedings of the 10th Workshop on Parallel and Distributed Simulation. IEEE Computer Society, 70--77.
[30]
A. Santoro and F. Quaglia. 2005. Software supports for event preemptive rollback in optimistic parallel simulation on myrinet clusters. J. Interconnect. Netw. 6, 4, 435--457.
[31]
S. Seelam, L. L. Fong, A. N. Tantawi, J. Lewars, J. Divirgilio, and K. Gildea. 2010. Extreme scale computing: Modeling the impact of system noise in multicore clustered systems. In Proceedings of the 24th IEEE International Symposium on Parallel and Distributed Processing (IPDPS’10). 1--12.
[32]
S. Srinivasan and Jr., P. Reynolds. 1998. Elastic time. ACM Trans. Model. Comput. Simul. 8, 2, 103--139.
[33]
R. Toccaceli and F. Quaglia. 2008. DyMeLoR: Dynamic Memory Logger and Restorer library for optimistic simulation objects with generic memory layout. In Proceedings of the Workshop on Principles of Advanced and Distributed Simulation. IEEE Computer Society, 163--172.
[34]
R. Vitali, A. Pellegrini, and F. Quaglia. 2012. Load sharing for optimistic parallel simulations on multi core machines. SIGMETRICS Perform. Eval. Rev. 40, 3, 2--11.
[35]
J. Wang, D. Jagtap, N. B. Abu-Ghazaleh, and D. Ponomarev. 2014. Parallel discrete event simulation for multi-core systems: Analysis and optimization. IEEE Trans. Parallel Distrib. Syst. 25, 6, 1574--1584.
[36]
D. West and K. Panesar. 1996. Automatic incremental state saving. In Proceedings of the Workshop on Parallel and Distributed Simulation. IEEE Computer Society, 78--85.
[37]
S. B. Yoginath, K. S. Perumalla, and B. J. Henz. 2012. Taming wild horses: The need for virtual time-based scheduling of vms in network simulations. In Proceedings of the 20th IEEE International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems. 68--77.

Cited By

View all
  • (2024)General resource manager for computationally demanding scientific software (MARE)Engineering with Computers10.1007/s00366-023-01890-z40:3(1927-1942)Online publication date: 1-Jun-2024
  • (2023)Fast and Scalable Gate-Level Simulation in Massively Parallel Systems2023 IEEE/ACM International Conference on Computer Aided Design (ICCAD)10.1109/ICCAD57390.2023.10323959(1-9)Online publication date: 28-Oct-2023
  • (2022)Effective Runtime Management of Tasks and Priorities in GNU OpenMP ApplicationsIEEE Transactions on Computers10.1109/TC.2021.313946371:10(2632-2645)Online publication date: 1-Oct-2022
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Modeling and Computer Simulation
ACM Transactions on Modeling and Computer Simulation  Volume 27, Issue 2
Special Issue on PADS 2015
April 2017
203 pages
ISSN:1049-3301
EISSN:1558-1195
DOI:10.1145/3015562
Issue’s Table of Contents
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 ACM 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]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 27 May 2017
Accepted: 01 October 2016
Revised: 01 May 2016
Received: 01 November 2015
Published in TOMACS Volume 27, Issue 2

Permissions

Request permissions for this article.

Check for updates

Author Tag

  1. Optimistic synchronization

Qualifiers

  • Research-article
  • Research
  • Refereed

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

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

Other Metrics

Citations

Cited By

View all
  • (2024)General resource manager for computationally demanding scientific software (MARE)Engineering with Computers10.1007/s00366-023-01890-z40:3(1927-1942)Online publication date: 1-Jun-2024
  • (2023)Fast and Scalable Gate-Level Simulation in Massively Parallel Systems2023 IEEE/ACM International Conference on Computer Aided Design (ICCAD)10.1109/ICCAD57390.2023.10323959(1-9)Online publication date: 28-Oct-2023
  • (2022)Effective Runtime Management of Tasks and Priorities in GNU OpenMP ApplicationsIEEE Transactions on Computers10.1109/TC.2021.313946371:10(2632-2645)Online publication date: 1-Oct-2022
  • (2022)Generation of Reversible C++ Code for Optimistic Parallel Discrete Event SimulationNew Generation Computing10.1007/s00354-018-0038-236:3(257-280)Online publication date: 11-Mar-2022
  • (2021)Measuring the Realtime Capability of Parallel-Discrete-Event-SimulationsElectronics10.3390/electronics1006063610:6(636)Online publication date: 10-Mar-2021
  • (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
  • (2020)Exploiting Inter-Processor-Interrupts for Virtual-Time Coordination in Speculative Parallel Discrete Event SimulationProceedings of the 2020 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation10.1145/3384441.3395985(49-59)Online publication date: 15-Jun-2020
  • (2020)Autonomic Power Management in Speculative Simulation Runtime EnvironmentsProceedings of the 2020 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation10.1145/3384441.3395980(93-98)Online publication date: 15-Jun-2020
  • (2020)A Distributed Shared Memory Middleware for Speculative Parallel Discrete Event SimulationACM Transactions on Modeling and Computer Simulation10.1145/337333530:2(1-26)Online publication date: 20-Mar-2020
  • (2019)A Distributed Virtual Time System on Embedded Linux for Evaluating Cyber-Physical SystemsProceedings of the 2019 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation10.1145/3316480.3322895(37-48)Online publication date: 29-May-2019
  • Show More Cited By

View Options

Login options

Full Access

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