Combining Software and Hardware Monitoring for Improved Power and Performance Tuning

  • Authors:
  • Eric Chi;A. Michael Salem;R. Iris Bahar;Richard Weiss

  • Affiliations:
  • -;-;-;-

  • Venue:
  • INTERACT '03 Proceedings of the Seventh Workshop on Interaction between Compilers and Computer Architectures
  • Year:
  • 2003

Quantified Score

Hi-index 0.02

Visualization

Abstract

By anticipating when resources will be idle, it is possibleto reconfigure the hardware to reduce power consumptionwithout significantly reducing performance. This requirespredicting what the resource requirements will be for anapplication. In the past, researchers have taken one of twoapproaches: design hardware monitors that can measurerecent performance, or profile the application to determinethe most likely behavior for each block of code. This paperexplores a third option which is to combine hardwaremonitoring with software profiling to achieve lower powerutilization than either method alone. We demonstrate thepotential for this approach in two ways. First, we comparehardware monitoring and software profiling of IPC for codeblocks and show that they capture different information. Bycombining them, we can control issue width and ALU usagemore effectively to save more power. Second, we showthat anticipating stalls due to critical load misses in the L2cache can enable fetch halting. Again, hardware monitoringand software profiling must be used together to effectivelypredict misses and criticality of loads.