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...

Descripción completa

Detalles Bibliográficos
Autores principales: Ikeda, Takashi, Yuen, Shoji
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