Energy Estimation for CPU-Events Dependent on Frequency Scaling and Clock Gating

  • Forschungsthema:Power Management
  • Typ:Studienarbeit
  • Datum:01.09.2006
  • Betreuung:

    Prof. Dr. Frank Bellosa, Andreas Merkel

  • Bearbeitung:Philip Moltmann
  • Links:PDF
  • Abstract:

    The power consumption and heat dissipation of multipurpose CPUs have become a real problem. E.g. a Pentium 4 3.7 Ghz EE consumes 154W/cm2. The heat dissipation has to be handled by the cooling system: heat sink, fan, and room air condition. This means that for a big server farm or cluster the cooling system can get very big and expensive.

    The power consumption of a CPU depends heavily on the current load and even on the specific instruction executed. This means, that the maximum heat dissipation will very seldomly be reached. The idea of an energy aware system is to assure, that an specified maximum power is never reached. This can be used to throttle the system in a way, that only few performance is lost, but that the requirements of the cooling system will be much lower.

    The system estimates the current energy consumption of the CPU from built in event counters. Each counter is multiplied by a precomputed energy weight to get the total power usage. This work introduces a new approach to get more accurate energy weights and shows how these weights vary, while the CPU is running at different frequencies or while the CPU’s clock is modulated.

    Up to now an energy aware system keeps energy limits by switching to the idle thread. This work presents an algorithm that enables the system to use frequency scaling and clock gating to keep the energy limits. The system was implemented as a modification of the Linux 2.6.17.3 kernel. The evaluation of this systems shows a performance benefit of up to 100% and more compared to a system that only uses idling.

    BibTex:

    @studythesis{moltmann06energyestimationcpuevents,
      author = {Philip P. Moltmann},
      title = {Energy Estimation for CPU-Events Dependent on Frequency Scaling and Clock Gating},
      type = {Study Thesis},
      address = {System Architecture Group, University of Karlsruhe, Germany},
      month = sep # "~1",
      year = 2006,
      url = {http://i30www.ira.uka.de/teaching/theses/pasttheses/}
    }