Actas de congresos
A Segmented Bloom Filter Algorithm For Efficient Predictors
Registro en:
Proceedings - Symposium On Computer Architecture And High Performance Computing. , v. , n. , p. 123 - 130, 2008.
15506533
10.1109/SBAC-PAD.2008.24
2-s2.0-58049167634
Autor
Breternitz M.
Loh G.H.
Black B.
Rupley J.
Sassone P.G.
Attrot W.
Wu Y.
Institución
Resumen
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. © 2008 IEEE.
123 130 The 1st JILP Championship Branch Prediction Competition (CBP-1), , http://www.jilp.org/cbp Bloom, B.H., Space/Time Tradeoffs in Hash Coding with Allowable Errors (1970) Communications of the Association for Computing Machinery, 13 (7), pp. 422-426. , July Bratbergsengen, K., Hashing Methods and Relational Algebra Operations (1984) Proc. of 10th Int. Conf. on Very Large Databases, pp. 323-333. , August Dean, J., Ghemawar, S., MapReduce: Simplified Data Processing on Large Clusters (2004) OSDI 2004, pp. 137-150. , Usenix Assoc Ernst, D., Austin, T., Efficient Dynamic Scheduling Through Tag Elimination (2002) Proc. of 29th Int. Symp. on Comp. Arch, pp. 37-45. , Anchorage, AK, USA, May Fan, L., Cao, P., Almeida, J.M., Broder, A.Z., Summary Cache: A Scalable Wide-Area Web Cache Sharing Protocol (1998) Proc. of ACM SIG-COMM Conf. on Applications, Technologies, Architectures and Protocols for Computer Communication, pp. 254-265. , Vancouver, Canada, August Fields, B., Rubin, S., Bodík, R., Focusing Processor Policies via Critical-Path Prediction (2001) Proc. of 28th Int. Symp. on Comp. Arch, pp. 74-85. , Göteborg, Sweden, June Guthaus, M.R., Ringenberg, J.S., Ernst, D., Austin, T.M., Mudge, T., Brown, R.B., MiBench: A Free, Commerically Representative Embedded Benchmark Suite (2001) Proc. of 4th Workshop on Workload Characterization, pp. 83-94. , Austin, TX, USA, December Jacobson, E., Rotenberg, E., Smith, J.E., Assigning Confidence to Conditional Branch Predictions (1996) Proc. of 29th Int. Symp. on Microarchitecture, pp. 142-152. , Paris, France, December Larson, E., Chatterjee, S., Austin, T., MASE: A Novel Infrastructure for Detailed Microarchitectural Modeling (2001) Proc. of 2001 Int. Symp. on Performance Analysis of Systems and Software, pp. 1-9. , Tucson, AZ, USA, November Lee, C., Potkonjak, M., Mangione-Smith, W.H., MediaBench: A Tool for Evaluating and Synthesizing Multimedia and Communication Systems (1997) Proc. of 30th Int. Symp. on Microarchitecture, pp. 330-335. , Research Triangle Park, NC, USA, December Loh, G.H., Exploiting Data-Width Locality to Increase Superscalar Execution Bandwidth (2002) Proc. of 35th Int. Symp. on Microarchitecture, pp. 395-405. , Istanbul, Turkey, November Loh, G.H., Deconstructing the Frankenpredictor for Implementable Branch Predictors (2005) Journal of Instruction Level Parallelism, 7, pp. 1-10 McFarling, S., (1993) Combining Branch Predictors, p. 36. , TN, Compaq Computer Corporation Western Research Laboratory, June Michaud, P., PPM-like, A., Tag-Based Predictor (2005) Journal of Instruction Level Parallelism, 7, pp. 1-10 Michaud, P., Seznec, A., Uhlig, R., Trading Conflict and Capacity Aliasing in Conditional Branch Predictors (1997) Proc. of 24th Int. Symp. on Comp. Arch, pp. 292-303. , June Peir, J.-K., Lai, S.-C., Lu, S.-L., Stark, J., Lai, K., Bloom Filtering Cache Misses for Accurate Data Speculation and Prefetching (2002) Proc. of 16th Int. Conf. on Supercomputing, pp. 189-198. , June Perelman, E., Hamerly, G., Calder, B., Picking Statistically Valid and Early Simulation Points (2004) Proc. of 2003 Int. Conf. on Par. Arch. and Comp. Techniques, pp. 244-255. , September Rhea, S.C., Kubiatowicz, J., Probabilistic Location and Routing (2002) Proc. of 21st Annual Joint Conf. of the IEEE Computer and Communications Societies (INFOCOM), pp. 1248-1257. , June Roth, A., Store Vulnerability Window (SVW): Re-Execution Filtering for Enhanced Load Optimization (2005) Proc. of 32nd Int. Symp. on Comp. Arch, pp. 458-468. , June Sanchez, D., Yen, L., Hill, M.D., Sankaralingam, K., Implementing Signatures for Transactional Memory (2007) Proc. of 40th Int. Symp. on Microarchitecture, pp. 123-133. , Chicago, IL, December Sethumadhavan, S., Desikan, R., Burger, D., Moore, C.R., Keckler, S.W., Scalable Hardware Memory Disambiguation for High ILP Processors (2003) Proc. of 36th Int. Symp. on Microarchitecture, pp. 118-127. , May Seznec, A., Analysis of the O-GEometric History Length Branch Predictor (2005) Proc. of 32nd Int. Symp. on Comp. Arch, , Madison, WI, USA, June Yoaz, A., Erez, M., Ronen, R., Jourdan, S., Speculation Techniques for Improving Load Related Instruction Scheduling (1999) Proc. of 26th Int. Symp. on Comp. Arch, pp. 42-53. , Atlanta, GA, USA, June