skip to main content
article
Free access

Exploiting spatial locality in data caches using spatial footprints

Published: 16 April 1998 Publication History

Abstract

Modern cache designs exploit spatial locality by fetching large blocks of data called cache lines on a cache miss. Subsequent references to words within the same cache line result in cache hits. Although this approach benefits from spatial locality, less than half of the data brought into the cache gets used before eviction. The unused portion of the cache line negatively impacts performance by wasting bandwidth and polluting the cache by replacing potentially useful data that would otherwise remain in the cache.This paper describes an alternative approach to exploit spatial locality available in data caches. On a cache miss, our mechanism, called Spatial Footprint Predictor (SFP), predicts which portions of a cache block will get used before getting evicted. The high accuracy of the predictor allows us to exploit spatial locality exhibited in larger blocks of data yielding better miss ratios without significantly impacting the memory access latencies. Our evaluation of this mechanism shows that the miss rate of the cache is improved, on average, by 18% in addition to a significant reduction in the bandwidth requirement.

References

[1]
S. G. Abraham, R. A. Sugumar, D. Windheiser, B. R. Rau, and R. Gupta. Predictability of load/store instruction latencies. In Proceedings of the 26th Annual International Symposium on Microarchitecture, pages 139-152, Austin, Texas, December 1-3, 1993.
[2]
J.-L. Baer and T.-F. Chen. An effective on-chip preloading chip scheme to reduce data access penalty, in Proceedings of Supercomputing, 1991.
[3]
K. Bolland and A. Dollas. Predicting and precluding problems with memory latency. In IEEE Micro, pages 59-66, August, 1994.
[4]
D. Burger, J. R. Goodman, and A. Kfigi. Memory bandwidth limitations of future microprocessors. In Proceedings of the 23rd Annual International Symposium on Computer Architecture, pages 78-89, Philadelphia, PA, May 22-24, 1996.
[5]
W. Y. Chen, A. A. Mahlke, P. P. Chang, and W. W. Hwu. Data access microarchitectures for superscalar processors with compiler-assisted data prefetching. In Proceedings of Microcomputing 24, 1991.
[6]
A. Gonz~ilez, C. Aliagas, and M. Valero. A data cache with multiple caching strategies tuned to different types of locality. In Proceedings of International Conference on Supercomputing, pages 338-347, Barcelona, Spain, July, 1995.
[7]
T. Johnson, M. Merten, and W. mei W. Hwu. Run-time spatial locality detection and optimization. In Proceedings of the 30th Annual International Symposium on Microarchitecture, pages 57-64, Research Triangle Park, NC, 1997.
[8]
T. L. Johnson and W. mei W. Hwu. Run-time adaptive cache hierarchy management via reference analysis. In Proceedings of the 24rd Annual International Symposium on Computer Architecture, pages 315-326, Denver, Colorado, 1997.
[9]
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 International Symposium on Computer Architecture, pages 364- 373, Seattle, Washington, May 28-31, 1990.
[10]
M. H. Lipasti, W. J. Schmidt, S. R. Kunkel, and R. R. Roediger. SPAID: Software prefetching in pointer- and callintensive environments. In Proceedings of the 28th Annual International Symposium on Microarchitecture, pages 231- 236, Ann Arbor, Michigan, 1995.
[11]
L. Liu. Cache designs with partial address matching. In Proceedings of the 27th Annual International Symposium on Microarchitecture, pages 128-136, San Jose, California, November 30-December 2, 1994.
[12]
C.-K. Luk and T. C. Mowry. Compiler-based prefetching for recursive data structures. In Proceedings of the Seventh International Conference on Architectural Support for Programming Languages and Operating Systems, pages 222- 233, Cambridge, MA, October 1-5, 1996.
[13]
T. C. Mowry, M. S. Lam, and A. Gupta. Design and evaluation of a compiler algorithm for prefetching. In Proceedings of the Fifth International Conference on Architectural Support for Programming Languages and Operating Systems, pages 62-73, Boston, Massachusetts, October 12-15, 1992.
[14]
S. Przybylski. The performance impact of block sizes and fetch strategies. In Proceedings of the 17th Annual International Symposium on Computer Architecture, pages 160- 169, Seattle, Washington, May 28-31, 1990.
[15]
A. Seznec. Decoupled sectored caches: Conciliating low tag implementation cost and low miss ratio. In Proceedings of the 21st Annual International Symposium on Computer Architecture, pages 384-393, Chicago, IL, April, 1994.
[16]
A.J. Smith. Cache memories. In Computing Surveys, pages 473-530, vol. 14, no. 3, 1982.
[17]
A. J. Smith. Line (block) size choice for cpu cache memories. In IEEE Transactions on Computers, pages 1063-1075, vol. C-36, 1987.
[18]
G. Tyson, M. Farrens, J. Matthews, and A. R. Pleszkun. A modified approach to data cache management. In Proceedings of the 28th Annual International Symposium on Microarchitecture, pages 93-103, Ann Arbor, Michigan, 1995.

Cited By

View all
  • (2024)Sectored DRAM: A Practical Energy-Efficient and High-Performance Fine-Grained DRAM ArchitectureACM Transactions on Architecture and Code Optimization10.1145/3673653Online publication date: 14-Jun-2024
  • (2024)Constable: Improving Performance and Power Efficiency by Safely Eliminating Load Instruction Execution2024 ACM/IEEE 51st Annual International Symposium on Computer Architecture (ISCA)10.1109/ISCA59077.2024.00017(88-102)Online publication date: 29-Jun-2024
  • (2024)Accelerating Graph Analytics Using Attention-Based Data PrefetcherSN Computer Science10.1007/s42979-024-02989-w5:5Online publication date: 13-Jun-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGARCH Computer Architecture News
ACM SIGARCH Computer Architecture News  Volume 26, Issue 3
Special Issue: Proceedings of the 25th annual international symposium on Computer architecture (ISCA '98)
June 1998
379 pages
ISSN:0163-5964
DOI:10.1145/279361
Issue’s Table of Contents
  • cover image ACM Conferences
    ISCA '98: Proceedings of the 25th annual international symposium on Computer architecture
    April 1998
    402 pages
    ISBN:0818684917

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 16 April 1998
Published in SIGARCH Volume 26, Issue 3

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)187
  • Downloads (Last 6 weeks)27
Reflects downloads up to 31 Dec 2024

Other Metrics

Citations

Cited By

View all

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media