DescriptionEnergy efficiency in high performance computing (HPC) will be critical to limit operating costs and carbon footprints in future supercomputing centers. With both hardware and software factors affecting energy usage there exists a need for dynamic power regulation. This dissertation highlights an adaptive runtime framework that can allow processors capable of per-core specific power control to reduce power with little performance impact by dynamically adapting to workload characteristics. Monitoring of performance and power regulation is done transparently within MPI runtime and no code changes are required in the underlying application. In the presence of workload imbalance, the runtime reduces the frequency on cores not on the critical path thereby reducing power without deteriorating performance. This is shown to reduce run-to-run performance variation and improve performance in certain scenarios. For applications plagued by memory related issues, new memory metrics are identified that facilitate lowering power without adversely impacting performance.