Toward an Energy Efficient Language and Compiler for (Partially) Reversible Algorithms

We introduce a new programming language for expressing reversibility, Energy-Efficient Language (Eel), geared toward algorithm design and implementation. Eel is the first language to take advantage of a partially reversible computation model, where programs can be composed of both reversible and irr...

Full description

Bibliographic Details
Main Authors: Tyagi, Nirvan (Contributor), Lynch, Jayson R. (Contributor), Demaine, Erik D (Contributor)
Other Authors: Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory (Contributor), Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science (Contributor)
Format: Article
Language:English
Published: Springer International Publishing, 2018-06-11T18:45:54Z.
Subjects:
Online Access:Get fulltext
LEADER 01883 am a22002293u 4500
001 116223
042 |a dc 
100 1 0 |a Tyagi, Nirvan  |e author 
100 1 0 |a Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory  |e contributor 
100 1 0 |a Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science  |e contributor 
100 1 0 |a Tyagi, Nirvan  |e contributor 
100 1 0 |a Lynch, Jayson R.  |e contributor 
100 1 0 |a Demaine, Erik D  |e contributor 
700 1 0 |a Lynch, Jayson R.  |e author 
700 1 0 |a Demaine, Erik D  |e author 
245 0 0 |a Toward an Energy Efficient Language and Compiler for (Partially) Reversible Algorithms 
260 |b Springer International Publishing,   |c 2018-06-11T18:45:54Z. 
856 |z Get fulltext  |u http://hdl.handle.net/1721.1/116223 
520 |a We introduce a new programming language for expressing reversibility, Energy-Efficient Language (Eel), geared toward algorithm design and implementation. Eel is the first language to take advantage of a partially reversible computation model, where programs can be composed of both reversible and irreversible operations. In this model, irreversible operations cost energy for every bit of information created or destroyed. To handle programs of varying degrees of reversibility, Eel supports a log stack to automatically trade energy costs for space costs, and introduces many powerful control logic operators including protected conditional, general conditional, protected loops, and general loops. In this paper, we present the design and compiler for the three language levels of Eel along with an interpreter to simulate and annotate incurred energy costs of a program. Keywords: Energy Cost, Forward Direction, Control Logic, Conditional Statement, Program Counter 
546 |a en_US 
655 7 |a Article 
773 |t Reversible Computation