skip to main content
research-article

Parametric timing analysis and its application to dynamic voltage scaling

Published:07 January 2011Publication History
Skip Abstract Section

Abstract

Embedded systems with real-time constraints depend on a priori knowledge of worst-case execution times (WCETs) to determine if tasks meet deadlines. Static timing analysis derives bounds on WCETs but requires statically known loop bounds.

This work removes the constraint on known loop bounds through parametric analysis expressing WCETs as functions. Tighter WCETs are dynamically discovered to exploit slack by dynamic voltage scaling (DVS) saving 60% to 82% energy over DVS-oblivious techniques and showing savings close to more costly dynamic-priority DVS algorithms.

Overall, parametric analysis expands the class of real-time applications to programs with loop-invariant dynamic loop bounds while retaining tight WCET bounds.

References

  1. Aboughazaleh, N., Childers, B., Mosse, D., Melhem, R., and Craven, M. 2003. Energy management for real-time embedded applications with compiler support. In Proceedings of the Conference on Language, Compiler, and Tool Support for Embedded Systems. ACM, New York. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Aboughazaleh, N., Mosse, D., Childers, B., and Melhem, R. 2001. Toward the placement of power management points in real time applications. In Proceedings of the Workshop on Compilers and Operating Systems for Low-Power. ACM, New York. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Aboughazaleh, N., Mosse, D., Childers, B., Melhem, R., and Craven, M. 2003. Collaborative operating system and compiler power management for real-time applications. In Proceedings of the Real-Time Embedded Technology and Applications Symposium. IEEE, Los Alamitos, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Aho, A. V., Sethi, R., and Ullman, J. D. 1986. Compilers -- Principles, Techniques, and Tools. Addison-Wesley, Upper Saddle River, NJ. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. AL-Yaqoubi, N. 1997. Reducing timing analysis complexity by partitioning control flow. M.S. thesis, Florida State University.Google ScholarGoogle Scholar
  6. Anantaraman, A., Seth, K., Patil, K., Rotenberg, E., and Mueller, F. 2003. Virtual simple architecture (VISA): Exceeding the complexity limit in safe real-time systems. In Proceedings of the International Symposium on Computer Architecture. ACM, New York, 250--261. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Anantaraman, A., Seth, K., Patil, K., Rotenberg, E., and Mueller, F. 2004. Enforcing safety of real-time schedules on contemporary processors using a virtual simple architecture (visa). In Proceedings of the Real-Time Systems Symposium. IEEE, Los Alamitos, CA, 114--125. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Arnold, R., Mueller, F., Whalley, D. B., and Harmon, M. 1994. Bounding worst-case instruction cache performance. In Proceedings of the Real-Time Systems Symposium. IEEE, Los Alamitos, CA, 172--181.Google ScholarGoogle Scholar
  9. 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 the Real-Time Systems Symposium. IEEE, Los Alamitos, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Berg, C. 2006. Plru cache domino effects. In Proceedings of the 6th International Workshop on Worst-Case Execution Time Analysis. ACM, New York.Google ScholarGoogle Scholar
  11. Bernat, G. and Burns, A. 2000. An approach to symbolic worst-case execution time analysis. In Proceedings of the 25th IFAC Workshop on Real-Time Programming.Google ScholarGoogle Scholar
  12. Bernat, G., Colin, A., and Petters, S. 2002. WCET analysis of probabilistic hard real-time systems. In Proceedings of the Real-Time Systems Symposium. IEEE, Los Alamitos, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Brooks, D., Tiwari, V., and Martonosi, M. 2000. Watch: A framework for architectural-level power analysis and optimizations. In Proceedings of the 27th Annual International Symposium on Computer Architecture. IEEE, Los Alamitos, CA, 83--94. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Burger, D., Austin, T., and Bennett, S. 1996. Evaluating future microprocessors: The simplescalar toolset. Tech. rep. CS-TR-96-1308, University of Wisconsin.Google ScholarGoogle Scholar
  15. Byhlin, S., Ermedahl, A., Gustafsson, J., and Per, B. L. 2005. Applying static WCET analysis to automotive communication software. In Proceedings of the Euromicro Conference on Real-Time Systems. IEEE, Los Alamitos, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. C-LAB. Wcet benchmarks. http://www.c-lab.de/home/en/download.html.Google ScholarGoogle Scholar
  17. Chapman, R., Burns, A., and Wellings, A. 1996. Combining static worst-case timing analysis and program proof. Real-Time Syst. 11, 2, 145--171. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Chen, K., Malik, S., and August, D. I. 2001. Retargetable static-timing analysis for embedded software. In Proceedings of the International Symposium on System Synthesis. IEEE, Los Alamitos, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Colin, A. and Puaut, I. 2001. Worst-case execution time analysis for a processor with branch prediction. Real-Time Syst. 18, 2/3, 249--174. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Engblom, J. 2002. Processor pipelines and static worst-case execution time analysis. Ph.D. thesis, Dept. of Information Technology, Uppsala University.Google ScholarGoogle Scholar
  21. Engblom, J., Ermedahl, A., Sjdin, M., Gustafsson, J., and Hansson, H. 2001. Execution-time analysis for embedded real-time systems. Int. J. Softw. Tools Technol. Trans.Google ScholarGoogle Scholar
  22. Ferdinand, C. and Wilhelm, R. 1999. Efficient and precise cache behavior prediction for real-time systems. Real-Time Syst. 17, 2/3, 131--181. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Gheorghita, V. S., Stuijk, S., Basten, T., and Corporaal, H. 2005. Automatic scenario detection for improved WCET estimation. In Proceedings of the Design Automation Conference. ACM, New York. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Govil, K., Chan, E., and Wasserman, H. 1995. Comparing algorithms for dynamic speed-setting of a low-power cpu. In Proceedings of the 1st International Conference on Mobile Computing and Networking. ACM, New York. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Gruian, F. 2001. Hard real-time scheduling for low-energy using stochastic data and dvs processors. In Proceedings of the International Symposium on Low-Power Electronics and Design. IEEE, Los Alamitos, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Grunwald, D., Levis, P., III, C. M., Neufeld, M., and Farkas, K. 2000. Policies for dynamic clock scheduling. In Proceedings of the Symposium on Operating Systems Design and Implementation. USENIX, Berkeley, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Harmon, M., Baker, T. P., and Whalley, D. B. 1992. A retargetable technique for predicting execution time. In Proceedings of the Real-Time Systems Symposium. IEEE, Los Alamitos, CA, 68--77.Google ScholarGoogle Scholar
  28. Healy, C., Sjodin, M., Rustagi, V., Whalley, D., and Van Engelen, R. 2000. Supporting timing analysis by automatic bounding of loop iterations. Real-Time Syst. 18, 2/3, 121--148. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Healy, C. A., Arnold, R. D., Mueller, F., Whalley, D., and Harmon, M. G. 1999. Bounding pipeline and instruction cache performance. IEEE Trans. Comput. 48, 1, 53--70. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Healy, C. A., Sjödin, M., and Whalley, D. B. 1998. Bounding loop iterations for timing analysis. In Proceedings of the Real-Time Embedded Technology and Applications Symposium. IEEE, Los Alamitos, CA, 12--21. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Healy, C. A., Whalley, D. B., and Harmon, M. G. 1995. Integrating the timing analysis of pipelining and instruction caching. In Proceedings of the Real-Time Systems Symposium. IEEE, Los Alamitos, CA, 288--297. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Hergenhan, A. and Rosenstiel, W. 2000. Static-timing analysis of embedded software on advanced processor architectures. In Proceedings of the Design Automation Test in Europe. IEEE, Los Alamitos, CA, 552--559. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Jejurikar, R. and Gupta, R. 2005. Dynamic slack reclamation with procrastination scheduling in real-time embedded systems. In Proceedings of the Design Automation Conference. IEEE, Los Alamitos, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Jejurikar, R., Pereira, C., and Gupta, R. 2004. Leakage aware dynamic voltage scaling for real-time embedded systems. In Proceedings of the Design Automation Conference. IEEE, Los Alamitos, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Kang, D., Crago, S., and Suh, J. 2002. A fast resource synthesis technique for energy-efficient real-time systems. In Proceedings of the Real-Time Systems Symposium. IEEE, Los Alamitos, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Lee, C., Hahn, J., Seo, Y., Min, S., Ha, R., Hong, S., Park, C., Lee, M., and Kim, C. 1996. Analysis of cache-related preemption delay in fixed-priority preemptive scheduling. In Proceedings of the Real-Time Systems Symposium. IEEE, Los Alamitos, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Lee, C.-H. and Shin, K. G. 2004. On-line dynamic voltage scaling for hard real-time systems using the edf algorithm. In Proceedings of the Real-Time Embedded Technology and Applications Symposium. IEEE, Los Alamitos, CA.Google ScholarGoogle Scholar
  38. Lee, Y.-H. and Krishna, C. M. 2003. Voltage-clock scaling for low-energy consumption in fixed-priority real-time systems. Real-Time Syst. 24, 3, 303--317. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Li, Y.-T. S., Malik, S., and Wolfe, A. 1996. Cache modeling for real-time software: Beyond direct mapped instruction caches. In Proceedings of the Real-Time Systems Symposium. IEEE, Los Alamitos, CA, 254--263. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Lim, S.-S., Bae, Y. H., Jang, G. T., Rhee, B.-D., Min, S. L., Park, C. Y., Shin, H., and Kim, C. S. 1994. An accurate worst case timing analysis for RISC processors. In Proceedings of the Real-Time Systems Symposium. IEEE, Los Alamitos, CA, 97--108.Google ScholarGoogle Scholar
  41. Lisper, B. 2003. Fully automatic, parametric worst-case execution time analysis. In Proceedings of the International Workshop on Worst-Case Execution Time Analysis. 99--102.Google ScholarGoogle Scholar
  42. Liu, C. and Layland, J. 1973. Scheduling algorithms for multiprogramming in a hard-real-time environment. J. Assoc. Comput. Mach. 20, 1, 46--61. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Liu, Y. and Mok, A. K. 2003. An integrated approach for applying dynamic voltage scaling to hard real-time systems. In Proceedings of the 9th Real-Time and Embedded Technology and Applications Symposium. IEEE, Los Alamitos, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Lundqvist, K. and Wall, G. 1996. Using object oriented methods in Ada 95 to implement linda. In Proceedings of the Ada Europe International Conference on Reliable Software Technologies. Springer-Verlag, Berlin. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Malik, S., Martonosi, M., and Li, Y.-T. S. 1997. Static timing analysis of embedded software. In Proceedings of the 34th Conference on Design Automation. ACM, New York, 147--152. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. Mitra, T. and Roychoudhury, A. 2002. A framework to model branch prediction for wcet analysis. In Proceedings of the 2nd Workshop on Worst-Case Execution Time Analysis.Google ScholarGoogle Scholar
  47. Mohan, S., Mueller, F., Hawkins, W., Root, M., Healy, C., and Whalley, D. 2005. Para-scale: Exploiting parametric timing analysis for real-time schedulers and dynamic voltage scaling. In Proceedings of the Real-Time Systems Symposium. IEEE, Los Alamitos, CA, 233--242. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. Mosse, D., Aydin, H., Childers, B., and Melhem, R. 2000. Compiler-assisted dynamic power-aware scheduling for real-time applications. In Proceedings of the Workshop on Compilers and Operating Systems for Low-Power. ACM, New York.Google ScholarGoogle Scholar
  49. Mueller, F. 2000. Timing analysis for instruction caches. Real-Time Syst. 18, 2/3, 209--239. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. Park, C. Y. 1993. Predicting program execution times by analyzing static and dynamic program paths. Real-Time Syst. 5, 1, 31--61. Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. Pering, T., Burd, T., and Brodersen, R. 1995. The simulation of dynamic voltage scaling algorithms. In Proceedings of the Symposium on Low-Power Electronics. ACM, New York. Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. Pillai, P. and Shin, K. 2001. Real-time dynamic voltage scaling for low-power embedded operating systems. In Proceedings of the Symposium on Operating Systems Principles. Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. Puschner, P. and Koza, C. 1989. Calculating the maximum execution time of real-time programs. Real-Time Syst. 1, 2, 159--176. Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. Ramaprasad, H. and Mueller, F. 2006. Bounding preemption delay within data cache reference patterns for real-time tasks. In Proceedings of the Real-Time Embedded Technology and Applications Symposium. IEEE, Los Alamitos, CA, 71--80. Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. Saewong, S. and Rajkumar, R. 2003. Practical voltage-scaling for fixed-priority rt-systems. In Proceedings of the 9th Real-Time and Embedded Technology and Applications Symposium. IEEE, Los Alamitos, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. Schneider, J. 2000. Cache and pipeline sensitive fixed priority scheduling for preemptive real-time systems. In Proceedings of the Real-Time Systems Symposium. IEEE, Los Alamitos, CA, 195--204. Google ScholarGoogle ScholarDigital LibraryDigital Library
  57. Seth, K., Anantaraman, A., Mueller, F., and Rotenberg, E. 2003. Fast: Frequency-aware static timing analysis. In Proceedings of the Real-Time Systems Symposium. IEEE, Los Alamitos, CA, 40--51. Google ScholarGoogle ScholarDigital LibraryDigital Library
  58. Shin, D., Kim, J., and Lee, S. 2001. Intra-task voltage scheduling for low-energy hard real-time applications. In Proceedings of the Design and Test of Computers. IEEE, Los Alamitos, CA.Google ScholarGoogle Scholar
  59. 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. IEEE, Los Alamitos, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  60. Staschulat, J. and Ernst, R. 2004. Multiple process execution in cache related preemption delay analysis. In Proceedings of the International Conference on Embedded Software. ACM, New York. Google ScholarGoogle ScholarDigital LibraryDigital Library
  61. Staschulat, J., Schliecker, S., and Ernst, R. 2005. Scheduling analysis of real-time systems with precise modeling of cache related preemption delay. In Proceedings of the Euromicro Conference on Real-Time Systems. IEEE, Los Alamitos, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  62. Thesing, S., Souyris, J., Heckmann, R., and M. Langenbach, F. R.,Wilhelm, R., and Ferdinand, C. 2003. An abstract interpretation-based timing validation of hard real-time avionics. In Proceedings of the International Performance and Dependability Symposium. IEEE, Los Alamitos, CA.Google ScholarGoogle Scholar
  63. Unger, S. and Mueller, F. 2002. Handling irreducible loops: Optimized node splitting vs. dj-graphs. ACM Trans. Program. Lang. Syst. 24, 4, 299--333. Google ScholarGoogle ScholarDigital LibraryDigital Library
  64. Vera, X., Lisper, B., and Xue, J. 2003. Data-caches in multitasking hard real-time systems. In Proceedings of the Real-Time Systems Symposium. IEEE, Los Alamitos, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  65. Vivancos, E., Healy, C., Mueller, F., and Whalley, D. 2001. Parametric timing analysis. In Workshop on Language, Compiler, and Tool Support for Embedded Systems. ACM SIGPLAN Not. 36, 88--93. Google ScholarGoogle ScholarDigital LibraryDigital Library
  66. Wegener, J. and Mueller, F. 2001. A comparison of static analysis and evolutionary testing for the verification of timing constraints. Real-Time Syst. 21, 3, 241--268. Google ScholarGoogle ScholarDigital LibraryDigital Library
  67. Weiser, M., Welch, B., Demers, A., and Shenker, S. 1994. Scheduling for reduced cpu energy. In Proceedings of the 1st Symposium on Operating Systems Design and Implementation. USENIX, Berkeley, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  68. White, R., Mueller, F., Healy, C., Whalley, D., and Harmon, M. 1997. Timing analysis for data-caches and set-associative-caches. In Proceedings of the Real-Time Embedded Technology and Applications Symposium. IEEE, Los Alamitos, CA, 192--202. Google ScholarGoogle ScholarDigital LibraryDigital Library
  69. White, R. T., Mueller, F., Healy, C., Whalley, D., and Harmon, M. G. 1999. Timing analysis for data and wrap-around fill caches. Real-Time Syst. 17, 2/3, 209--233. Google ScholarGoogle ScholarDigital LibraryDigital Library
  70. Zhang, F. and Chanson, S. T. 2002. Processor voltage scheduling for real-time tasks with non-preemptable sections. In Proceedings of the Real-Time Systems Symposium. IEEE, Los Alamitos, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  71. Zhong, X. and Xu, C.-Z. 2005. Energy-aware modeling and scheduling of real-time tasks for dynamic voltage scaling. In Proceedings of the Real-Time Systems Symposium. IEEE, Los Alamitos, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  72. Zhu, Y. and Mueller, F. 2004. Feedback edf scheduling exploiting dynamic voltage scaling. In Proceedings of the Real-Time Embedded Technology and Applications Symposium. IEEE, Los Alamitos, CA, 84--93. Google ScholarGoogle ScholarDigital LibraryDigital Library
  73. Zhu, Y. and Mueller, F. 2005. Feedback edf scheduling exploiting hardware-assisted asynchronous dynamic voltage scaling. In Proceedings of the Conference on Language, Compiler, and Tool Support for Embedded Systems. ACM, New York, 203--212. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Parametric timing analysis and its application to dynamic voltage scaling

        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!