Runtime systems are capable of observing programs as they execute, a unique feature that static techniques cannot achieve alone. Using such introspection, runtimes can find hot sections of code or changing patterns in program execution that will greatly benefit from optimizations. We instrument operating system kernels and virtual machine runtimes with low-overhead components that perform code inspection and optimizations in order to improve system and application performance and energy efficiency.

While advanced compiler passes can be used to achieve performance or energy enhancements, they typically require data to be profiled during runtime which is used during a second compilation of the application, and source code usually needs to be annotated. Rather than requiring the developer to gather this information and recompile their program, we focus on modifying the runtime to provide this capability without any source code modifications. We target systems ranging from many-core workstations and servers to resource-limited mobile devices.

Current research being done by the CCCP research group into runtime systems includes the following:

Past projects include:

Page last modified January 22, 2016.