ITEC -  Operating Systems Group

Event-Driven Energy Accounting for Dynamic Thermal Management

  • Author:

    Frank Bellosa, Simon Kellner, and Andreas Weissel

  • Source:

    University of Erlangen, Technical Report TR-I4-03-02, July 2003

  • Date: 07.2003
  • Abstract:

    With increasing clock speed and level of integration in today's processors, memories, and I/O-controllers, power dissipation is becoming a definitive concern of system design. Control-theoretic techniques have proven to manage the heat dissipation and temperature starting from the level of functional blocks within the processor up to the level of complete systems, so that a thermal emergency will never be reached. However application-, user- or service-specific requirements had to be neglected.

    In this work we investigate dynamic thermal management with respect to the demands of individual applications, users or services. We present an event-driven approach to determine on-the-fly the energy consumption on a fine grained level and describe a model to estimate the temperature without the need for measurement. With this power and thermal model-combined with the well-known facility of resource containers-it is possible to throttle the execution of individual tasks according to their energy-specific characteristics and the thermal requirements of the system. In addition to throttling we investigate a modified process scheduler which allots CPU time according to the power contribution of each task to the current temperature level of the processor.

    Experiments using a Pentium 4 architecture running a modified Linux show that a given temperature limit for the CPU will not be exceeded while tasks are scheduled according to their energy consumption.

    BibTex:

    @techreport{bellosa03energyaccounting,
      author = {Frank Bellosa and Simon Kellner and Andreas Weissel},
      title = {Event-Driven Energy Accounting for Dynamic Thermal Management},
      booktitle = {Technical Report},
      number = {TR-I4-03-02},
      month = jul # "~30",
      year = 2003,
      affiliation = {University of Erlangen, Germany}
    }