Generation of Reversible C plus plus Code for Optimistic Parallel Discrete Event Simulation

被引:23
|
作者
Schordan, Markus [1 ]
Oppelstrup, Tomas [1 ]
Jefferson, David [1 ]
Barnes, Peter D., Jr. [1 ]
机构
[1] Lawrence Livermore Natl Lab, Livermore, CA 94551 USA
关键词
Reversible computation; PDES; Checkpointing; Incremental state saving; Program transformation;
D O I
10.1007/s00354-018-0038-2
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
The reversible execution of C/C++ code has been a target of research and engineering for more than a decade as reversible computation has become a central notion in large-scale parallel discrete event simulation (PDES). The simulation models that are implemented for PDES are of increasing complexity and size and require various language features to support abstraction, encapsulation, and composition when building a simulation model. In this paper, we focus on parallel simulation models that are written with user-defined C++ abstractions and abstractions of the C++ Standard Library. We present an approach based on incremental state saving for establishing reversibility of C++ and an evaluation for a kinetic Monte-Carlo simulation implemented in C++. Although a significant runtime overhead is introduced with our technique, it is an enormous win that it allows using the entire C++ language, and has that code automatically transformed into reversible code to enable parallel execution with the Rensselaer's optimistic simulation system (ROSS).
引用
收藏
页码:257 / 280
页数:24
相关论文
共 50 条
  • [1] Generation of Reversible C++ Code for Optimistic Parallel Discrete Event Simulation
    Markus Schordan
    Tomas Oppelstrup
    David Jefferson
    Peter D. Barnes
    New Generation Computing, 2018, 36 : 257 - 280
  • [2] C plus plus EDSL for parallel code generation
    Berenyi, Daniel
    PROCEEDINGS 2015 8TH ROMANIA TIER 2 FEDERATION GRID, CLOUD & HIGH PERFORMANCE COMPUTING IN SCIENCE (RO-LCG), 2015,
  • [3] Reverse Code Generation for Parallel Discrete Event Simulation
    Schordan, Markus
    Jefferson, David
    Barnes, Peter
    Oppelstrup, Tomas
    Quinlan, Daniel
    REVERSIBLE COMPUTATION, RC 2015, 2015, 9138 : 95 - 110
  • [4] Devastator: A Scalable Parallel Discrete Event Simulation Framework for Modern C plus
    Bachan, John
    Nguyen, Tan
    Natarajan, Mahesh
    Bremer, Maximilian
    Chan, Cy
    Jiang, Xuan
    Ye, Jianlan
    PROCEEDINGS OF THE 38TH ACM SIGSIM INTERNATIONAL CONFERENCE ON PRINCIPLES OF ADVANCED DISCRETE SIMULATION, ACM SIGSIM-PADS 2024, 2024, : 35 - 46
  • [5] The OMNeT plus plus discrete event simulation system
    Varga, A
    MODELLING AND SIMULATION 2001, 2001, : 319 - 325
  • [6] Probabilistic event scheduling policy for optimistic parallel discrete event simulation
    Som, TK
    Sargent, RG
    TWELFTH WORKSHOP ON PARALLEL AND DISTRIBUTED SIMULATION - PADS'98, PROCEEDINGS, 1998, : 56 - 63
  • [7] Implementing MPI based portable parallel discrete event simulation support in the OMNeT plus plus framework
    Wu, D
    Wu, E
    Lai, J
    Varga, A
    Sekercioglu, YA
    Egan, GK
    SIMULATION IN INDUSTRY, 2002, : 243 - 248
  • [8] Reversible discrete event formulation and optimistic parallel execution of vehicular traffic models
    Yoginath, Srikanth B.
    Perumalla, Kalyan S.
    International Journal of Simulation and Process Modelling, 2009, 5 (02) : 104 - 119
  • [9] Performance portable Vlasov code with C plus plus parallel algorithm
    Asahi, Yuuichi
    Padioleau, Thomas
    Latu, Guillaume
    Bigot, Julien
    Grandgirard, Virginie
    Obrejan, Kevin
    2022 IEEE/ACM INTERNATIONAL WORKSHOP ON PERFORMANCE, PORTABILITY AND PRODUCTIVITY IN HPC (P3HPC), 2022, : 68 - 80
  • [10] Model structure and load balancing in optimistic parallel discrete event simulation
    Som, TK
    Sargent, RG
    PADS 2000: FOURTEENTH WORKSHOP ON PARALLEL AND DISTRIBUTED SIMULATION, PROCEEDINGS, 2000, : 147 - 154