skip to main content
research-article

Dynamic Cache Reconfiguration for Soft Real-Time Systems

Published:01 July 2012Publication History
Skip Abstract Section

Abstract

In recent years, efficient dynamic reconfiguration techniques have been widely employed for system optimization. Dynamic cache reconfiguration is a promising approach for reducing energy consumption as well as for improving overall system performance. It is a major challenge to introduce cache reconfiguration into real-time multitasking systems, since dynamic analysis may adversely affect tasks with timing constraints. This article presents a novel approach for implementing cache reconfiguration in soft real-time systems by efficiently leveraging static analysis during runtime to minimize energy while maintaining the same service level. To the best of our knowledge, this is the first attempt to integrate dynamic cache reconfiguration in real-time scheduling techniques. Our experimental results using a wide variety of applications have demonstrated that our approach can significantly reduce the cache energy consumption in soft real-time systems (up to 74%).

References

  1. Andersson, B., Bletsas, K., and Baruah, S. 2008. Scheduling arbitrary-deadline sporadic task systems on multiprocessors. In Proceedings of the Real-Time Systems Symposium. 385--394. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Benini, L., Bogliolo, R., and Micheli, G. D. 2000. A survey of design techniques for system-level dynamic power management. IEEE Trans. VLSI Syst. 8, 299--316. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Burger, D., Austin, T. M., and Bennett, S. 1996. Evaluating future microprocessors: The simplescalar tool set. Tech. rep., University of Wisconsin-Madison, Madison, WI.Google ScholarGoogle Scholar
  4. Buttazzo, G. 1995. Hard Real-Time Computing Systems. Kluwer, Berlin, Heidelberg.Google ScholarGoogle Scholar
  5. EEMBC. 2000. EEMBC, The Embedded Microprocessor Benchmark Consortium. http://www.eembc.org.Google ScholarGoogle Scholar
  6. Gordon-Ross, A. and Vahid, F. 2004. Automatic tuning of two-level caches to embedded applications. In Proceedings of the Design, Automation and Test in Europe Conference. 208--213. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Gordon-Ross, A., Vahid, F., and Dutt, N. 2005. Fast configurable-cache tuning with a unified second-level cache. In Proceedings of the International Symposium on Low Power Electronics and Design (ISLPED’05). 323--326. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Gordon-Ross, A., Viana, P., Vahid, F., Najjar, W., and Barros, E. 2007. A one-shot configurable-cache tuner for improved energy and performance. In Proceedings of the Design, Automation and Test in Europe Conference. 755--760. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Hennessy, J. and Patterson, D. 2003. Computer Architecture: A Quantitative Approach. Morgan Kaufmann Publishers, Waltham, MA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Hong, I., Kirovski, D., Qu, G., Potkonjak, M., and Srivastava, M. B. 1999. Power optimization of variable-voltage core-based systems. IEEE Trans. Comput.-Aided Des. Integr. Cir. Syst. 18, 1702--1714. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Hong, S., Yoo, S., Jin, H., Choi, K., Kong, J., and Eo, S. 2006. Runtime distribution-aware dynamic voltage scaling. In Proceedings of the International Conference on Computer-Aided Design. 587--594. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. HP. 2008. CACTI, HP Laboratories Palo Alto, CACTI 5.3. http://www.hpl.hp.com/.Google ScholarGoogle Scholar
  13. Hu, J. and Marculescu, R. 2004. Energy-aware communication and task scheduling for network-on-chip architectures under real-time constraints. In Proceedings of the Design, Automation and Test in Europe Conference. 234--239. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Jejurikar, R. and Gupta, R. 2005. Dynamic slack reclamation with procrastination scheduling in real-time embedded systems. In Proceedings of the Design Automation Conference. 111--116. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Jejurikar, R. and Gupta, R. 2006. Energy-aware task scheduling with task synchronization for embedded real-time systems. IEEE Trans. Comput.-Aided Des. Integr. Cir. Syst. 25, 1024--1037. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Jejurikar, R., Pereira, C., and Gupta, R. K. 2004. Leakage aware dynamic voltage scaling for real-time embedded systems. In Proceedings of the Design Automation Conference. 275--280. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Kim, H., Somani, A. K., and Tyagi, A. 2000. A reconfigurable multi-function computing cache architecture. In Proceedings of the International Symposium on Field Programmable Gate Arrays. 85--94. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Lee, C., Potkonjak, M., and Mangione-smith, W. H. 1997. Mediabench: A tool for evaluating and synthesizing multimedia and communications systems. In Proceedings of the International Symposium on Microarchitecture. 330--335. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Leung, L., Tsui, C., and Hu, X. S. 2005. Exploiting dynamic workload variation in low energy preemptive task scheduling. In Proceedings of the Design, Automation and Test in Europe Conference. 634--639. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Liu, J. 2000. Real-Time Systems. Prentice Hall, Upper Saddle River, NJ.Google ScholarGoogle Scholar
  21. Malik, A., Moyer, B., and Cermak, D. 2000. A low power unified cache architecture providing power and performance flexibility. In Proceedings of the International Symposium on Low Power Electronics and Design. 241--243. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Modarressi, M., Hessabi, S., and Goudarzi, M. 2006. A reconfigurable cache architecture for object-oriented embedded systems. In Proceedings of the Canadian Conference on Electrical and Computer Engineering. 959--962.Google ScholarGoogle Scholar
  23. Nacul, A. C. and Givargis, T. 2004. Dynamic voltage and cache reconfiguration for low power. In Proceedings of the Design, Automation and Test in Europe Conference. 21376. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Oh, S., Kim, J., Kim, S., and Kyung, C. 2008. Task partitioning algorithm for intra-task dynamic voltage scaling. In Proceedings of the International Symposium on Circuits and Systems. 1228--1231.Google ScholarGoogle Scholar
  25. Puant, I. 2002. Cache analysis vs static cache locking for schedulability analysis in multitasking real-time systems. In Proceedings of the International Workshop on Worst-Case Execution Time Analysis.Google ScholarGoogle Scholar
  26. Puant, I. and Decotigny, D. 2002. Low-complexity algorithms for static cache locking in multitasking hard real-time systems. In Proceedings of the IEEE Real-Time Systems Symposium. 114--125. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Puant, I. and Pais, C. 2007. Scratchpad memories vs locked caches in hard real-time systems: A quantitative comparison. In Proceedings of the Design, Automation and Test in Europe Conference. 1484--1489. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Quan, G. and Hu, X. S. 2007. Energy efficient dvs schedule for fixed-priority real-time systems. ACM Trans. Des. Autom. Electron. Syst. 6, 1--30.Google ScholarGoogle Scholar
  29. Rong, P. and Pedram, M. 2008. Energy-aware task scheduling and dynamic voltage scaling in a real-time system. J. Low Power Electron. 4, 1--10.Google ScholarGoogle ScholarCross RefCross Ref
  30. Segars, S. 2001. Low power design techniques for microprocessors. In Proceedings of the International Solid State Circuit Conference.Google ScholarGoogle Scholar
  31. Seo, J., Kim, T., and Chung, K. 2004. Profile-based optimal intra-task voltage scheduling for hard real-time applications. In Proceedings of the Design Automation Conference. 87--92. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Settle, A., Connors, D., and Gibert, E. 2006. A dynamically reconfigurable cache for multithreaded processors. J. Embed. Comput. 2, 221--233. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Sherwood, T., Perelman, E., Hamerly, G., Sair, S., and Calder, B. 2003. Discovering and exploiting program phases. In Proceedings of the International Symposium on Microarchitecture. 84--93.Google ScholarGoogle Scholar
  34. Shin, D., Kim, J., and Lee, S. 2001. Low-energy intra-task voltage scheduling using static timing analysis. In Proceedings of the Design Automation Conference. 438--443. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Sprunt, B. 1990. Aperiodic task scheduling for real-time systems. Ph.D. dissertation, Carnegie Mellon University, Pittsburg, PA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. 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. 41--48. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Tan, Y. and Mooney, V. J. 2007. Timing analysis for preemptive multitasking real-time systems with caches. ACM Trans. Embed. Comput. Syst. 6, 7. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Varma, A., Debes, E., Kozintsev, I., and Jacob, B. 2005. Instruction-level power dissipation in the intel xscale embedded microprocessor. In Proceedings of the SPIE 17th Annual Symposium on Electronic Imaging Science & Technology.Google ScholarGoogle Scholar
  39. Wang, W. and Mishra, P. 2009. Dynamic reconfiguration of two-level caches in soft real-time embedded systems. In Proceedings of the IEEE Computer Society Annual Symposium on VLSI. 145--150. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Wolfe, A. 1993. Software-based cache partitioning for real-time applications. In Proceedings of the International Workshop on Responsive Computer Systems.Google ScholarGoogle Scholar
  41. Zhang, C., Vahid, F., and Lysecky, R. 2004. A self-tuning cache architecture for embedded systems. In Proceedings of the Design, Automation and Test in Europe Conference. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Zhang, C., Vahid, F., and Najjar, W. 2005. A highly configurable cache for low energy embedded systems. ACM Trans. Embed. Comput. Syst. 6, 362--387. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Zhang, S., Chatha, K., and Konjevod, G. 2007. Approximation algorithms for power minimization of earliest deadline first and rate monotonic schedules. In Proceedings of the International Symposium on Low Power Electronics and Design. 225--230. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Zhong, X. and Xu, C. 2005. Energy-aware modeling and scheduling of real-time tasks for dynamic voltage scaling. In Proceedings of the International Real-Time Systems Symposium. 366--375. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Dynamic Cache Reconfiguration for Soft Real-Time 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!