skip to main content
10.1145/1289881.1289917acmconferencesArticle/Chapter ViewAbstractPublication PagesesweekConference Proceedingsconference-collections
Article

Eliminating inter-process cache interference through cache reconfigurability for real-time and low-power embedded multi-tasking systems

Published:30 September 2007Publication History

ABSTRACT

We propose a technique which leverages configurable data caches to address the problem of cache interference in multitasking embedded systems. Data caches are often necessary to provide the required memory bandwidth. However, caches introduce two important problems for embedded systems. Cache outcomes in multi-tasking environments are notoriously difficult to predict, if not impossible, thus resulting in poor real-time guarantees. Additionally, caches contribute to a significant amount of power. These issues are key factors for many embedded systems. We study the effect of multiple tasks on the data cache, and propose a technique which leverages configurable cache architectures to eliminate inter-task cache interference. By mapping tasks to different cache partitions, interference is completely eliminated with only a minimal impact on performance. Furthermore, dynamic and leakage power are significantly reduced as only a subset of the cache is active at any moment. We introduce a profile-based, static analysis algorithm, which identifies a beneficial cache partitioning. The OS configures the data cache during context-switch by activating the corresponding partition.Our experiments on a large set of multitasking benchmarks demonstrate that our technique not only efficiently eliminates inter-task interference but also significantly reduces both dynamic and leakage power.

References

  1. A. Agarwal, J. Hennessy, and M. Horowitz. Cache performance of operating system and multiprogramming workloads. ACM Transactions on Computer Systems, 6(4):393--431, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. D. H. Albonesi. Selective cache ways: On-demand cache resource allocation. In International Symposium on Microarchitecture (MICRO), pages 248--259, November 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. M. Alt, C. Ferdinand, F. Martin, and R. Wilhelm. Cache behaviour prediction by abstract interpretation. In Static Analysis Symposium (SAS), pages 52--66, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. R. Arnold, F. Mueller, D. Whalley, and M. Harmon. Bounding worst-case instruction cache performance. In Real-Time Systems Symposium (RTSS), page 172--181, 1994.Google ScholarGoogle ScholarCross RefCross Ref
  5. T. Austin, E. Larson, and D. Ernst. Simplescalar: An infrastructure for computer system modeling. IEEE Computer, 35(2):59--67, February 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. D. Chandra, F. Guo, S. Kim, and Y. Solihin. Predicting inter-thread cache contention on a chip multi- processor architecture. In International Symposium on High-Performance Computer Architecture (HPCA), 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. H.-C. Chen and J.-S. Chiang. A highly configurable cache architecture for embedded systems. In Communications, Computers and signal Processing (PACRIM), pages 315--318, 2001.Google ScholarGoogle Scholar
  8. K. Flautner, N. Kim, S. Martin, D. Blaauw, and T. Mudge. Drowsy caches: simple techniques for reducing leakage power. In International Symposium on Computer Architecture (ISCA), pages 148--157, May 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. M. Guthaus, J. S. Ringenberg, D. Ernst, T. Austin, T. Mudge, and R. Brown. Mibench: A free, commercially representative embedded benchmark suite. In WWC-4: Workshop on Workload Characterization, pages 3--14, December 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. R. Heckmann, M. Langenbach, S. Thesing, and R. Wilhelm. The influence of processor architecture on the design and the results of wcet tools. Proceedings of the IEEE, 91 (7):1038--1054, July 2003.Google ScholarGoogle ScholarCross RefCross Ref
  11. J. Hu, M. Kandemir, N. Vijaykrishnan, and M. J. Irwin. Analyzing data reuse for cache reconfiguration. ACM Transactions on Embedded Computing Systems, 4(4):851--876, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. R. Kirner and P. Puschner. Transformation of path information for wcet analysis during compilation. In Euromicro Conference on Real-Time Systems (ECRTS), page 29, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. C. Lee, M. Potkonjak, and W. H. Mangione-Smith. Mediabench: A tool for evaluating and synthesizing multimedia and communications systems. In International Symposium on Microarchitecture (MICRO), pages 330--335, December 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Y. S. Li, S. Malik, and A. Wolfe. Cache modeling for real-time software. In IEEE Real-Time Systems Symposium,, pages 148--157, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. A. Malik, B. Moyer, and D. Cermak. A low-power unified cache architecture providing power and performance flexibility. In International Symposium on Low Power Electronics and Design (ISLPED), pages 241--243, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. J. Mogul and A. Borg. The effect of context switches on cache performance. In International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), pages 75--84, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. F. Mueller. Compiler support for software-based cache partitioning. In Languages, Compilers, and Tools for Embedded Systems (LCTES), pages 125--133, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. M. Powell, S.-H. Yang, B. Falsa., K. Roy, and T. N. Vijaykumar. Gated-vdd: a circuit technique to reduce leakage in deep-submicron cache memories. In International Symposium on Low Power Electronics and Design (ISLPED), pages 90--95, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. M. Powell, S.-H. Yang, B. Falsa., K. Roy, and T. N. Vijaykumar. An integrated circuit/architecture approach to reducing leakage in deep-submicron high-performance i-caches. In International Symposium on High - Performance Computer Architecture (HPCA), pages 147--157, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. J. Starner and L. Asplund. Measuring the cache interference cost in preemptive real-time systems. In Languages, Compilers, and Tools for Embedded Systems (LCTES), pages 146--154, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Y. Tan and I. V. J. Mooney. Wcrt analysis for a uniprocessor with a unified prioritized cache. In Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES), pages 175--182, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. K. Tanaka. Fast context switching by hierarchical task allocation and reconfigurable cache. In Innovative Architecture of Future Generation High-Performance Processors and Systems (IWIA), 2003.Google ScholarGoogle ScholarCross RefCross Ref
  23. D. Tarjan, S. Thoziyoor, and N. Jouppi. Cacti 4.0: An integrated cache timing, power and area model. Technical report, HP Laboratories Palo Alto, June 2006.Google ScholarGoogle Scholar
  24. X. Vera, B. Lisper, and X. Jingling. Data caches in multitasking hard real-time systems. In Real-Time Systems Symposium (RTSS), pages 145--165, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. S. Wang and L. Wang. Thread-associative memory for multicore and multithreaded computing. In International Symposium on Low-Power Electronics and Design (ISLPED), pages 139--142, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. A. Wolfe. Software-based cache partitioning for real-time applications. Journal of Computer and Software Engineering, 2(3):315--327, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. S.-H. Yang, B. Falsa., M. D. Powell, and T. N. Vijaykumar. Exploiting choice in resizable cache design to optimize deep-submicron processor energy-delay. Symposium on High-Performance Computer Architecture (HPCA), 00:0151, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. C. Zhang, F. Vahid, and R. Lysecky. A self-tuning cache architecture for embedded systems. ACM Transactions on Embedded Computing Systems, 3(2):407--425, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. C. Zhang, F. Vahid, and W. Najjar. A highly configurable cache architecture for embedded systems. In International Symposium on Computer Architecture (ISCA), pages 136--146, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Eliminating inter-process cache interference through cache reconfigurability for real-time and low-power embedded multi-tasking 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
        • Published in

          cover image ACM Conferences
          CASES '07: Proceedings of the 2007 international conference on Compilers, architecture, and synthesis for embedded systems
          September 2007
          292 pages
          ISBN:9781595938268
          DOI:10.1145/1289881

          Copyright © 2007 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 30 September 2007

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • Article

          Acceptance Rates

          Overall Acceptance Rate52of230submissions,23%

          Upcoming Conference

          ESWEEK '24
          Twentieth Embedded Systems Week
          September 29 - October 4, 2024
          Raleigh , NC , USA

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader