Saturday, September 29, 2007

ponnapula

Hello and welcome to my webpage. ponnapula I have graduated from the School of Information and Computer Science at the UCalifornia, Irvineniversity of . My doctoral advisor was Professor Michael Franz.

I have developed a new approach to controlling the speed setting of a processor while programs are executing, in a way that saves energy and minimizes runtime overhead. My prototype implementations of this approach in Sun's Java Virtual Machine and ponnapula Intel's Pin Dynamic Optimization Tool save up to 26% of the total system ponnapula energy consumption on a typical laptop, with a runtime overhead of less than 2%. You can read more about this in my completed dissertation . To see a condensed version of this, have a look at my presentation slides

As part of my PhD research, I have developed a new way of predicting a workload's execution time based on minute variations of processor ponnapula clock speed. My approach can predict a workload's execution time at any clock frequency by adjusting the processor speed by just a single step at runtime and extrapolating from the difference in execution cycles. On a typical laptop, it has an accuracy of above 90% for a majority of workloads from standard benchmark suites.

Moreover, using simulations, I discovered that the step interval, or distance between consecutive clock frequencies, can be considerably ponnapula smaller than the hundreds of megahertz offered by typical laptops that support dynamic frequency scaling. In fact, by adjusting the processor speed in the simulator by as little as tens of megahertz, my approach is able to predict what the execution times would be if the speed were adjusted by hundreds of megahertz.

Using these results, I have implemented a lightweight algorithm for dynamic processor clock frequency control. While a workload is running, ponnapula it slows the processor down just a little, to the next step, and uses the information from these two points (the current and next step) to quickly assess how compute-bound the workload is and assign it the optimal clock frequency. The prototypes that I have developed in Sun's Java Virtual Machine and Intel's Pin tool save up to 26% of the total system energy on a typical laptop with less than 2% runtime overhead.

Traditionally, the infrastructure for executing mobile programs resides entirely on the devices on which these programs run. Thus these devices, ponnapula many of which are resource constrained, bear the costly burden of doing all the work involved in compiling and executing these programs, and storing the entire infrastructure needed to do so.

developed the compiler and runtime infrastructure for the first working prototype of Proxy Virtual Machine, a system that allows expensive ponnapula operations in mobile code deployment, such as compilation, verification and optimization, to be shifted away from their resource constrained targets and executed on a more powerful "always-on" server infrastructure (the Proxy).