Cargando…
A Reversible Runtime Environment for Parallel Programs
We present a reversible runtime environment for simple parallel programs and its experimental implementation. We aim at a light-weight implementation of the backtrack reversibility by the state-saving mechanism using stacks. We translate a program to a sequence of simple commands of an executable in...
Autores principales: | , |
---|---|
Formato: | Online Artículo Texto |
Lenguaje: | English |
Publicado: |
2020
|
Materias: | |
Acceso en línea: | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7345313/ http://dx.doi.org/10.1007/978-3-030-52482-1_18 |
_version_ | 1783556152180604928 |
---|---|
author | Ikeda, Takashi Yuen, Shoji |
author_facet | Ikeda, Takashi Yuen, Shoji |
author_sort | Ikeda, Takashi |
collection | PubMed |
description | We present a reversible runtime environment for simple parallel programs and its experimental implementation. We aim at a light-weight implementation of the backtrack reversibility by the state-saving mechanism using stacks. We translate a program to a sequence of simple commands of an executable intermediate representation for reversible stack machines. The parallel composition is implemented using the multiprocessing feature of Python. While executing the commands, the stack machines collect the information for the backward execution in the auxiliary stacks for the update history of the variables and the history of jumps. The commands for the backward execution is obtained by reversing the commands for the forward execution by replacing each command with the corresponding reversed command. In the purpose of behaviour analysis with reversibility such as debugging, our runtime is more portable than the source-to-source translation of a high-level programming language. |
format | Online Article Text |
id | pubmed-7345313 |
institution | National Center for Biotechnology Information |
language | English |
publishDate | 2020 |
record_format | MEDLINE/PubMed |
spelling | pubmed-73453132020-07-09 A Reversible Runtime Environment for Parallel Programs Ikeda, Takashi Yuen, Shoji Reversible Computation Article We present a reversible runtime environment for simple parallel programs and its experimental implementation. We aim at a light-weight implementation of the backtrack reversibility by the state-saving mechanism using stacks. We translate a program to a sequence of simple commands of an executable intermediate representation for reversible stack machines. The parallel composition is implemented using the multiprocessing feature of Python. While executing the commands, the stack machines collect the information for the backward execution in the auxiliary stacks for the update history of the variables and the history of jumps. The commands for the backward execution is obtained by reversing the commands for the forward execution by replacing each command with the corresponding reversed command. In the purpose of behaviour analysis with reversibility such as debugging, our runtime is more portable than the source-to-source translation of a high-level programming language. 2020-06-17 /pmc/articles/PMC7345313/ http://dx.doi.org/10.1007/978-3-030-52482-1_18 Text en © Springer Nature Switzerland AG 2020 This article is made available via the PMC Open Access Subset for unrestricted research re-use and secondary analysis in any form or by any means with acknowledgement of the original source. These permissions are granted for the duration of the World Health Organization (WHO) declaration of COVID-19 as a global pandemic. |
spellingShingle | Article Ikeda, Takashi Yuen, Shoji A Reversible Runtime Environment for Parallel Programs |
title | A Reversible Runtime Environment for Parallel Programs |
title_full | A Reversible Runtime Environment for Parallel Programs |
title_fullStr | A Reversible Runtime Environment for Parallel Programs |
title_full_unstemmed | A Reversible Runtime Environment for Parallel Programs |
title_short | A Reversible Runtime Environment for Parallel Programs |
title_sort | reversible runtime environment for parallel programs |
topic | Article |
url | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7345313/ http://dx.doi.org/10.1007/978-3-030-52482-1_18 |
work_keys_str_mv | AT ikedatakashi areversibleruntimeenvironmentforparallelprograms AT yuenshoji areversibleruntimeenvironmentforparallelprograms AT ikedatakashi reversibleruntimeenvironmentforparallelprograms AT yuenshoji reversibleruntimeenvironmentforparallelprograms |