This Article 
 Bibliographic References 
 Add to: 
A Resource Reservation Algorithm for Power-Aware Scheduling of Periodic and Aperiodic Real-Time Tasks
December 2006 (vol. 55 no. 12)
pp. 1509-1522
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] C. Lefurgy, K. Rajamani, F. Rawson, W. Felter, M. Kistler, and T.W. Keller, “Energy Management for Commercial Servers,” Computer, vol. 36, no. 12, pp. 39-48, Dec. 2003.
[2] P. Bohrer, E.N. Elnozahy, T. Keller, M. Kistler, C. Lefurgy, C. McDowell, and R. Rajamony, The Case for Power Management in Web Servers. Kluwer Academic, 2002.
[3] J. Pouwelse, K. Langendoen, and H. Sips, “Dynamic Voltage Scaling on a Low-Power Microprocessor,” Proc. Seventh ACM Int'l Conf. Mobile Computing and Networking (Mobicom), 2001.
[4] Crusoe Processor Model TM5800 Version 2.1 Data Book Revision 2.01, Transmeta Corp., http:/, June 2003.
[5] Intel PXA250 and PXA210 Application Processors Developer's Manual, Intel Corp., Feb. 2002.
[6] Enhanced Intel SpeedStep Technology for the Intel Pentium $M$ Processor, Intel Corp., Mar. 2004.
[7] Intel PXA27x Processor Family Power Requirements, Intel Corp., 2004.
[8] R. Rajkumar, K. Juvva, A. Molano, and S. Oikawa, “Resource Kernels: A Resource-Centric Approach to Real-Time and Multimedia Systems,” Proc. SPIE/ACM Conf. Multimedia Computing and Networking, Jan. 1998.
[9] J. Lehoczky, L. Sha, and J. Strosnider, “Enhanced Aperiodic Responsiveness in Hard Real-Time Environments,” Proc. IEEE Real-Time Systems Symp., Dec. 1987.
[10] B. Sprunt, L. Sha, and J. Lehoczky, “Aperiodic Task Scheduling for Hard-Real-Time Systems,” J. Real-Time Systems, vol. 1, July 1989.
[11] M. Spuri and G. Buttazzo, “Scheduling Aperiodic Tasks in Dynamic Priority Systems,” J. Real-Time Systems, vol. 10, no. 2, 1996.
[12] L. Abeni and G. Buttazzo, “Integrating Multimedia Applications in Hard Real-Time Systems,” Proc. 19th IEEE Real-Time Systems Symp., Dec. 1998.
[13] G. Lipari and S. Baruah, “Greedy Reclamation of Unused Bandwidth in Constant Bandwidth Servers,” Proc. IEEE 12th Euromicro Conf. Real-Time Systems, June 2000.
[14] M. Caccamo, G. Buttazzo, and L. Sha, “Capacity Sharing for Overrun Control,” Proc. IEEE Real-Time Systems Symp., Dec. 2000.
[15] C. Scordino and G. Lipari, “Using Resource Reservation Techniques for Power-Aware Scheduling,” Proc. Fourth ACM Int'l Conf. Embedded Software (EMSOFT), pp. 16-25, Sept. 2004.
[16] G. Lipari, “Resource Reservation in Real-Time Systems,” PhD dissertation, Scuola Superiore S.Anna, 2000.
[17] H. Aydin, R. Melhem, D. Mossé, and P. Mejía-Alvarez, “Power-Aware Scheduling for Periodic Real-Time Tasks,” IEEE Trans. Computers, vol. 53, no. 5, pp. 584-600, May 2004.
[18] P. Pillai and K.G. Shin, “Real-Time Dynamic Voltage Scaling for Low-Power Embedded Operating Systems,” Proc. 18th ACM Symp. Operating Systems Principles, 2001.
[19] A. Qadi, S. Goddard, and S. Farritor, “A Dynamic Voltage Scaling Algorithm for Sporadic Tasks,” Proc. 24th Real-Time Systems Symp., pp. 52-62, 2003.
[20] M.L. Dertouzos, “Control Robotics: The Procedural Control of Physical Processes,” Information Processing, 1974.
[21] C. Liu and J. Layland, “Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment,” J. ACM, vol. 20, no. 1, 1973.
[22] S. Saewong and R. Rajkumar, “Practical Voltage-Scaling for Fixed-Priority RT-Systems,” Proc. Ninth IEEE Real-Time and Embedded Technology and Applications Symp. (RTAS), May 2003.
[23] F. Yao, A. Demers, and S. Shenker, “A Scheduling Model for Reduced CPU Energy,” Proc. IEEE Ann. Foundations of Computer Science, pp. 374-382, 1995.
[24] Y. Liu and A.K. Mok, “An Integrated Approach for Applying Dynamic Voltage Scaling to Hard Real-Time Systems,” Proc. Ninth IEEE Real-Time and Embedded Technology and Applications Symp., pp. 116-123, May 2003.
[25] D. Shin and J. Kim, “Dynamic Voltage Scaling of Periodic and Aperiodic Tasks in Priority-Driven Systems,” Proc. Asia and South Pacific Design Automation Conf. (ASP-DAC '04), pp. 653-658, Jan. 2004.
[26] S. Saewong and R. Rajkumar, “Optimal Static Voltage-Scaling for Real-Time Systems,” technical report, Real-Time and Multimedia Systems Laboratory, Carnegie Mellon Univ., Pittsburgh, Penn., 2002.
[27] C. Scordino and E. Bini, “Optimal Speed Assignment for Probabilistic Execution Times,” Proc. Second Workshop Power-Aware Real-Time Computing (PARC '05), Sept. 2005.
[28] Y. Zhu and F. Mueller, “Feedback EDF Scheduling Exploiting Dynamic Voltage Scaling,” Proc. 10th IEEE Real-Time and Embedded Technology and Applications Symp. (RTAS '04), May 2004.
[29] J. Pouwelse, K. Langendoen, and H. Sips, “Energy Priority Scheduling for Variable Voltage Processors,” Proc. Int'l Symp. Low Power Electronics and Design (ISLPED), 2001.
[30] J.R. Lorch and A.J. Smith, “Improving Dynamic Voltage Scaling Algorithms with Pace,” Proc. ACM SIGMETRICS 2001 Conf., June 2001.
[31] P. Kumar and M. Srivastava, “Predictive Strategies for Low-Power RTOS Scheduling,” Proc. IEEE Int'l Conf. Computer Design: VLSI In Computers & Processors (ICCD '00), Sept. 2000.
[32] J.K. Strosnider, J.P. Lehoczky, and L. Sha, “The Deferrable Server Algorithm for Enhanced Aperiodic Responsiveness in Hard-Real-Time Environments,” IEEE Trans. Computers, vol. 4, no. 1, Jan. 1995.
[33] T. Ishihara and H. Yasuura, “Voltage Scheduling Problem for Dynamically Variable Voltage Processors,” Proc. Int'l Symp. Low Power Electronics and Design, pp. 197-202, Aug. 1998.
[34] F. Gruian, “Energy-Centric Scheduling for Real-Time Systems,” PhD dissertation, Dept. of Computer Science, Lund Inst. of Technology, Lund, Sweden, Nov. 2002.
[35] L. Abeni, “Server Mechanisms for Multimedia Applications,” Technical Report RETIS TR98-01, Scuola Superiore S. Anna, 1998.
[36] J.E. Coffman and P.J. Denning, Operating Systems Theory. Prentice-Hall, 1973.
[37] E. Bini, G. Buttazzo, and G. Lipari, “Speed Modulation in Energy-Aware Real-Time Systems,” Proc. 17th Euromicro Conf. Real-Time Systems, July 2005.
[38] L. Palopoli, G. Lipari, G. Lamastra, L. Abeni, B. Gabriele, and P. Ancilotti, “An Object Oriented Tool for Simulating Distributed Real-Time Control Systems,” Software: Practice and Experience, 2002.
[39] Rtsim (real-time system simulator), available on Internet under the GNU General Public License (GPL), http:/rtsim.sourceforge. net, 2006.
[40] C. Scordino and G. Lipari, “Energy Saving Scheduling for Embedded Real-Time Linux Applications,” Proc. Fifth Real-Time Linux Workshop, 2003.

Index Terms:
DVS, real-time, resource-reservation, scheduling, power-aware.
Claudio Scordino, Giuseppe Lipari, "A Resource Reservation Algorithm for Power-Aware Scheduling of Periodic and Aperiodic Real-Time Tasks," IEEE Transactions on Computers, vol. 55, no. 12, pp. 1509-1522, Dec. 2006, doi:10.1109/TC.2006.190
Usage of this product signifies your acceptance of the Terms of Use.