Generation of Reversible C++ Code for Optimistic Parallel Discrete Event Simulation View Full Text


Ontology type: schema:ScholarlyArticle     


Article Info

DATE

2018-07

AUTHORS

Markus Schordan, Tomas Oppelstrup, David Jefferson, Peter D. Barnes

ABSTRACT

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). More... »

PAGES

257-280

References to SciGraph publications

Identifiers

URI

http://scigraph.springernature.com/pub.10.1007/s00354-018-0038-2

DOI

http://dx.doi.org/10.1007/s00354-018-0038-2

DIMENSIONS

https://app.dimensions.ai/details/publication/pub.1105884598


Indexing Status Check whether this publication has been indexed by Scopus and Web Of Science using the SN Indexing Status Tool
Incoming Citations Browse incoming citations for this publication using opencitations.net

JSON-LD is the canonical representation for SciGraph data.

TIP: You can open this SciGraph record using an external JSON-LD service: JSON-LD Playground Google SDTT

[
  {
    "@context": "https://springernature.github.io/scigraph/jsonld/sgcontext.json", 
    "about": [
      {
        "id": "http://purl.org/au-research/vocabulary/anzsrc-for/2008/0801", 
        "inDefinedTermSet": "http://purl.org/au-research/vocabulary/anzsrc-for/2008/", 
        "name": "Artificial Intelligence and Image Processing", 
        "type": "DefinedTerm"
      }, 
      {
        "id": "http://purl.org/au-research/vocabulary/anzsrc-for/2008/08", 
        "inDefinedTermSet": "http://purl.org/au-research/vocabulary/anzsrc-for/2008/", 
        "name": "Information and Computing Sciences", 
        "type": "DefinedTerm"
      }
    ], 
    "author": [
      {
        "affiliation": {
          "alternateName": "Lawrence Livermore National Laboratory", 
          "id": "https://www.grid.ac/institutes/grid.250008.f", 
          "name": [
            "Lawrence Livermore National Laboratory, Livermore, USA"
          ], 
          "type": "Organization"
        }, 
        "familyName": "Schordan", 
        "givenName": "Markus", 
        "id": "sg:person.016471353463.15", 
        "sameAs": [
          "https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.016471353463.15"
        ], 
        "type": "Person"
      }, 
      {
        "affiliation": {
          "alternateName": "Lawrence Livermore National Laboratory", 
          "id": "https://www.grid.ac/institutes/grid.250008.f", 
          "name": [
            "Lawrence Livermore National Laboratory, Livermore, USA"
          ], 
          "type": "Organization"
        }, 
        "familyName": "Oppelstrup", 
        "givenName": "Tomas", 
        "id": "sg:person.01200211752.16", 
        "sameAs": [
          "https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.01200211752.16"
        ], 
        "type": "Person"
      }, 
      {
        "affiliation": {
          "alternateName": "Lawrence Livermore National Laboratory", 
          "id": "https://www.grid.ac/institutes/grid.250008.f", 
          "name": [
            "Lawrence Livermore National Laboratory, Livermore, USA"
          ], 
          "type": "Organization"
        }, 
        "familyName": "Jefferson", 
        "givenName": "David", 
        "id": "sg:person.015771222137.38", 
        "sameAs": [
          "https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.015771222137.38"
        ], 
        "type": "Person"
      }, 
      {
        "affiliation": {
          "alternateName": "Lawrence Livermore National Laboratory", 
          "id": "https://www.grid.ac/institutes/grid.250008.f", 
          "name": [
            "Lawrence Livermore National Laboratory, Livermore, USA"
          ], 
          "type": "Organization"
        }, 
        "familyName": "Barnes", 
        "givenName": "Peter D.", 
        "id": "sg:person.016302620124.86", 
        "sameAs": [
          "https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.016302620124.86"
        ], 
        "type": "Person"
      }
    ], 
    "citation": [
      {
        "id": "https://doi.org/10.1145/2769458.2769482", 
        "sameAs": [
          "https://app.dimensions.ai/details/publication/pub.1001674728"
        ], 
        "type": "CreativeWork"
      }, 
      {
        "id": "https://doi.org/10.1145/1244381.1244404", 
        "sameAs": [
          "https://app.dimensions.ai/details/publication/pub.1006492707"
        ], 
        "type": "CreativeWork"
      }, 
      {
        "id": "sg:pub.10.1007/978-3-642-28652-0_5", 
        "sameAs": [
          "https://app.dimensions.ai/details/publication/pub.1011240768", 
          "https://doi.org/10.1007/978-3-642-28652-0_5"
        ], 
        "type": "CreativeWork"
      }, 
      {
        "id": "https://doi.org/10.1145/3916.3988", 
        "sameAs": [
          "https://app.dimensions.ai/details/publication/pub.1012287092"
        ], 
        "type": "CreativeWork"
      }, 
      {
        "id": "sg:pub.10.1007/978-3-540-70583-3_22", 
        "sameAs": [
          "https://app.dimensions.ai/details/publication/pub.1022695518", 
          "https://doi.org/10.1007/978-3-540-70583-3_22"
        ], 
        "type": "CreativeWork"
      }, 
      {
        "id": "https://doi.org/10.1145/347823.347828", 
        "sameAs": [
          "https://app.dimensions.ai/details/publication/pub.1028820328"
        ], 
        "type": "CreativeWork"
      }, 
      {
        "id": "https://doi.org/10.1016/j.jcp.2011.11.004", 
        "sameAs": [
          "https://app.dimensions.ai/details/publication/pub.1030820811"
        ], 
        "type": "CreativeWork"
      }, 
      {
        "id": "https://doi.org/10.1145/2901378.2901394", 
        "sameAs": [
          "https://app.dimensions.ai/details/publication/pub.1034730951"
        ], 
        "type": "CreativeWork"
      }, 
      {
        "id": "sg:pub.10.1007/978-3-319-20860-2_6", 
        "sameAs": [
          "https://app.dimensions.ai/details/publication/pub.1049486181", 
          "https://doi.org/10.1007/978-3-319-20860-2_6"
        ], 
        "type": "CreativeWork"
      }, 
      {
        "id": "https://doi.org/10.1109/tpds.2014.2323967", 
        "sameAs": [
          "https://app.dimensions.ai/details/publication/pub.1061754644"
        ], 
        "type": "CreativeWork"
      }, 
      {
        "id": "https://doi.org/10.1145/3064911.3064927", 
        "sameAs": [
          "https://app.dimensions.ai/details/publication/pub.1085437538"
        ], 
        "type": "CreativeWork"
      }, 
      {
        "id": "https://doi.org/10.1145/3013528", 
        "sameAs": [
          "https://app.dimensions.ai/details/publication/pub.1085613640"
        ], 
        "type": "CreativeWork"
      }, 
      {
        "id": "https://doi.org/10.1109/wsc.2011.6147998", 
        "sameAs": [
          "https://app.dimensions.ai/details/publication/pub.1094153354"
        ], 
        "type": "CreativeWork"
      }, 
      {
        "id": "https://doi.org/10.1109/pads.1996.761564", 
        "sameAs": [
          "https://app.dimensions.ai/details/publication/pub.1094312922"
        ], 
        "type": "CreativeWork"
      }, 
      {
        "id": "https://doi.org/10.1109/hpcsim.2013.6641486", 
        "sameAs": [
          "https://app.dimensions.ai/details/publication/pub.1094945639"
        ], 
        "type": "CreativeWork"
      }, 
      {
        "id": "https://doi.org/10.1109/hipc.2015.45", 
        "sameAs": [
          "https://app.dimensions.ai/details/publication/pub.1095149676"
        ], 
        "type": "CreativeWork"
      }, 
      {
        "id": "https://doi.org/10.1201/b15719", 
        "sameAs": [
          "https://app.dimensions.ai/details/publication/pub.1108402816"
        ], 
        "type": "CreativeWork"
      }
    ], 
    "datePublished": "2018-07", 
    "datePublishedReg": "2018-07-01", 
    "description": "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\u2019s optimistic simulation system (ROSS).", 
    "genre": "research_article", 
    "id": "sg:pub.10.1007/s00354-018-0038-2", 
    "inLanguage": [
      "en"
    ], 
    "isAccessibleForFree": false, 
    "isPartOf": [
      {
        "id": "sg:journal.1053619", 
        "issn": [
          "0288-3635", 
          "1882-7055"
        ], 
        "name": "New Generation Computing", 
        "type": "Periodical"
      }, 
      {
        "issueNumber": "3", 
        "type": "PublicationIssue"
      }, 
      {
        "type": "PublicationVolume", 
        "volumeNumber": "36"
      }
    ], 
    "name": "Generation of Reversible C++ Code for Optimistic Parallel Discrete Event Simulation", 
    "pagination": "257-280", 
    "productId": [
      {
        "name": "readcube_id", 
        "type": "PropertyValue", 
        "value": [
          "e27103269582b9f8322edaea7047029a7932318ff439591ab1ba5be2935f31f0"
        ]
      }, 
      {
        "name": "doi", 
        "type": "PropertyValue", 
        "value": [
          "10.1007/s00354-018-0038-2"
        ]
      }, 
      {
        "name": "dimensions_id", 
        "type": "PropertyValue", 
        "value": [
          "pub.1105884598"
        ]
      }
    ], 
    "sameAs": [
      "https://doi.org/10.1007/s00354-018-0038-2", 
      "https://app.dimensions.ai/details/publication/pub.1105884598"
    ], 
    "sdDataset": "articles", 
    "sdDatePublished": "2019-04-11T10:19", 
    "sdLicense": "https://scigraph.springernature.com/explorer/license/", 
    "sdPublisher": {
      "name": "Springer Nature - SN SciGraph project", 
      "type": "Organization"
    }, 
    "sdSource": "s3://com-uberresearch-data-dimensions-target-20181106-alternative/cleanup/v134/2549eaecd7973599484d7c17b260dba0a4ecb94b/merge/v9/a6c9fde33151104705d4d7ff012ea9563521a3ce/jats-lookup/v90/0000000348_0000000348/records_54319_00000001.jsonl", 
    "type": "ScholarlyArticle", 
    "url": "https://link.springer.com/10.1007%2Fs00354-018-0038-2"
  }
]
 

Download the RDF metadata as:  json-ld nt turtle xml License info

HOW TO GET THIS DATA PROGRAMMATICALLY:

JSON-LD is a popular format for linked data which is fully compatible with JSON.

curl -H 'Accept: application/ld+json' 'https://scigraph.springernature.com/pub.10.1007/s00354-018-0038-2'

N-Triples is a line-based linked data format ideal for batch operations.

curl -H 'Accept: application/n-triples' 'https://scigraph.springernature.com/pub.10.1007/s00354-018-0038-2'

Turtle is a human-readable linked data format.

curl -H 'Accept: text/turtle' 'https://scigraph.springernature.com/pub.10.1007/s00354-018-0038-2'

RDF/XML is a standard XML format for linked data.

curl -H 'Accept: application/rdf+xml' 'https://scigraph.springernature.com/pub.10.1007/s00354-018-0038-2'


 

This table displays all metadata directly associated to this object as RDF triples.

136 TRIPLES      21 PREDICATES      44 URIs      19 LITERALS      7 BLANK NODES

Subject Predicate Object
1 sg:pub.10.1007/s00354-018-0038-2 schema:about anzsrc-for:08
2 anzsrc-for:0801
3 schema:author N6d4798ba8c034a818046366802eb6e7c
4 schema:citation sg:pub.10.1007/978-3-319-20860-2_6
5 sg:pub.10.1007/978-3-540-70583-3_22
6 sg:pub.10.1007/978-3-642-28652-0_5
7 https://doi.org/10.1016/j.jcp.2011.11.004
8 https://doi.org/10.1109/hipc.2015.45
9 https://doi.org/10.1109/hpcsim.2013.6641486
10 https://doi.org/10.1109/pads.1996.761564
11 https://doi.org/10.1109/tpds.2014.2323967
12 https://doi.org/10.1109/wsc.2011.6147998
13 https://doi.org/10.1145/1244381.1244404
14 https://doi.org/10.1145/2769458.2769482
15 https://doi.org/10.1145/2901378.2901394
16 https://doi.org/10.1145/3013528
17 https://doi.org/10.1145/3064911.3064927
18 https://doi.org/10.1145/347823.347828
19 https://doi.org/10.1145/3916.3988
20 https://doi.org/10.1201/b15719
21 schema:datePublished 2018-07
22 schema:datePublishedReg 2018-07-01
23 schema:description 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).
24 schema:genre research_article
25 schema:inLanguage en
26 schema:isAccessibleForFree false
27 schema:isPartOf N4d3a6dce4bd2497fa9b43324cd81b166
28 N8b7e29ce528b46c983c9b9ad62356d51
29 sg:journal.1053619
30 schema:name Generation of Reversible C++ Code for Optimistic Parallel Discrete Event Simulation
31 schema:pagination 257-280
32 schema:productId N31c5b27007364fc18ddff63f2f7c9834
33 N855009e2766f4adba6c48fc2f9562b7c
34 Na869a584e45c4f9b929069ccf3381863
35 schema:sameAs https://app.dimensions.ai/details/publication/pub.1105884598
36 https://doi.org/10.1007/s00354-018-0038-2
37 schema:sdDatePublished 2019-04-11T10:19
38 schema:sdLicense https://scigraph.springernature.com/explorer/license/
39 schema:sdPublisher N725d743c73ae4eb8add0525a6a0c0238
40 schema:url https://link.springer.com/10.1007%2Fs00354-018-0038-2
41 sgo:license sg:explorer/license/
42 sgo:sdDataset articles
43 rdf:type schema:ScholarlyArticle
44 N31c5b27007364fc18ddff63f2f7c9834 schema:name readcube_id
45 schema:value e27103269582b9f8322edaea7047029a7932318ff439591ab1ba5be2935f31f0
46 rdf:type schema:PropertyValue
47 N4d3a6dce4bd2497fa9b43324cd81b166 schema:issueNumber 3
48 rdf:type schema:PublicationIssue
49 N6347a39113fa460da364865569804133 rdf:first sg:person.01200211752.16
50 rdf:rest N64453828d4494c449a56a5dd54afd7f9
51 N64453828d4494c449a56a5dd54afd7f9 rdf:first sg:person.015771222137.38
52 rdf:rest N67c650362b7b469383fa8478d12946b2
53 N67c650362b7b469383fa8478d12946b2 rdf:first sg:person.016302620124.86
54 rdf:rest rdf:nil
55 N6d4798ba8c034a818046366802eb6e7c rdf:first sg:person.016471353463.15
56 rdf:rest N6347a39113fa460da364865569804133
57 N725d743c73ae4eb8add0525a6a0c0238 schema:name Springer Nature - SN SciGraph project
58 rdf:type schema:Organization
59 N855009e2766f4adba6c48fc2f9562b7c schema:name doi
60 schema:value 10.1007/s00354-018-0038-2
61 rdf:type schema:PropertyValue
62 N8b7e29ce528b46c983c9b9ad62356d51 schema:volumeNumber 36
63 rdf:type schema:PublicationVolume
64 Na869a584e45c4f9b929069ccf3381863 schema:name dimensions_id
65 schema:value pub.1105884598
66 rdf:type schema:PropertyValue
67 anzsrc-for:08 schema:inDefinedTermSet anzsrc-for:
68 schema:name Information and Computing Sciences
69 rdf:type schema:DefinedTerm
70 anzsrc-for:0801 schema:inDefinedTermSet anzsrc-for:
71 schema:name Artificial Intelligence and Image Processing
72 rdf:type schema:DefinedTerm
73 sg:journal.1053619 schema:issn 0288-3635
74 1882-7055
75 schema:name New Generation Computing
76 rdf:type schema:Periodical
77 sg:person.01200211752.16 schema:affiliation https://www.grid.ac/institutes/grid.250008.f
78 schema:familyName Oppelstrup
79 schema:givenName Tomas
80 schema:sameAs https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.01200211752.16
81 rdf:type schema:Person
82 sg:person.015771222137.38 schema:affiliation https://www.grid.ac/institutes/grid.250008.f
83 schema:familyName Jefferson
84 schema:givenName David
85 schema:sameAs https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.015771222137.38
86 rdf:type schema:Person
87 sg:person.016302620124.86 schema:affiliation https://www.grid.ac/institutes/grid.250008.f
88 schema:familyName Barnes
89 schema:givenName Peter D.
90 schema:sameAs https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.016302620124.86
91 rdf:type schema:Person
92 sg:person.016471353463.15 schema:affiliation https://www.grid.ac/institutes/grid.250008.f
93 schema:familyName Schordan
94 schema:givenName Markus
95 schema:sameAs https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.016471353463.15
96 rdf:type schema:Person
97 sg:pub.10.1007/978-3-319-20860-2_6 schema:sameAs https://app.dimensions.ai/details/publication/pub.1049486181
98 https://doi.org/10.1007/978-3-319-20860-2_6
99 rdf:type schema:CreativeWork
100 sg:pub.10.1007/978-3-540-70583-3_22 schema:sameAs https://app.dimensions.ai/details/publication/pub.1022695518
101 https://doi.org/10.1007/978-3-540-70583-3_22
102 rdf:type schema:CreativeWork
103 sg:pub.10.1007/978-3-642-28652-0_5 schema:sameAs https://app.dimensions.ai/details/publication/pub.1011240768
104 https://doi.org/10.1007/978-3-642-28652-0_5
105 rdf:type schema:CreativeWork
106 https://doi.org/10.1016/j.jcp.2011.11.004 schema:sameAs https://app.dimensions.ai/details/publication/pub.1030820811
107 rdf:type schema:CreativeWork
108 https://doi.org/10.1109/hipc.2015.45 schema:sameAs https://app.dimensions.ai/details/publication/pub.1095149676
109 rdf:type schema:CreativeWork
110 https://doi.org/10.1109/hpcsim.2013.6641486 schema:sameAs https://app.dimensions.ai/details/publication/pub.1094945639
111 rdf:type schema:CreativeWork
112 https://doi.org/10.1109/pads.1996.761564 schema:sameAs https://app.dimensions.ai/details/publication/pub.1094312922
113 rdf:type schema:CreativeWork
114 https://doi.org/10.1109/tpds.2014.2323967 schema:sameAs https://app.dimensions.ai/details/publication/pub.1061754644
115 rdf:type schema:CreativeWork
116 https://doi.org/10.1109/wsc.2011.6147998 schema:sameAs https://app.dimensions.ai/details/publication/pub.1094153354
117 rdf:type schema:CreativeWork
118 https://doi.org/10.1145/1244381.1244404 schema:sameAs https://app.dimensions.ai/details/publication/pub.1006492707
119 rdf:type schema:CreativeWork
120 https://doi.org/10.1145/2769458.2769482 schema:sameAs https://app.dimensions.ai/details/publication/pub.1001674728
121 rdf:type schema:CreativeWork
122 https://doi.org/10.1145/2901378.2901394 schema:sameAs https://app.dimensions.ai/details/publication/pub.1034730951
123 rdf:type schema:CreativeWork
124 https://doi.org/10.1145/3013528 schema:sameAs https://app.dimensions.ai/details/publication/pub.1085613640
125 rdf:type schema:CreativeWork
126 https://doi.org/10.1145/3064911.3064927 schema:sameAs https://app.dimensions.ai/details/publication/pub.1085437538
127 rdf:type schema:CreativeWork
128 https://doi.org/10.1145/347823.347828 schema:sameAs https://app.dimensions.ai/details/publication/pub.1028820328
129 rdf:type schema:CreativeWork
130 https://doi.org/10.1145/3916.3988 schema:sameAs https://app.dimensions.ai/details/publication/pub.1012287092
131 rdf:type schema:CreativeWork
132 https://doi.org/10.1201/b15719 schema:sameAs https://app.dimensions.ai/details/publication/pub.1108402816
133 rdf:type schema:CreativeWork
134 https://www.grid.ac/institutes/grid.250008.f schema:alternateName Lawrence Livermore National Laboratory
135 schema:name Lawrence Livermore National Laboratory, Livermore, USA
136 rdf:type schema:Organization
 




Preview window. Press ESC to close (or click here)


...