DDVS: distributed dynamic voltage scaling

  • Authors:
  • Timothy Durnan;Christian Poellabauer

  • Affiliations:
  • University of Notre Dame, Notre Dame, IN;University of Notre Dame, Notre Dame, IN

  • Venue:
  • Proceedings of the twentieth ACM symposium on Operating systems principles
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Dynamic voltage scaling (DVS [1]) is a popular technique in energy-aware systems: when a CPU is under-utilized, reduce its speed and voltage, thereby trading off increased execution times with reduced energy costs, while meeting real-time tasks' deadline constraints. However, DVS and other energy-saving techniques are 'selfish' in nature, i.e., they are only concerned with reducing their local energy consumptions, disregarding the consequences their use may have on other devices. Consider two devices A and B, where A captures and compresses video images, sends them to B, where they will be decompressed, processed, and displayed. The latest point in time an image has to be received, processed, and displayed by B denotes an end-to-end deadline (E2E) Td. Figure 1 visualizes the problem: the shaded areas show periods of CPU activity (image processing), with the height of the area indicating the power costs, the arrows denote communications between devices, and the vertical line shows Td for a given image. When both A and B use DVS, their processing times increase, introducing delays that may cause the deadline to be missed. The consequence is that A and B need to negotiate the allowable slow-down (and delay) each device can introduce. This negotiation is driven by the current battery charge levels and the overall goal of the system, e.g., if B is essential to the operation of the distributed system, but at the same time the more energy-constrained device, it should be allowed to fully utilize DVS, while A can utilize DVS only to an extent that does not cause deadlines misses.