Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/2591635.2667183acmconferencesArticle/Chapter ViewAbstractPublication PagesicsConference Proceedingsconference-collections
research-article

Bloom filtering cache misses for accurate data speculation and prefetching

Published: 22 June 2002 Publication History

Abstract

A processor must know a load instruction's latency to schedule the load's dependent instructions at the correct time. Unfortunately, modern processors do not know this latency until well after the dependent instructions should have been scheduled to avoid pipeline bubbles between themselves and the load. One solution to this problem is to predict the load's latency, by predicting whether the load will hit or miss in the data cache. Existing cache hit/miss predictors, however, can only correctly predict about 50% of cache misses.This paper introduces a new hit/miss predictor that uses a Bloom Filter to identify cache misses early in the pipeline. This early identification of cache misses allows the processor to more accurately schedule instructions that are dependent on loads and to more precisely prefetch data into the cache. Simulations using a modified SimpleScalar model show that the proposed Bloom Filter is nearly perfect, with a prediction accuracy greater than 99% for the SPECint2000 benchmarks. IPC (Instructions Per Cycle) performance improved by 19% over a processor that delayed the scheduling of instructions dependent on a load until the load latency was known, and by 6% and 7% over a processor that always predicted a load would hit the cache and with a counter-based hit/miss predictor respectively. This IPC reaches 99.7% of the IPC of a processor with perfect scheduling.

References

[1]
Compaq Computer Corporation. Alpha 21264 Microprocessor Hardware Reference Manual, 1999.
[2]
B. Bloom. Space/Time Tradeoffs in Hash Coding with Allowable Errors. Communications of The ACM, 13(7):422--426, 1970.
[3]
D. Burger and T. Austin. The SimpleScalar Tool Set, Version 2.0. Technical Report #1342, CS Department, Univ. of Wisconsin-Madison, June 1997.
[4]
B. Calder, D. Grunwald, and J. Emer. Predictive Sequential Associative Cache. Proc. of 2nd Int'l Symp. on High Performance Computer Architecture, 1996.
[5]
G. Chrysos and J. Emer. Memory Dependence Prediction using Store Sets. Proc. of 25th Int'l Symp. on Computer Architecture, 1998.
[6]
P. Glaskowsky. Pentium 4 (Partially) Previewed. Microprocessor Report, Aug. 2000.
[7]
G. Hinton, D. Sager, M. Upton, D. Boggs, D. Carmean, A. Kyker, and P. Roussel. The Microarchitecture of the Pentium 4 Processor. Intel Technical Journal, Q1 2001.
[8]
R. Kessler, R. Jooss, A. Lebeck, and M. Hill. Inexpensive Implementations of Set-Associativity. Proc. of 16th Int'l Symp. on Computer Architecture, 1989.
[9]
R. Kessler. The Alpha 21264 Microprocessor. IEEE Micro, 19(2):24--36, 1999.
[10]
L. Liu. Cache Design with Partial Address Matching. Proc. of 27th Int'l Symp. on Microarchitecture, 1994.
[11]
E. Morancho, J. Llabería, and A. Olivé. Recovery Mechanism for Latency Misprediction. Proc. of 10th Int'l Conf. on Parallel Architectures and Compilation Techniques, 2001.
[12]
A. Moshovos, G. Memik, B. Falsafi, and A. Choudhary. Jetty: Filtering Snoops for Reduced Energy Consumption in SMP Servers. Proc. of 7th Int'l Symp. on High Performance Computer Architecture, 2001.
[13]
D. Papworth. Tuning the Pentium Pro Microarchitecture. IEEE Micro, 16(2):8--15, 1996.
[14]
K. Yeager. The MIPS R10000 Superscalar Microprocessor. IEEE Micro, 16(2):28--41, 1996.
[15]
A. Yoaz, M. Erez, R. Ronen, and S. Jourdan. Speculation Techniques for Improving Load Related Instruction Scheduling. Proc. of 26th Int'l Symp. on Computer Architecture, 1999.

Cited By

View all

Index Terms

  1. Bloom filtering cache misses for accurate data speculation and prefetching

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ACM International Conference on Supercomputing 25th Anniversary Volume
    June 2014
    94 pages
    ISBN:9781450328401
    DOI:10.1145/2591635
    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: 22 June 2002

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. bloom filter
    2. data cache
    3. data prefetching
    4. data speculation
    5. instruction scheduling

    Qualifiers

    • Research-article

    Acceptance Rates

    Overall Acceptance Rate 629 of 2,180 submissions, 29%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

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

    Other Metrics

    Citations

    Cited By

    View all

    View Options

    Get Access

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media