A Resource Reservation Algorithm for Power-Aware Scheduling of Periodic and Aperiodic Real-Time Tasks

Power consumption is an important issue in the design of real-time embedded systems. As many embedded systems are powered by batteries, the goal is to extend the autonomy of the system as much as possible. To reduce power consumption, modern processors can change their voltage and frequency at runtime. A power-aware scheduling algorithm can exploit this capability to reduce power consumption while preserving the timing constraints of real-time tasks. In this paper, we present GRUB-PA, a novel power-aware scheduling algorithm based on a resource reservation technique. In addition to providing temporal isolation and time guarantees and, unlike most of the power-aware algorithms proposed in the literature, GRUB-PA can efficiently handle systems consisting of both hard and soft, aperiodic, sporadic, and periodic tasks. We compared our algorithm with existing power-aware scheduling algorithms on an extensive set of simulation experiments on synthetic task sets. The results show that the performance of our algorithm is in line with the state-of-the-art power-aware algorithms. We also present the implementation of our algorithm in the Linux operating system and discuss practical implementation issues like switching overhead and power models. Finally, we show the results of experiments performed on a real testbed application

[1]  Sanjoy K. Baruah,et al.  Greedy reclamation of unused bandwidth in constant-bandwidth servers , 2000, Proceedings 12th Euromicro Conference on Real-Time Systems. Euromicro RTS 2000.

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

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

[4]  Giuseppe Lipari,et al.  Energy Saving Scheduling for Embedded Real-Time Linux Applications , 2003 .

[5]  Peter J. Denning,et al.  Operating Systems Theory , 1973 .

[6]  Ragunathan Rajkumar,et al.  Practical voltage-scaling for fixed-priority RT-systems , 2003, The 9th IEEE Real-Time and Embedded Technology and Applications Symposium, 2003. Proceedings..

[7]  Marco Spuri,et al.  Scheduling aperiodic tasks in dynamic priority systems , 1996, Real-Time Systems.

[8]  Giuseppe Lipari,et al.  Speed modulation in energy-aware real-time systems , 2005, 17th Euromicro Conference on Real-Time Systems (ECRTS'05).

[9]  Shuichi Oikawa,et al.  Resource kernels: a resource-centric approach to real-time and multimedia systems , 2001, Electronic Imaging.

[10]  Hiroto Yasuura,et al.  Voltage scheduling problem for dynamically variable voltage processors , 1998, Proceedings. 1998 International Symposium on Low Power Electronics and Design (IEEE Cat. No.98TH8379).

[11]  Trevor Mudge,et al.  Dynamic voltage scaling on a low-power microprocessor , 2001 .

[12]  K. Langendoen,et al.  Energy priority scheduling for variable voltage processors , 2001, ISLPED'01: Proceedings of the 2001 International Symposium on Low Power Electronics and Design (IEEE Cat. No.01TH8581).

[13]  Jay K. Strosnider,et al.  ENHANCED APERIODIC RESPONSIVENESS IN HARD REAL-TIME ENVIRONMENTS. , 1987, RTSS 1987.

[14]  Jay K. Strosnider,et al.  The Deferrable Server Algorithm for Enhanced Aperiodic Responsiveness in Hard Real-Time Environments , 1987, IEEE Trans. Computers.

[15]  Michael Kistler,et al.  The case for power management in web servers , 2002 .

[16]  F. Frances Yao,et al.  A scheduling model for reduced CPU energy , 1995, Proceedings of IEEE 36th Annual Foundations of Computer Science.

[17]  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).

[18]  Flavius Gruian,et al.  Energy-Centric Scheduling for Real-Time Systems , 2002 .

[19]  M. Srivastava,et al.  Predictive strategies for low-power RTOS scheduling , 2000, Proceedings 2000 International Conference on Computer Design.

[20]  Rami G. Melhem,et al.  Power-aware scheduling for periodic real-time tasks , 2004, IEEE Transactions on Computers.

[21]  Luigi Palopoli,et al.  An object‐oriented tool for simulating distributed real‐time control systems , 2002, Softw. Pract. Exp..

[22]  Chung Laung Liu,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[23]  Enrico Bini,et al.  Optimal speed assignment for probabilistic execution times , 2005 .

[24]  Aloysius K. Mok,et al.  An integrated approach for applying dynamic voltage scaling to hard real-time systems , 2003, The 9th IEEE Real-Time and Embedded Technology and Applications Symposium, 2003. Proceedings..

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

[26]  Michael L. Dertouzos,et al.  Control Robotics: The Procedural Control of Physical Processes , 1974, IFIP Congress.

[27]  Lui Sha,et al.  Capacity sharing for overrun control , 2000, Proceedings 21st IEEE Real-Time Systems Symposium.

[28]  Frank Mueller,et al.  Feedback EDF scheduling exploiting dynamic voltage scaling , 2004, Proceedings. RTAS 2004. 10th IEEE Real-Time and Embedded Technology and Applications Symposium, 2004..

[29]  Giorgio C. Buttazzo,et al.  Integrating multimedia applications in hard real-time systems , 1998, Proceedings 19th IEEE Real-Time Systems Symposium (Cat. No.98CB36279).

[30]  Karthick Rajamani,et al.  Energy Management for Commercial Servers , 2003, Computer.

[31]  Alan Jay Smith,et al.  Improving dynamic voltage scaling algorithms with PACE , 2001, SIGMETRICS '01.

[32]  Lui Sha,et al.  Aperiodic task scheduling for Hard-Real-Time systems , 2006, Real-Time Systems.