A Segmented Bloom Filter Algorithm for Efficient Predictors

被引:8
作者
Breternitz, M. [1 ]
Loh, Gabriel H. [2 ]
Black, Bryan [3 ]
Rupley, Jeffrey [3 ]
Sassone, Peter G. [1 ]
Attrot, Wesley [4 ]
Wu, Youfeng [1 ]
机构
[1] Intel Corp, Santa Clara, CA 95051 USA
[2] Georgia Tech, Coll Comp, Atlanta, GA USA
[3] AMD, Sunnyvale, CA USA
[4] Univ Estadual Campinas, Campinas, SP, Brazil
来源
20TH INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE AND HIGH PERFORMANCE COMPUTING, PROCEEDINGS | 2008年
关键词
D O I
10.1109/SBAC-PAD.2008.24
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Bloom Filters are a technique to reduce the effects of conflicts/interference in hash table-like structures. Conventional hash tables store information in a single location which is susceptible to destructive interference through hash conflicts. A Bloom Filter uses multiple hash functions to store information in several locations, and recombines the information through some voting mechanism. Many microarchitectural predictors use simple single-index hash tables to make binary 0/1 predictions, and Bloom Filters help improve predictor accuracy However implementing a true Bloom Filter requires k hash functions, which in turn implies a k-ported hash table, or k sequential accesses. Unfortunately, the area of a hardware table increases quadratically with the port count, increasing costs of area, latency and power consumption. We propose a simple but elegant modification to the Bloom Filter algorithm that uses banking combined with special hash functions that guarantee all hash indexes fall into non-conflicting banks. We evaluate several applications of our Banked Bloom Filter (BBF) prediction in processors: BBF branch prediction, BBF load hit/miss prediction, and BBF last-tag prediction. We show that BBF predictors can provide accurate predictions with substantially less cost than previous techniques.
引用
收藏
页码:123 / +
页数:2
相关论文
共 24 条
[1]  
[Anonymous], 2005, Journal of Instruction Level Parallelism
[2]   SPACE/TIME TRADE/OFFS IN HASH CODING WITH ALLOWABLE ERRORS [J].
BLOOM, BH .
COMMUNICATIONS OF THE ACM, 1970, 13 (07) :422-&
[3]  
BRATBERGSENGEN K, 1984, P 10 INT C VER LARG, P323
[4]  
Dean J, 2004, USENIX ASSOCIATION PROCEEDINGS OF THE SIXTH SYMPOSIUM ON OPERATING SYSTEMS DESIGN AND IMPLEMENTATION (OSDE '04), P137
[5]  
Ernst D, 2002, CONF PROC INT SYMP C, P37
[6]  
Fields B, 2001, CONF PROC INT SYMP C, P74, DOI 10.1109/ISCA.2001.937434
[7]  
GUTHAUS MR, 2001, P 4 WORKSH WORKL CHA, P83
[8]   Assigning confidence to conditional branch predictions [J].
Jacobsen, E ;
Rotenberg, E ;
Smith, JE .
PROCEEDINGS OF THE 29TH ANNUAL IEEE/ACM INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE - MICRO-29, 1996, :142-152
[9]  
Larson E, 2001, INT SYM PERFORM ANAL, P1
[10]   MediaBench: A tool for evaluating and synthesizing multimedia and communications systems [J].
Lee, CH ;
Potkonjak, M ;
Mangione-Smith, WH .
THIRTIETH ANNUAL IEEE/ACM INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE, PROCEEDINGS, 1997, :330-335