Informatik, TU Wien

EnerJ: Approximate Data Types for Safe and General Low-Power Computation

Energy is increasingly a first-order concern in computer systems. Exploiting energy-accuracy trade-offs is an attractive choice in applications that can tolerate inaccuracies.

Der Arbeitsbereich für Programmiersprachen und Übersetzer am Institut
für Computersprachen lädt ein.

Abstract

Energy is increasingly a first-order concern in computer systems.
Exploiting energy-accuracy trade-offs is an attractive choice in
applications that can tolerate inaccuracies. Recent work has explored
exposing this trade-off in programming models. A key challenge,
though, is how to isolate parts of the program that must be
precise from those that can be approximated so that a program
functions correctly even as quality of service degrades.

We propose using type qualifiers to declare data that may be subject
to approximate computation. Using these types, the system
automatically maps approximate variables to low-power storage, uses
low-power operations, and even applies more energy-efficient
algorithms. In addition, the system can statically guarantee isolation
of the precise program component from the approximate component. This
allows a programmer to control explicitly how information flows from
approximate data to precise data. Importantly, employing static
analysis eliminates the need for dynamic checks, further improving
energy savings. As a proof of concept, we develop EnerJ, an extension
to Java that adds approximate data types. We also propose a hardware
architecture that offers explicit approximate storage and
computation. We port several applications to EnerJ and show that our
extensions are expressive and effective; a small number of annotations
lead to significant potential energy savings (10%-50%) at very little
accuracy cost.

Kurzbiographie von Werner M. Dietl

Werner M. Dietl is a post-doctoral research associate at the
department of Computer Science & Engineering of the University of
Washington, where he works with Prof. Michael Ernst. He is a member of
the SE.CS and WASP research groups and aims to help software engineers
produce high-quality software by enabling them to better understand
and structure their software. Previously, he was a research and
teaching assistant at the Chair of Programming Methodology, ETH
Zurich, working on his doctoral thesis under the supervision of
Prof. Peter Müller.

Hinweis

Tee ab 10:30 Uhr in der Bibliothek E185.1, Argentinierstr. 8, 4. Stock (Mitte).