skip to main content
article
Free Access

Compiler support for software-based cache partitioning

Authors Info & Claims
Published:01 November 1995Publication History
Skip Abstract Section

Abstract

Cache memories have become an essential part of modern processors to bridge the increasing gap between fast processors and slower main memory. Until recently, cache memories were thought to impose unpredictable execution time behavior for hard real-time systems. But recent results show that the speedup of caches can be exploited without a significant sacrifice of predictability. These results were obtained under the assumption that real-time tasks be scheduled non-preemptively.This paper introduces a method to maintain predictability of execution time within preemptive, cached real-time systems and discusses the impact on compilation support for such a system. Preemptive systems with caches are made predictable via software-based cache partitioning. With this approach, the cache is divided into distinct portions associated with a real-time task, such that a task may only use its portion. The compiler has to support instruction and data partitioning for each task. Instruction partitioning involves non-linear control-flow transformations, while data partitioning involves code transformations of data references. The impact on execution time of these transformations is also discussed.

References

  1. AMWH94 R. Arnold, F. Mueller, D. B. Whalley, and M. Harmon. Bounding worst-case instruction cache performance. In IEEE Symposium on Real-Time Systems, pages 172- 181, December 1994.Google ScholarGoogle ScholarCross RefCross Ref
  2. AT95 N. C. Audsley and K. W. Tindell. On priorities in fixed priority scheduling. TR 95- ???, Dept. of CS, Uppsala Univ. Sweden, May 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. GL91 Bill O. Gallmeister and Chris Lanier. Early experience with POSIX 1003.4 and POSIX 1003.4a. In IEEE Symposium on Real- Time Systems, pages 190-198, December 1991.Google ScholarGoogle Scholar
  4. Hil88 M. Hill. A case for direct-mapped caches. IEEE Computer, 21(11):25-40, December 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Hil92 D. Hildebrand. An architectural overview of QNX. In USENIX Workshop on Micro- Kernels and Other Kernel Architectures, pages 113-126, April 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Kir89 D. B. Kirk. SMART (strategic memory allocation for real-time) cache design. In IEEE Symposium on Real-Time Systems, pages 229-237, December 1989.Google ScholarGoogle Scholar
  7. LL73 C.L. Liu and James W. Layland. Scheduling algorithms for multiprogramming in a hard-real-time environment. Journal of the Association for Computing Machinery, 20(1):46-61, January 1973. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Mue94 F. Mueller. Static Cache Simulation and its Applications. PhD thesis, Dept. of CS, Florida State University, July 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. NNS91 D. Niehaus, E. Nahum, and J. A. Stankovic. Predictable real-time caching in the spring system. In IEEE Workshop on Real-Time Operating Systems and Software, pages 80-87, 1991.Google ScholarGoogle ScholarCross RefCross Ref
  10. Wol93 A. Wolfe. Software-based cache partitioning for real-time applications. In Workshop on Responsive Computer Systems, 1993.Google ScholarGoogle Scholar

Index Terms

  1. Compiler support for software-based cache partitioning

            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

            • Published in

              cover image ACM SIGPLAN Notices
              ACM SIGPLAN Notices  Volume 30, Issue 11
              Nov. 1995
              149 pages
              ISSN:0362-1340
              EISSN:1558-1160
              DOI:10.1145/216633
              Issue’s Table of Contents
              • cover image ACM Conferences
                LCTES '95: Proceedings of the ACM SIGPLAN 1995 workshop on Languages, compilers, & tools for real-time systems
                November 1995
                155 pages
                ISBN:9781450373081
                DOI:10.1145/216636

              Copyright © 1995 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: 1 November 1995

              Check for updates

              Qualifiers

              • article

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader