Pruning-based, energy-optimal, deterministic I/O device scheduling for hard real-time systems

Software-controlled (or dynamic) power management (DPM) in embedded systems has emerged as an attractive alternative to inflexible hardware solutions. However, DPM via I/O device scheduling for hard real-time systems has received relatively little attention. In this paper, we present an offline I/O device scheduling algorithm called energy-optimal device scheduler (EDS). For a given set of jobs, it determines the start time of each job such that the energy consumption of the I/O devices is minimized. EDS also ensures that no real-time constraint is violated. The device schedules are provably energy optimal under hard real-time job deadlines. Temporal and energy-based pruning are used to reduce the search space significantly. Since the I/O device scheduling problem is NP-complete, we also describe a heuristic called maximum device overlap (MDO) to generate near-optimal solutions in polynomial time. We present experimental results to show that EDS and MDO reduce the energy consumption of I/O devices significantly for hard real-time systems.

[1]  Gang Quan,et al.  Energy efficient fixed-priority scheduling for real-time systems on variable voltage processors , 2001, DAC '01.

[2]  Niraj K. Jha,et al.  Static and dynamic variable voltage scheduling algorithms for real-time heterogeneous distributed embedded systems , 2002, Proceedings of ASP-DAC/VLSI Design 2002. 7th Asia and South Pacific Design Automation Conference and 15h International Conference on VLSI Design.

[3]  Lui Sha,et al.  Priority Inheritance Protocols: An Approach to Real-Time Synchronization , 1990, IEEE Trans. Computers.

[4]  Marios C. Papaefthymiou,et al.  Precomputation-based sequential logic optimization for low power , 1994, IEEE Trans. Very Large Scale Integr. Syst..

[5]  WuAllen C.-H.,et al.  A predictive system shutdown method for energy saving of event-driven computation , 2000 .

[6]  Sandy Irani,et al.  Competitive analysis of dynamic power management strategies for systems with multiple power saving states , 2002, Proceedings 2002 Design, Automation and Test in Europe Conference and Exhibition.

[7]  Pai H. Chou,et al.  Mode selection and mode-dependency modeling for power-aware embedded systems , 2002, Proceedings of ASP-DAC/VLSI Design 2002. 7th Asia and South Pacific Design Automation Conference and 15h International Conference on VLSI Design.

[8]  David Lorge Parnas,et al.  Priority Scheduling Versus Pre-Run-Time Scheduling , 2004, Real-Time Systems.

[9]  Rami Melhem,et al.  Toward the placement of power management points in real-time applications , 2003 .

[10]  M. Potkonjak,et al.  On-line scheduling of hard real-time tasks on variable voltage processor , 1998, 1998 IEEE/ACM International Conference on Computer-Aided Design. Digest of Technical Papers (IEEE Cat. No.98CB36287).

[11]  Luca Benini,et al.  Low-power task scheduling for multiple devices , 2000, CODES '00.

[12]  Luca Benini,et al.  Dynamic power management using adaptive learning tree , 1999, 1999 IEEE/ACM International Conference on Computer-Aided Design. Digest of Technical Papers (Cat. No.99CH37051).

[13]  Krishnendu Chakrabarty,et al.  Energy-conscious, deterministic I/O device scheduling in hard real-time systems , 2003, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[14]  Giorgio Buttazzo,et al.  Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications , 1997 .

[15]  Gang Quan,et al.  Minimum Energy Fixed-Priority Scheduling for Variable Voltage Processor , 2003, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[16]  Miodrag Potkonjak,et al.  On-line scheduling of hard real-time tasks on variable voltage processor , 1998, ICCAD.

[17]  Luca Benini,et al.  Policy optimization for dynamic power management , 1998, Proceedings 1998 Design and Automation Conference. 35th DAC. (Cat. No.98CH36175).

[18]  Allen C.-H. Wu,et al.  A predictive system shutdown method for energy saving of event-driven computation , 1997, 1997 Proceedings of IEEE International Conference on Computer Aided Design (ICCAD).

[19]  Luca Benini,et al.  Event-driven power management , 2001, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[20]  Marios C. Papaefthymiou,et al.  Precomputation-based sequential logic optimization for low power , 1994, ICCAD '94.

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

[22]  Pai H. Chou,et al.  Communication speed selection for embedded systems with networked voltage-scalable processors , 2002, CODES '02.

[23]  Carl Staelin,et al.  Idleness is Not Sloth , 1995, USENIX.

[24]  James W. Layland,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[25]  Gang Quan,et al.  Minimum energy fixed-priority scheduling for variable voltage processors , 2002, Proceedings 2002 Design, Automation and Test in Europe Conference and Exhibition.

[26]  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.

[27]  Xiaobo Sharon Hu,et al.  Task scheduling and voltage selection for energy minimization , 2002, DAC '02.

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

[29]  David S. Johnson,et al.  Two-Processor Scheduling with Start-Times and Deadlines , 1977, SIAM J. Comput..

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

[31]  Luca Benini,et al.  Policy optimization for dynamic power management , 1999, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[32]  Luca Benini,et al.  Operating-system directed power reduction , 2000, ISLPED '00.

[33]  Jay K. Strosnider,et al.  Engineering and Analysis of Fixed Priority Schedulers , 1993, IEEE Trans. Software Eng..

[34]  Kiyoung Choi,et al.  Power conscious fixed priority scheduling for hard real-time systems , 1999, DAC '99.

[35]  Theodore P. Baker,et al.  Stack-based scheduling of realtime processes , 1991, Real-Time Systems.

[36]  Niraj K. Jha,et al.  Battery-aware static scheduling for distributed real-time embedded systems , 2001, DAC '01.

[37]  Eugene L. Lawler,et al.  Optimal Sequencing of a Single Machine Subject to Precedence Constraints , 1973 .