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 条
  • [31] PARALLEL DISCRETE EVENT SIMULATION
    FUJIMOTO, RM
    1989 WINTER SIMULATION CONFERENCE PROCEEDINGS, 1989, : 19 - 28
  • [32] C plus plus Code Generation for Fast Inference of Deep Learning Models in ROOT/TMVA
    An, Sitong
    Moneta, Lorenzo
    Sengupta, Sanjiban
    Hamdan, Ahmat
    Sossai, Federico
    Saxena, Aaradhya
    20TH INTERNATIONAL WORKSHOP ON ADVANCED COMPUTING AND ANALYSIS TECHNIQUES IN PHYSICS RESEARCH, 2023, 2438
  • [33] Design issues for optimistic distributed discrete event simulation
    Lin, YB
    JOURNAL OF INFORMATION SCIENCE AND ENGINEERING, 2000, 16 (02) : 243 - 269
  • [34] A C/C plus plus Code Vulnerability Dataset with Code Changes and CVE Summaries
    Fan, Jiahao
    Li, Yi
    Wang, Shaohua
    Nguyen, Tien N.
    2020 IEEE/ACM 17TH INTERNATIONAL CONFERENCE ON MINING SOFTWARE REPOSITORIES, MSR, 2020, : 508 - 512
  • [35] On event ordering in Parallel Discrete Event Simulation
    Rönngren, R
    Liljenstam, M
    THIRTEENTH WORKSHOP ON PARALLEL AND DISTRIBUTED SIMULATION - PROCEEDINGS, 1999, : 38 - 45
  • [36] On event ordering in parallel discrete event simulation
    Ronngren, Robert
    Liljenstam, Michael
    Proceedings of the Workshop on Parallel and Distributed Simulation, PADS, 1999, : 38 - 45
  • [37] The Parallel C plus plus Statistical Library 'QUESO': Quantification of Uncertainty for Estimation, Simulation and Optimization
    Prudencio, Ernesto E.
    Schulz, Karl W.
    EURO-PAR 2011: PARALLEL PROCESSING WORKSHOPS, PT I, 2012, 7155 : 398 - 407
  • [38] Simulation of a reversible SOFC with Aspen Plus
    Hauck, Maximilian
    Herrmann, Stephan
    Spliethoff, Hartmut
    INTERNATIONAL JOURNAL OF HYDROGEN ENERGY, 2017, 42 (15) : 10329 - 10340
  • [39] A Study of C/C plus plus Code Weaknesses on Stack Overflow
    Zhang, Haoxiang
    Wang, Shaowei
    Li, Heng
    Chen, Tse-Hsun
    Hassan, Ahmed E.
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2021, 48 (07) : 2359 - 2375
  • [40] SDN plus cloud integrated control with statistical analysis and discrete event simulation
    Koizumi, Seiichi
    Fujiwaka, Masaya
    2015 INTERNATIONAL CONFERENCE ON INFORMATION NETWORKING (ICOIN), 2015, : 289 - 294