Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/339647.339660acmconferencesArticle/Chapter ViewAbstractPublication PagesiscaConference Proceedingsconference-collections
Article
Free access

A fully associative software-managed cache design

Published: 01 May 2000 Publication History

Abstract

As DRAM access latencies approach a thousand instruction-execution times and on-chip caches grow to multiple megabytes, it is not clear that conventional cache structures continue to be appropriate. Two key features—full associativity and software management—have been used successfully in the virtual-memory domain to cope with disk access latencies. Future systems will need to employ similar techniques to deal with DRAM latencies. This paper presents a practical, fully associative, software-managed secondary cache system that provides performance competitive with or superior to traditional caches without OS or application involvement. We see this structure as the first step toward OS- and application-aware management of large on-chip caches.
This paper has two primary contributions: a practical design for a fully associative memory structure, the indirect index cache (IIC), and a novel replacement algorithm, generational replacement, that is specifically designed to work with the IIC. We analyze the behavior of an IIC with generational replacement as a drop-in, transparent substitute for a conventional secondary cache. We achieve miss rate reductions from 8% to 85% relative to a 4-way associative LRU organization, matching or beating a (practically infeasible) fully associative true LRU cache. Incorporating these miss rates into a rudimentary timing model indicates that the IIC/generational replacement cache could be competitive with a conventional cache at today's DRAM latencies, and will outperform a conventional cache as these CPU-relative latencies grow.

References

[1]
A. Agarwal and S. D. Pudar. Column-Associative Caches: A Technique for Reducing the Miss Rate of Direct-Mapped Caches. In Proceedings of the 20th Annual International Symposium on Computer Architecture, May 1993, pp. 179-190.
[2]
A.W. Appel and K. Li. Virtual Memory Primitives for User Programs. In Proceedings of the Fourth International Conference on Architectural Support for Programming Languages and Operating Systems, April 1991, pp. 96-107.
[3]
L.A. Belady. A Study of Replacement Algorithms for a Virtual-Storage Computer. IBM Systems Journal, Vol. 5, No.2, 1966.
[4]
B.N. Bershad, D. Lee, T. H. Romer, and J. B. Chen. Avoiding Conflict Misses Dynamically in Large Direct-Mapped Caches. In Proceedings of the Sixth International Conference on Architectural Support for Programming Languages and Operating Systems, Oct. 1994, pp. 158-170.
[5]
J. Bruno, E. Gabber, B, Ozden, and A. Silberschatz. The Eclipse Operating System: Providing Quality of Service via Reservation Domains. USENIX 1998 Annual Technical Conference, June 1998, pp. 235-246.
[6]
E. Bugnion, J. M. Anderson, T. C. Mowry, M. Rosenblum and M. S. Lam. Compiler-Directed Page Coloring for Multiprocessors. In Proceedings of the Seventh International Conference on Architectural Support for Programming Languages and Operating Systems, Oct. 1996, pp. 244-255.
[7]
D. Burger. Measuring and Reducing the Performance Impact of Memory Traffic. PhD Thesis, University of Wisconsin- Madison, November 1998.
[8]
D.R. Cheriton, A. Gupta, R D. Boyle, and H. A. Goosen. The VMP Multiprocessor: Initial experience, Refinements and Performance Evaluation. In Proceedings of the 15th Annual International Symposium on Computer Architecture, June 1988, pp. 410-421.
[9]
G. Glass and R Cao. Adaptive Page Replacement Based on Memory Reference Behavior. In Proceedings of SIGMET- RICS 1997, May 1997, pp. 115-126.
[10]
L. Gwennap. Alpha 21364 to Ease Memory Bottleneck. Microprocessor Report, 12(14):12-15, Oct. 26, 1998.
[11]
L. Gwennap. Digital leads the pack with 21164. Microprocessor Report, 8(12):1-6, Sept. 12, 1994.
[12]
M. Heinrich et al. The Performance Impact of Flexibility in the Stanford FLASH Multiprocessor. In Proceedings of the Sixth International Conference on Architectural Support for Programming Languages and Operating Systems, October 1994, pp. 274-285.
[13]
M. Horowitz, M. Martonosi, T. C. Mowry, and M. D. Smith. Informing Memory Operations: Providing Memory Performance Feedback in Modern Processors. In Proceedings of the 24th Annual International Symposium on Computer Architecture, June 1997, pp. 252-263.
[14]
J. Huck and J. Hays. Architectural Support for Translation Table Management in Large Address Space Machines, In Proceedings of the 20th Annual International Symposium on Computer Architecture, May 1993, pp. 39-50.
[15]
B. Jacob and T. Mudge. Software-Managed Address Translation. In Proceedings of the 3rd Annual International Symposium on High-Performance Computer Architecture (HPCA), February 1997.
[16]
N. P. Jouppi. Improving Direct-Mapped Cache Performance by the Addition of a Small Fully-Associative Cache and Prefetch Buffers. In Proceedings of the 17th Annual Symposium on Computer Architecture, May 1990, pp. 364-373.
[17]
R. Kessler and M. Hill. Page Placement Algorithms for Large Real-indexed Caches. ACM Transactions on Computer Systems, 10(4), Nov. 1992.
[18]
S. Kumar and C. Wilkerson. Exploiting Spatial Locality in Data Caches using Spatial Footprints. In Proceedings of the 25th Annual International Symposium on Computer Architecture, July 1998.
[19]
H. Lieberman and C. Hewitt. A Real-Time Garbage Collector Based on the Lifetimes of Objects. CACM 26:6, June 1983, pp. 419-429.
[20]
E Machanick, P. Salverda, and L. Pompe. Hardware-Software Trade-Offs in a Direct Rambus Implementation of the RAM- page Memory Hierarchy. In Proceedings of the Eighth International Conference on Architectural Support for Programming Languages and Operating Systems, October 1998, pp. 105-114.
[21]
R. H. Patterson, G. Gibson, E. Ginting, D. Stodolsky, and J. Zelenka. Informed prefetching and caching. In Proceedings of the Fifteenth ACM Symposium on Operating Systems Principles, December 1995, p. 79-95.
[22]
J.-K. Peir, Y, Lee, and W. W. Hsu. Capturing Dynamic Memory Reference Behavior with Adaptive Cache Topology. In Proceedings of the Eighth International Conference on Architectural Support for Programming Languages and Operating Systems, October 1998, pp. 240-250.
[23]
A. Seznec. DASC Cache. In Proceedings of the 1st Annual International Symposium on High-Performance Computer Architecture (HPCA), Jan. 1995, pp. 134-143.
[24]
K. So and R. Rechtschaffen. Cache Operations by MRU Change. IEEE Transactions on Computers, 37:6, June 1988, pp. 700-708.
[25]
T. Sherwood, B. Calder, and J. Emer. Reducing Cache Misses Using Hardware and Software Page Placement. Proceedings of the International Conference on Supercomputing, June 1999.
[26]
A. S. Tanenbaum. Modern Operating Systems. Prentice Hall, Englewood Cliffs, NJ, p. 111 (1992).
[27]
K. C. Yeager. The MIPS R10000 Superscalar Microprocessor. IEEE Micro, 16:2, April 1996, pp. 28-41.

Cited By

View all
  • (2023)Boustrophedonic Frames: Quasi-Optimal L2 Caching for Textures in GPUs2023 32nd International Conference on Parallel Architectures and Compilation Techniques (PACT)10.1109/PACT58117.2023.00019(124-136)Online publication date: 21-Oct-2023
  • (2023)Are Randomized Caches Truly Random? Formal Analysis of Randomized-Partitioned Caches2023 IEEE International Symposium on High-Performance Computer Architecture (HPCA)10.1109/HPCA56546.2023.10071041(233-246)Online publication date: Feb-2023
  • (2023)ACIC: Admission-Controlled Instruction Cache2023 IEEE International Symposium on High-Performance Computer Architecture (HPCA)10.1109/HPCA56546.2023.10071033(165-178)Online publication date: Feb-2023
  • Show More Cited By

Index Terms

  1. A fully associative software-managed cache design

      Recommendations

      Comments

      Please enable JavaScript to view thecomments powered by Disqus.

      Information & Contributors

      Information

      Published In

      cover image ACM Conferences
      ISCA '00: Proceedings of the 27th annual international symposium on Computer architecture
      June 2000
      327 pages
      ISBN:1581132328
      DOI:10.1145/339647
      • cover image ACM SIGARCH Computer Architecture News
        ACM SIGARCH Computer Architecture News  Volume 28, Issue 2
        Special Issue: Proceedings of the 27th annual international symposium on Computer architecture (ISCA '00)
        May 2000
        325 pages
        ISSN:0163-5964
        DOI:10.1145/342001
        Issue’s Table of Contents
      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]

      Sponsors

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 01 May 2000

      Permissions

      Request permissions for this article.

      Check for updates

      Qualifiers

      • Article

      Conference

      ISCA00
      Sponsor:

      Acceptance Rates

      Overall Acceptance Rate 543 of 3,203 submissions, 17%

      Upcoming Conference

      ISCA '25

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)244
      • Downloads (Last 6 weeks)23
      Reflects downloads up to 02 Oct 2024

      Other Metrics

      Citations

      Cited By

      View all
      • (2023)Boustrophedonic Frames: Quasi-Optimal L2 Caching for Textures in GPUs2023 32nd International Conference on Parallel Architectures and Compilation Techniques (PACT)10.1109/PACT58117.2023.00019(124-136)Online publication date: 21-Oct-2023
      • (2023)Are Randomized Caches Truly Random? Formal Analysis of Randomized-Partitioned Caches2023 IEEE International Symposium on High-Performance Computer Architecture (HPCA)10.1109/HPCA56546.2023.10071041(233-246)Online publication date: Feb-2023
      • (2023)ACIC: Admission-Controlled Instruction Cache2023 IEEE International Symposium on High-Performance Computer Architecture (HPCA)10.1109/HPCA56546.2023.10071033(165-178)Online publication date: Feb-2023
      • (2022)CARL: Compiler Assigned Reference LeasingACM Transactions on Architecture and Code Optimization10.1145/349873019:1(1-28)Online publication date: 17-Mar-2022
      • (2022)TCOR: A Tile Cache with Optimal Replacement2022 IEEE International Symposium on High-Performance Computer Architecture (HPCA)10.1109/HPCA53966.2022.00055(662-675)Online publication date: Apr-2022
      • (2022)TEA-RC: Thread Context-Aware Register Cache for GPUsIEEE Access10.1109/ACCESS.2022.319614910(82049-82062)Online publication date: 2022
      • (2020)Fast software cache design for network appliancesProceedings of the 2020 USENIX Conference on Usenix Annual Technical Conference10.5555/3489146.3489191(657-671)Online publication date: 15-Jul-2020
      • (2020)RSMCC: Enabling Ring-based Software Managed Cache-Coherent Embedded SoCs2020 28th Euromicro International Conference on Parallel, Distributed and Network-Based Processing (PDP)10.1109/PDP50117.2020.00026(131-135)Online publication date: Mar-2020
      • (2019)Applying Deep Learning to the Cache Replacement ProblemProceedings of the 52nd Annual IEEE/ACM International Symposium on Microarchitecture10.1145/3352460.3358319(413-425)Online publication date: 12-Oct-2019
      • (2019)Efficient Heap Data Management on Software Managed Manycore Architectures2019 32nd International Conference on VLSI Design and 2019 18th International Conference on Embedded Systems (VLSID)10.1109/VLSID.2019.00065(269-274)Online publication date: Jan-2019
      • Show More Cited By

      View Options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Get Access

      Login options

      Media

      Figures

      Other

      Tables

      Share

      Share

      Share this Publication link

      Share on social media