The goal of our work is to improve the overall performance of
programs using feedback from the executing program and underlying resource
behavior. Our techniques adapt program and runtime components
and executing code dynamically. We investigate various ways of collecting
program and resource performance efficiently (profiling) as well
as dynamic and adaptive compiler and runtime optimizations and specializations
that exploit profile information. We consider a wide range
of architectures from high-end cluster machines to mobile,
resource-constrained, battery-powered devices. We investigate adaptive
techniques for execution
environments for Java and Microsoft CIL (the Common Intermediate
Language) as well as for the Linux operating system and C & C++
runtimes.
Below, we provide a list of links to web pages
that provide additional information on
the projects that we are currently working on.
Please feel free to contact us for more information.
Hybrid Profiling Support
Simulation system based on simplescalar (alpha/arm)
detailsRequest Software
JikesRVM with General-Purpose, On-Stack Replacement
(JikesRVM v2.2.0)
detailsRequest Software
NWSLite - Lightweight and Accurate Performance Prediction System for Embedded Devices
detailsRequest Software This material is based upon work supported by the National Science Foundation under Grant No. EIA-0080134.
Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.