Disciplined Approximate Computing: From Language to Hardware, and Beyond
Luis Ceze, University of Washington
Date and Time
Friday, November 15th, 2013 at 13:15.
Polacksbacken, room 2245
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. 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. Addressing that challenge leads to opportunities for approximate computing across the entire system stack.
In this talk I will describe our effort on co-designing language, hardware and system support to take advantage of approximate computing across the system stack in a safe and efficient way.
We use type qualifiers to declare data that may be subject to approximate computation. Using these types, the system automatically maps approximate variables to potentially imprecise and unreliable but much more efficient storage and data operations, as well as more energy-efficient algorithms provided by the programmer.
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. I will describe a micro-architecture that offers explicit approximate storage and computation and a proposal on using neural networks as approximate accelerators for general programs. I will conclude with an overview of our current/future research directions, including language extensions for quality-of-result specification, programming tools, approximate persistent storage and approximate wireless communication.
About the speaker
Luis Ceze is an Associate Professor in the Computer Science and Engineering Department at the University of Washington. His research focuses on computer architecture, programming languages and OS to improve the programmability, reliability and energy efficiency of multiprocessor systems. He has co-authored over 60 papers in these areas, and had several papers selected as IEEE Micro Top Picks and CACM research Highlights. He is a recipient of an NSF CAREER Award, a Sloan Research Fellowship, a Microsoft Research Faculty Fellowship and the 2013 IEEE TCCA Young Computer Architect Award. He consults for Microsoft Research and co-founded Corensic and Konyac, both UW-CSE spin-off companies. He was born and raised in Sao Paulo, Brazil, where it drizzles all the time; he now (mostly) lives in the similarly drizzly Seattle. When he is not working he is found either eating or cooking.