skip to main content
article

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

Published:01 February 2005Publication History
Skip Abstract Section

Abstract

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.

References

  1. AbouGhazaleh, N., Mosse, D., Childers, B., and Melham, R. 2001. Toward the placement of power management points in real-time applications. In Proceedings Workshop on Compilers and Operating Systems for Low Power (COLP). Google ScholarGoogle Scholar
  2. Advanced Configuration and Power Interface (ACPI). http://www.teleport.com/~acpi.Google ScholarGoogle Scholar
  3. Alidina, M., Monteiro, J., Devadas, S., Ghosh, A., and Papaefthymiou, M. 1994. Precomputation-based sequential logic optimization for low power. IEEE Trans. VLSI Syst. 2, 426--436. Google ScholarGoogle Scholar
  4. AMD Am79C874 NetPHY-1LP Low-Power 10/100 Tx/Rx Ethernet Transceiver Technical Datasheet.Google ScholarGoogle Scholar
  5. Baker, T. P. 1991. Stack-based scheduling of real-time processes. Real-Time Syst. J. 3, 1, 67--100. Google ScholarGoogle Scholar
  6. Benini, L., Bogliolo, A., Paleologo, G. A., and De Micheli, G. 1999. Policy optimization for dynamic power management. IEEE Trans. Comput.-Aided Des. 16, 813--833. Google ScholarGoogle Scholar
  7. Buttazzo, G. C. 1997. Hard Real-time Computing Systems: Predictable Scheduling Algorithms and Applications, Kluwer Academic Publishers, Norwell, MA. Google ScholarGoogle Scholar
  8. Chung, E.-Y., Benini, L., and De Micheli, G. 1999. Dynamic power management using adaptive learning tree. In Proceedings of the International Conference on Computer-Aided Design. 274--279. Google ScholarGoogle Scholar
  9. Advanced Configuration and Power Interface (ACPI). http://www.teleport.com/~acpi.Google ScholarGoogle Scholar
  10. Garey, M. R. and Johnson, D. S. 1977. Two-processor scheduling with start times and deadlines. SIAM J. Comput. 6, 416--426.Google ScholarGoogle Scholar
  11. Golding, R., Bosh, P., Staelin, C., Sullivan, T., and Wilkes, J. 1995. Idleness is not sloth. In Proceedings of the Usenix Technical Conference on UNIX and Advanced Computing Systems. 201--212. Google ScholarGoogle Scholar
  12. Hong, I., Potkonjak, M., and Srivastava, M. B. 1998. On-line scheduling of hard real-time tasks on variable-voltage processor. In Proceedings of the International Conference on Computer-Aided Design. 653--656. Google ScholarGoogle Scholar
  13. Hwang, C. and C.-H.Wu, A. 1997. A predictive system shutdown method for energy saving of event-driven computation. In Proceedings of the International Conference on Computer-Aided Design. 28--32. Google ScholarGoogle Scholar
  14. Irani, S., Shukla, S. and Gupta, R. 2002. Competitive analysis of dynamic power management strategies for systems with multiple power states. In Proceedings of the Design Automation and Test in Europe (DATE) Conference. 117--123. Google ScholarGoogle Scholar
  15. Ishihara, T. and Yasuura, H. 1998. Voltage scheduling problem for dynamically variable voltage processors. In Proceedings of the International Symposium on Low-Power Electronics and Design. 197--202. Google ScholarGoogle Scholar
  16. Katcher, D., Arakawa, H., and Strosnider, J. 1993. Engineering and analysis of fixed priority schedulers. IEEE Trans. Software Eng. 19, 920--934. Google ScholarGoogle Scholar
  17. Kim, W., Kim, J., and Min, S. L. 2002. A dynamic voltage scaling algorithm for dynamic priority hard real-time systems using slack time analysis. In Proceedings of the Design Automation and Test Conference in Europe. 788--795. Google ScholarGoogle Scholar
  18. Lawler, E. L. 1973. Optimal sequencing of a single machine subject to precedence constraints. J. Management Sci. 19, 544--546.Google ScholarGoogle Scholar
  19. Li, D., Chou, P., and Bagerzadeh, N. 2002. Mode selection and mode-dependency modeling for power-aware embedded systems. In Proceedings of the Asia South Pacific Design Automation Conference. 697--704. Google ScholarGoogle Scholar
  20. Liu, C. L., and Layland, J. 1973. Scheduling algorithms for multiprogramming in a hard real-time environment. J. ACM. 20, 1, 46--61. Google ScholarGoogle Scholar
  21. Liu, J. W. S. 2000. Real-time Systems, Prentice-Hall, Upper Saddle River, NJ. Google ScholarGoogle Scholar
  22. Liu, J., Chou, P. H., and Bagerzadeh, N. 2002. Communication speed selection for embedded systems with networked voltage-scalable processors. In Proceedings of the International Symposium on Hardware/Software Codesign (CODES). 169--174. Google ScholarGoogle Scholar
  23. Lu, Y.-H., Benini, L., and De Micheli, G. 2000. Low-power task scheduling for multiple devices. In Proceedings of the International Workshop on Hardware/Software Codesign. 39--43. Google ScholarGoogle Scholar
  24. Lu, Y.-H., Benini, L., and De Micheli, G. 2000. Operating system directed power reduction. In Proceedings of the International Conference on Low-Power Electronics and Design. 37--42. Google ScholarGoogle Scholar
  25. Luo, J. and Jha, N. K. 2001. Battery-aware static scheduling for distributed real-time embedded systems. In Proceedings of the Design Automation Conference. 444--449. Google ScholarGoogle Scholar
  26. Luo, J. and Jha, N. 2002. Static and dynamic variable voltage scheduling algorithms for real-time heterogeneous distributed embedded systems. In Proceedings of the International Conference on VLSI Design. 719--726. Google ScholarGoogle Scholar
  27. Quan, G. and Hu, X. 2001. Energy efficient fixed-priority scheduling for real-time systems on variable voltage processors. In Proceedings of the Design Automation Conference. 828--833. Google ScholarGoogle Scholar
  28. Quan, G. and Hu, X. 2002. Minimum-energy fixed-priority scheduling for variable-voltage processor. In Proceedings of the Design Automation and Test in Europe (DATE) Conference. 782--788. Google ScholarGoogle Scholar
  29. Shin, Y. and Choi, K. 1999. Power conscious fixed priority scheduling for hard real-time systems. In Proceedings of the Design Automation Conference. 134--139. Google ScholarGoogle Scholar
  30. Sha, L., Rajkumar, R., and Lehoczky, J. P. 1990. Priority inheritance protocols: An approach to real-time synchronization. IEEE Trans. Comput. 39, 1175--1185. Google ScholarGoogle Scholar
  31. Shin, Y., Choi, K., and Sakurai, T. 2000. Power optimization of real-time embedded systems on variable speed processors. In Proceedings of the International Conference on Computer-Aided Design. 365--368. Google ScholarGoogle Scholar
  32. Simunic, T., Benini, L., Glynn, P., and De Micheli, G. 2001. Event driven power management. IEEE Trans. Comput.-Aided Des. 20, 840--857. Google ScholarGoogle Scholar
  33. Swaminathan, V. and Chakrabarty, K. 2003. Energy-conscious, deterministic I/O device scheduling in hard real-time systems. IEEE Transaction on Computer-Aided Design Integrated Circuits and Systems 22 (July), 847--858. Google ScholarGoogle Scholar
  34. TMS320C6411 Power Consumption Summary. Available on-line at www-s.ti.com/sc/techlit/spra373.Google ScholarGoogle Scholar
  35. Xu, J. and Parnas, D. L. 2000. Priority scheduling vs. pre-run-time scheduling. Int. J. Time-Critical Comput. Syst. 18, 7--23. Google ScholarGoogle Scholar
  36. Yao, F., Demers, A., and Shenker, S. 1995. A scheduling model for reduced CPU energy. In Proceedings of the IEEE Annual Foundations of Computer Science. 374--382. Google ScholarGoogle Scholar
  37. Zhang, Y., Hu, X., and Chen, D. 2002. Task scheduling and voltage selection for energy minimization. In Proceedings of the Design Automation Conference. 183--188. Google ScholarGoogle Scholar

Index Terms

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

              Recommendations

              Reviews

              Vassilios A. Chouliaras

              Swaminathan and Chakrabarty address the issue of optimal job scheduling in a hard real-time computer system, via the use of a novel, off-line dynamic power management (DPM) scheme for computer system input/output (I/O). The paper elaborates briefly on the multiple application domains in which embedded systems are utilized, and the well-known benefits of reducing power consumption. Subsequently, it discusses static (leakage) and dynamic (switching) power in the context of integrated circuits. The authors then introduce the concept of dynamic power management, which allows a system to make runtime decisions to take advantage of periods of inactivity and computational demands. The authors very correctly point out that DPM, at the operating system (OS) level, has been used extensively since 1997 via the advanced configuration and power interface (ACPI). Furthermore, they discuss present-day computer systems, and identify (quite correctly) both the central processing unit (CPU) and the I/O on desktop computer systems as being extremely important systems for power optimization. The introductory section concludes with a brief mention of the contributed, nondeterministic polynomial time (NP) complete algorithm, energy-optimal device scheduler (EDS), and the implementation of a polynomial-time maximum device overlap (MDO) heuristic to significantly reduce I/O device power consumption. The "Prior Work" section in the paper sets the scene for the contributed EDS algorithm, and I/O DPM is classified as timeout-based, predictive, and stochastic. Mention is made of the very important (and reasonably recent) development in the embedded microprocessor industry, dynamic voltage scaling (DVS). The authors then introduce notation and formalize the problem, and demonstrate that it is NP-complete. They introduce their methodology, based on energy pruning, through a very informative example section that takes the reader through the EDS algorithm; I found this section to be particularly useful and informative in my understanding of the work. EDS tries to find an optimal solution for an NP-complete problem, which potentially leads to very long runtimes and excessive memory requirements. The authors therefore introduce a heuristic method to generate near-optimal solutions in polynomial time, which they call MDO. Unfortunately, MDO does not address the issue of blocking, but the authors do mention that resource allocation by an algorithm such as the stack resource policy (SRP) will prevent this from arising. In any case, MDO is a significant step in computing a provably NP-complete problem in polynomial time. The experimentation section discusses two experiments, with the first consisting of three devices: a network interface card, a digital signal processor (DSP), and a hard disk drive (HDD) with multiple sleep states. The EDS algorithm in this case arrives at an optimal 33 percent energy reduction (presumably with respect to keeping all three devices powered up all the time). The heuristic-based MDO arrives at a solution that is only four percent worse than the optimal (EDS) solution, clearly demonstrating the strength of the heuristic method. Overall, I found the work to be very satisfactory and informative. There are very interesting synergies between I/O DPM and CPU DVS, and I hope the authors will pursue a study on that front in a forthcoming contribution. Online Computing Reviews Service

              Access critical reviews of Computing literature here

              Become a reviewer for Computing Reviews.

              Comments

              Login options

              Check if you have access through your login credentials or your institution to get full access on this article.

              Sign in

              Full Access

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader