Profiling Research Using Microsoft Phoenix
Announcements
Prof. Chandra Krintz
was one of ten top compiler and programming language researchers world-wide selected by Microsoft Research as a funded participant in the Microsoft Phoenix Project. As part of the project, Chandra and her research group, the RACELab, will investigate state-of-the-art program profiling and adaptive compiler and runtime optimization for the Microsoft .Net Framework.
Project
- MSIL/Phoenix Benchmarks
- Project Goals
The goal of our research is to use the Microsoft Phoenix Framework to
enable transparent, software-based, post-deployment, program optimization, bug isolation, and coverage testing. The key to our approach is our exploitation of repeating patterns in program behavior, i.e., phases, to reduce the overhead of accurate program sampling.
- Using the Phoenix Framework
To enable our research, we are developing a set of extensions to
the Phoenix system that extract phase profiles from CIL, MSIL and x86
binaries. Our techniques sample program behavior online using a combination of hardware performance counters, program instrumentation, and time-series statistical techniques to predict when a new phase begins. For each phase discovered by this online phase predictor, we must turn program profiling on and off otherwise. We are currently considering profile techniques for paths, methods, call-pairs, and memory accesses. As part of this project, we are extending Phoenix with the functionality to toggle profile collection dynamically both with and without code duplication. Finally, we are investigating compiler and runtime techniques for Phoenix that exploit phase behavior to improve program performance, to guide bug identification, and to improve test coverage data.
-
Project Members:
Other Students
Related Papers: