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 progra

  • PDF / 505,501 Bytes
  • 16 Pages / 439.37 x 666.142 pts Page_size
  • 3 Downloads / 219 Views

DOWNLOAD

REPORT


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

1

Introduction

Continued progress in technology has created a world where we are increasingly dependent on computers and computing power. Computer use is greatly increasing and thus becoming a significant energy expenditure for the world. It is estimated that computing consumes more than 3 % of the global electricity consumption [16], growing at a steady rate. Improved energy efficiency of computers translates to savings in money and environmental toll. Additionally, improved energy efficiency would lead to increased longevity of batteries or use of a smaller battery for the same lifespan. This applies most directly to portable devices such as laptops, mobile phones, and watches where battery size and life are of the utmost importance. Finally, improved energy efficiency would lead to faster CPUs. The main bottleneck in increasing clock speeds are cooling restraints. With decreased energy consumption, we can expect to be able to increase CPU speed by roughly the same factor with the same cooling. Given these many motivations, continued improvement of the energy efficiency of computation is an important research field. Fundamental Limits to Efficiency.If computer energy efficiency continues to progress at a similar rate, we will expect to hit a fundamental limit based in physics and information theory known as Landauer’s limit [8] within the next 15–60 years. Landauer gives a lower limit for the energy cost of losing one bit of information c Springer International Publishing Switzerland 2016  S. Devitt and I. Lanese (Eds.): RC 2016, LNCS 9720, pp. 121–136, 2016. DOI: 10.1007/978-3-319-40578-0 8

122

N. Tyagi et al.

of kT ln 2 units of energy where k is Boltzmann’s constant and T is temperature. Our current computation systems depend on computing models that require the erasure of information; however, reversible computation, where the inputs can always be recovered from the outputs, gets around this limitation. In this paper, we consider a variant of the traditional reversible computation model we call partially reversible computation [6], allowing for both reversible and irreversible operations. Traditional models of computation include two main constraints i

Data Loading...