skip to main content
article

Energy-efficient, utility accrual scheduling under resource constraints for mobile embedded systems

Published:01 August 2006Publication History
Skip Abstract Section

Abstract

We present an energy-efficient, utility accrual, real-time scheduling algorithm called ReUA. ReUA considers an application model where activities are subject to time/utility function time constraints, mutual exclusion constraints on shared non-CPU resources, and statistical performance requirements on individual activity timeliness behavior. The algorithm targets mobile embedded systems where system-level energy consumption is also a major concern. For such a model, we consider the scheduling objectives of (1) satisfying the statistical performance requirements and (2) maximizing the system-level energy efficiency, while respecting resource constraints. Since the problem is NP-hard, ReUA allocates CPU cycles using statistical properties of application cycle demands, and heuristically computes schedules with a polynomial time cost. We analytically establish several timeliness and nontimeliness properties of the algorithm. Further, our simulation experiments illustrate ReUA's effectiveness and superiority.

References

  1. Advanced Micro Devices Corporation. 2000. Mobile AMD-K6-2+ Processor Data Sheet. Publication #23446.]]Google ScholarGoogle Scholar
  2. Anderson, J. M., Weihl, W. E., Berc, L. M., Dean, J., Ghemawat, S., Henzinger, M. R., Leung, S.-T. A., Sites, R. L., Vandevoorde, M. T., and Waldspurger, C. A. 1997. Continuous profiling: Where have all the cycles gone? In Proceedings of 16th Symposium on Operating Systems Principles. 1--14.]] Google ScholarGoogle Scholar
  3. Aydin, H., Melhem, R., Mosse, D., and Mejia-Alvarez, P. 2001. Dynamic and aggressive scheduling techniques for power-aware real-time systems. In Proceedings of IEEE Real-Time Systems Symposium. 95--105.]] Google ScholarGoogle Scholar
  4. Baker, T. P. 1991. Stack-based scheduling of real-time processes. Journal of Real-Time Systems 3, 1 (Mar.), 67--99.]] Google ScholarGoogle Scholar
  5. Chandrakasan, A., Sheng, S., and Brodersen, R. W. 1992. Low-power CMOS digital design. IEEE Journal of Solid-State Circuits. 27, 473--484.]]Google ScholarGoogle Scholar
  6. Chen, K. and Muhlethaler, P. 1996. A scheduling algorithm for tasks described by time value function. Journal of Real-Time Systems 10, 3 (May), 293--312.]] Google ScholarGoogle Scholar
  7. Clark, R., Jensen, E. D., Kanevsky, A., Maurer, J., Wallace, P., Wheeler, T., Zhang, Y., Wells, D., Lawrence, T., and Hurley, P. 1999. An adaptive, distributed airborne tracking system. In Proceedings of The IEEE Workshop on Parallel and Distributed Systems. LNCS, vol. 1586. Springer-Verlag, New York. 353--362.]] Google ScholarGoogle Scholar
  8. Clark, R. K. 1990. Scheduling dependent real-time activities. Ph.D. thesis, Carnegie Mellon University. CMU-CS-90-155, http://www.real-time.org (last accessed: June 22, 2005).]] Google ScholarGoogle Scholar
  9. Dertouzos, M. 1974. Control robotics: The procedural control of physical processes. Information Processing 74.]]Google ScholarGoogle Scholar
  10. Flautner, K. and Mudge, T. 2002. Vertigo: Automatic performance-setting for Linux. In Proceedings of 5th Symposium on Operating Systems Design and Implementation.]] Google ScholarGoogle Scholar
  11. GlobalSecurity.org. BMC3I Battle Management, Command, Control, Communications and Intelligence. http://www.globalsecurity.org/space/systems/bmc3i.htm/ (last accessed: June 22, 2005).]]Google ScholarGoogle Scholar
  12. GlobalSecurity.org. Multi-Platform Radar Technology Insertion Program. http://www.globalsecurity.org/intell/systems/mp-rtip.htm/ (last accessed: June 22, 2005).]]Google ScholarGoogle Scholar
  13. Graybill, R. and Melhem, R. 2002. Power aware computing. Kluwer Academic/Plenum Publ. New York.]] Google ScholarGoogle Scholar
  14. Gruian, F. 2001. Hard real-time scheduling for low energy using stochastic data and DVS processors. In Proceedings of International Symposium on Lower-Power Electronics and Design.]] Google ScholarGoogle Scholar
  15. Grunwald, D., Levis, P., Farkas, K., III, C. M., and Neufeld, M. 2000. Policies for dynamic clock scheduling. In Proceedings of 4th Symposium on Operating Systems Design and Implementation.]] Google ScholarGoogle Scholar
  16. Havinga, P. J. M. and Smith, G. J. M. 2000. Design techniques for low-power systems. Journal of Systems Architecture. 46, 1.]] Google ScholarGoogle Scholar
  17. Horn, W. 1974. Some simple scheduling algorithms. Naval Research Logistics Quaterly 21, 177--185.]]Google ScholarGoogle Scholar
  18. Jensen, E. D. 1992. Asynchronous decentralized real-time computer systems. In Real-Time Computing. NATO Advanced Study Institute. Springer Verlag, New York.]]Google ScholarGoogle Scholar
  19. Jensen, E. D., Locke, C. D., and Tokuda, H. 1985. A time-driven scheduling model for real-time systems. In Proceedings of IEEE Real-Time Systems Symposium. 112--122.]]Google ScholarGoogle Scholar
  20. Kim, W., Kim, J., and Min, S. L. 2003. Dynamic voltage scaling algorithm for fixed-priority real-time systems using work-demand analysis. In Proceedings of International Symposium on Lower-Power Electronics and Design.]] Google ScholarGoogle Scholar
  21. Koren, G. and Shasha, D. 1992. D-Over: An optimal on-line scheduling algorithm for overloaded real-time systems. In Proceedings of IEEE Real-Time Systems Symposium. 290--299.]]Google ScholarGoogle Scholar
  22. Li, P. 2004. Utility accrual real-time scheduling: Models and algorithms. Ph.D. thesis, Virginia Tech. http://scholar.lib.vt.edu/theses/available/etd-08092004-230138/ (last accessed: June 22, 2005).]] Google ScholarGoogle Scholar
  23. Liu, C. L. and Layland, J. W. 1973. Scheduling algorithms for multiprogramming in a hard real-time environment. Journal of the ACM 20, 1, 46--61.]] Google ScholarGoogle Scholar
  24. Locke, C. D. 1986. Best-effort decision making for real-time scheduling. Ph.D. thesis, Carnegie Mellon University. CMU-CS-86-134, http://www.real-time.org (last accessed: June 22, 2005).]] Google ScholarGoogle Scholar
  25. Lorch, J. and Smith, A. 2001. Improving dynamic voltage scaling algorithms with PACE. In Proceedings of ACM SIGMETRICS 2001 Conference (Cambridge, MA). 50--61.]] Google ScholarGoogle Scholar
  26. Martin, T. 1999. Balancing batteries, power and performance: System issues in cpu speed-setting for mobile computing. Ph.D. thesis, Carnegie Mellon University.]] Google ScholarGoogle Scholar
  27. Martin, T. and Siewiorek, D. 2001. Non-ideal battery and main memory effects on CPU speed-setting for low power. IEEE Transactions on VLSI Systems 9, 1 (February), 29--34.]] Google ScholarGoogle Scholar
  28. Maynard, D. P., Shipman, S. E., Clark, R. K., Northcutt, J. D., Kegley, R. B., Zimmerman, B. A., and Keleher, P. J. 1988. An example real-time command, control, and battle management application for alpha. Tech. rep., Department of Computer Science, Carnegie Mellon University. December. Archons Project Technical Report 88121.]]Google ScholarGoogle Scholar
  29. Pedram, M. 1996. Power minimization in IC design: Principles and applications. In ACM Transactions on Design Automation of Electronics Systems. 1, 1. 3--56.]] Google ScholarGoogle Scholar
  30. Pering, T., Burd, T., and Brodersen, R. 2000. Voltage scheduling in the lpARM microprocessor system. In Proceedings of International Symposium on Lower-Power Electronics and Design.]] Google ScholarGoogle Scholar
  31. Pillai, P. and Shin, K. G. 2001. Real-time dynamic voltage scaling for low-power embedded operating systems. In Proceedings of the ACM Symposium on Operating Systems Principles. 89--102.]] Google ScholarGoogle Scholar
  32. Rusu, C., Melhem, R., and Mosse, D. 2003. Multi-version scheduling in rechargeable energy-aware real-time systems. In Proceedings of IEEE Euromicro Conference on Real-Time Systems.]]Google ScholarGoogle Scholar
  33. Sha, L., Rajkumar, R., and Lehoczky, J. P. 1990. Priority inheritance protocols: an approach to real-time synchronization. IEEE Transactions on Computers 39, 9, 1175--1185.]] Google ScholarGoogle Scholar
  34. Urgaonkar, B., Shenoy, P., and Roscoe, T. 2002. Resource overbooking and application profiling in shared hosting platforms. In Proceedings of 5th Symposium on Operating Systems Design and Implementation.]] Google ScholarGoogle Scholar
  35. Varga, A. OMNeT++ Discrete event simulation system. http://www.omnetpp.org/ (last accessed: June 22, 2005).]]Google ScholarGoogle Scholar
  36. Wang, J. and Ravindran, B. 2004. Time-utility function-driven switched ethernet: Packet scheduling algorithm, implementation, and feasibility analysis. IEEE Transactions on Parallel and Distributed Systems 15, 2 (February), 119--133.]] Google ScholarGoogle Scholar
  37. Wang, J., Ravindran, B., and Martin, T. 2003. A power aware best-effort real-time task scheduling algorithm. In Proceedings of The IEEE Workshop on Software Technologies for Future Embedded Systems, IEEE International Symposium on Object-Oriented Real-Time Distributed Computing. 21--28.]] Google ScholarGoogle Scholar
  38. Weiser, M., Welch, B., Demers, A., and Shenker, S. 1994. Scheduling for reduced CPU energy. In Proceedings of The USENIX Symposium on Operating Systems Design and Implementation. 13--23.]] Google ScholarGoogle Scholar
  39. Wu, H., Ravindran, B., Jensen, E. D., and Li, P. 2004a. CPU scheduling for statistically-assured real-time performance and improved energy efficiency. In Proceedings of 2nd IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES/ISSS). 110--115.]] Google ScholarGoogle Scholar
  40. Wu, H., Ravindran, B., Jensen, E. D., and Li, P. 2004b. Energy-efficient, utility accrual scheduling under resource constraints for mobile embedded systems. In Proceedings of Fourth ACM International Conference on Embedded Software (EMSOFT). 64--73.]] Google ScholarGoogle Scholar
  41. Yuan, W. and Nahrstedt, K. 2003. Energy-efficient soft real-time CPU scheduling for mobile multimedia systems. In Proceedings of the ACM Symposium on Operating Systems Principles. ACM Press, New York. 149--163.]] Google ScholarGoogle Scholar
  42. Zhang, F. and Chanson, S. T. 2004. Blocking-aware processor voltage scheduling for real-time tasks. ACM Transactions on Embedded Computing Systems 3, 2 (May), 307--335.]] Google ScholarGoogle Scholar
  43. Zhang, X., Wang, Z., Gloy, N., Chen, J. B., and Smith, M. D. 1997. System support for automated profiling and optimization. In Proceedings of 16th Symposium on Operating Systems Principles. 15--26.]] Google ScholarGoogle Scholar
  44. Zhu, D., AbouGhazaleh, N., Mosse, D., and Melhem, R. 2002. Power aware scheduling for AND/OR graphs in multi-processor real-time systems. In Proceedings of The IEEE International Conference on Parallel Processing.]] Google ScholarGoogle Scholar

Index Terms

  1. Energy-efficient, utility accrual scheduling under resource constraints for mobile embedded systems

            Recommendations

            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
            About Cookies On This Site

            We use cookies to ensure that we give you the best experience on our website.

            Learn more

            Got it!