Thomas M. Siebel Center for Computer Science
University of Illinois, MC258
201 N. Goodwin Avenue
Urbana, IL 61801-2302
Ph.D. University of Wisconsin at Madison, 2002
Research Statement
My research asks the question "Can we build computers that are fast and easy to program?". Moore's law enables the construction of massive processor arrays with amazing peak throughput, but exploiting the potential of such an architecture generally requires programmers to consider the target implementation when writing their programs. I believe that programmers have enough to worry about without such considerations. Programmers should be free to program at the highest possible level of abstraction to maximize their productivity and to focus on the correctness, reusability, and maintainability of their code. Performance should not be their concern. Instead, a high performance execution should be derived automatically from the high-level program specification provided by the programmer.
This task is challenging because rarely does the programmer specify the invariants necessary to perform desirable optimizations; we are left to infer them from watching the program execute. Even then, these inferred invariants are unsound, so they cannot be exploited in the same way as programmer directives. The key is speculation. My group is developing a framework that derives highly-optimized (but speculative) versions of programs from the inferred invariants and execution paradigms that achieve the performance of speculative version while maintaining the functionality of the original program.
To this end, we study programs to identify what behaviors they exhibit, design mechanisms to detect these behaviors, and develop optimizations that exploit them. We construct systems that blur the traditional hardware/software boundary, drawing from techniques in computer architecture, compiler construction, programming languages, artificial intelligence, and statistics. Furthermore, we consider how our techniques can further facilitate programmer and user productivity.