Runtime Systems
A runtime system is a framework that typically monitors and orchestrates execution. There are many different types of runtime systems. Some runtime systems manage code to improve performance dynamically while the program is running; others monitor the code to understand what the code is doing or how it is executing on an underlying system. Of course, there are even language level runtimes which dynamically translate high-level program syntax on the fly into executable binary code, and examples of such systems include JS and Py runtimes.
Our group is focused on building feedback directed runtime optimizers for generating and optimizing code to run efficiently on the hardware where efficiency means better performance or lower power consumption or even improved reliability on a faulty piece of hardware.