We develop techniques and abstractions for building efficient and trustworthy computer systems. Our current work focuses on making performance and energy programmable, i.e., providing first-class abstractions to capture a system’s performance and energy behavior (as interfaces do for functionality) and to use them dependably to design, code, and operate efficient systems.
In this context, we
- explore the fundamental challenges posed by scale (many threads, many nodes, and millions of lines of code);
- overcome theoretical limitations to solve real-world problems;
- build open-source prototypes to evaluate our solutions with real-world workloads; and
- bridge operating systems, architecture, distributed systems, languages, and formal methods.
Are you interested in working with us? Take a look at the opportunities.