The Benefits of Event-Driven Energy Accounting in Power-Sensitive Systems

  • Author:

    Frank Bellosa

  • Source:

    Proceedings of 9th ACM SIGOPS European Workshop, Kolding, Denmark, September 17-20, 2000

  • Date: 17.-20.09.2000
  • Abstract:

    A prerequisite of energy-aware scheduling is precise knowledge of any activity inside the computer system. Embedded hardware monitors (e.g., processor performance counters) have proved to offer valuable information in the field of performance analysis. The same approach can be applied to investigate the energy usage patterns of individual threads.We use information about active hardware units (e.g., integer/floatingpoint unit, cache/memory interface) gathered by event counters to establish a thread-specific energy accounting. The evaluation shows that the correlation of events and energy values provides the necessary information for energy-aware scheduling policies.

    Our approach to OS-directed power management adds the energy usage pattern to the runtime context of a thread. Depending on the field of application we present two scenarios that benefit from applying energy usage patterns: Workstations with passive cooling on the one hand and battery-powered mobile systems on the other hand.

    Energy-aware scheduling evaluates the energy usage of each thread and throttles the system activity so that the scheduling goal is achieved. In workstations we throttle the system if the average energy use exceeds a predefined power-dissipation capacity. This makes a compact, noiseless and affordable system design possible that meets sporadic yet high demands in computing power. Nowadays, more and more mobile systems offer the features of reducible clock speed and dynamic voltage scaling. Energy-aware scheduling can employ these features to yield a longer battery life by slowing down low-priority threads while preserving a certain quality of service


      author = {Frank Bellosa},
      title = {The Benefits of Event-Driven Energy Accounting in Power-Sensitive Systems},
      booktitle = {Proceedings of the 9th ACM SIGOPS European Workshop},
      address = {Kolding, Denmark},
      month = sep # "~17--20",
      year = 2000,
      url = {}