Power-aware temporal isolation with variable-bandwidth servers

Variable-bandwidth servers (VBS) control process execution speed by allocating variable CPU bandwidth to processes. VBS enables temporal isolation of EDF-scheduled processes in the sense that the variance in CPU throughput and latency of each process is bounded independently of any other concurrently running processes. In this paper we aim at reducing CPU power consumption with VBS by CPU voltage and frequency scaling while maintaining temporal isolation. Scaling to lower frequencies is possible whenever there is CPU slack in the system. We first show that, in the presence of CPU slack, frequency scaling of EDF-scheduled, possibly non-periodic tasks (as they arise with VBS) is safe up to full CPU utilization and propose a frequency-scaling VBS algorithm that exploits CPU slack to minimize operating frequencies with maximal CPU utilization while maintaining temporal isolation. Additional power may be saved by redistributing computation time of individual processes while still maintaining temporal isolation if the system has knowledge of future events. We introduce an offline algorithm as an optimal baseline and an online algorithm that approximates the baseline. While the offline algorithm works for various, possibly complex power consumption models, the online algorithm may reduce power consumption only for a simplified power consumption model by reducing the CPU utilization jitter in the system.

[1]  Rami G. Melhem,et al.  Dynamic and aggressive scheduling techniques for power-aware real-time systems , 2001, Proceedings 22nd IEEE Real-Time Systems Symposium (RTSS 2001) (Cat. No.01PR1420).

[2]  Ragunathan Rajkumar,et al.  Critical power slope: understanding the runtime effects of frequency scaling , 2002, ICS '02.

[3]  Giorgio C. Buttazzo,et al.  Balancing Energy vs. Performance in Processors with DiscreteVoltage/Frequency Modes , 2006, 12th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA'06).

[4]  David C. Snowdon,et al.  Koala: a platform for OS-level power management , 2009, EuroSys '09.

[5]  Scott A. Brandt,et al.  Dynamic integrated scheduling of hard real-time, soft real-time, and non-real-time processes , 2003, RTSS 2003. 24th IEEE Real-Time Systems Symposium, 2003.

[6]  Dongkun Shin,et al.  Dynamic voltage scaling of periodic and aperiodic tasks in priority-driven systems , 2004, ASP-DAC 2004: Asia and South Pacific Design Automation Conference 2004 (IEEE Cat. No.04EX753).

[7]  Sang Lyul Min,et al.  Dynamic voltage scaling algorithm for dynamic-priority hard real-time systems using slack time analysis , 2002, Proceedings 2002 Design, Automation and Test in Europe Conference and Exhibition.

[8]  Insup Lee,et al.  Periodic resource model for compositional real-time guarantees , 2003, RTSS 2003. 24th IEEE Real-Time Systems Symposium, 2003.

[9]  David C. Snowdon,et al.  Accurate Run-Time Prediction of Performance Degradation under Frequency Scaling , 2007 .

[10]  David C. Snowdon,et al.  Integrating real time and power management in a real system , 2008 .

[11]  Ana Sokolova,et al.  Real-Time Scheduling for Workload-oriented Programming , 2008 .

[12]  Giuseppe Lipari,et al.  Elastic Scheduling for Flexible Workload Management , 2002, IEEE Trans. Computers.

[13]  Ana Sokolova,et al.  Response Time versus Utilization in Scheduler Overhead Accounting , 2010, 2010 16th IEEE Real-Time and Embedded Technology and Applications Symposium.

[14]  Brian W. Kernighan,et al.  AMPL: A Modeling Language for Mathematical Programming , 1993 .

[15]  Ana Sokolova,et al.  Programmable temporal isolation through variable-bandwidth servers , 2009, 2009 IEEE International Symposium on Industrial Embedded Systems.

[16]  Steve Goddard,et al.  A dynamic voltage scaling algorithm for sporadic tasks , 2003, RTSS 2003. 24th IEEE Real-Time Systems Symposium, 2003.

[17]  Giuseppe Lipari,et al.  Using resource reservation techniques for power-aware scheduling , 2004, EMSOFT '04.

[18]  David C. Snowdon,et al.  Accurate on-line prediction of processor and memoryenergy usage under voltage scaling , 2007, EMSOFT '07.

[19]  Kiyoung Choi,et al.  Power optimization of real-time embedded systems on variable speed processors , 2000, IEEE/ACM International Conference on Computer Aided Design. ICCAD - 2000. IEEE/ACM Digest of Technical Papers (Cat. No.00CH37140).

[20]  Thomas D. Burd,et al.  Energy efficient CMOS microprocessor design , 1995, Proceedings of the Twenty-Eighth Annual Hawaii International Conference on System Sciences.

[21]  Rajesh Gupta,et al.  Profile-based dynamic voltage scheduling using program checkpoints , 2002, Proceedings 2002 Design, Automation and Test in Europe Conference and Exhibition.

[22]  Giorgio C. Buttazzo,et al.  Resource Reservation in Dynamic Real-Time Systems , 2004, Real-Time Systems.

[23]  Kang G. Shin,et al.  Real-time dynamic voltage scaling for low-power embedded operating systems , 2001, SOSP.

[24]  Yann-Hang Lee,et al.  Voltage-clock-scaling adaptive scheduling techniques for low power in hard real-time systems , 2000, Proceedings Sixth IEEE Real-Time Technology and Applications Symposium. RTAS 2000.