Activities and Services

Related Links

University Links

Back to list of 2005/06 seminars

Abstract for Seminar

The key to extracting high-performance from programs executed using virtual execution environments (VEEs) is effective dynamic adaptation of the program and runtime to the changing characteristics of program execution and resource availability. To enable aggressive adaptive optimization, VEEs require efficient techniques that track these changes accurately and that exploit them to extract higher-levels of performance.

Our work focuses on two techniques that enable dynamic adaptation in VEEs: efficient performance profiling and dynamic VEE specialization. The unifying factor of our research is our capture, characterization, and exploitation of repeating patterns, i.e., phases, in program behavior and resource availability. Our profiling techniques use phases to guide transparent execution sampling. Our specializations consider not only optimization and specialization of executing programs, but that of the execution environment, as resource consumption and availability changes. In this talk, we overview our research on efficient program sampling and specialization. As examples of the latter, we present two VEE specializations for garbage collection (GC) that improve startup time for generational systems and that improve overall execution time via dynamic switching between GC systems.