Studying New Ways for Improving Adaptive History Length Branch Predictors
Pipeline stalls due to branches limit processor performance significantly. This paper provides an in depth evaluation of Dynamic History Length Fitting, a technique that changes the history length of a two-level branch predictor during the execution, trying to adapt to its different phases. We analyse the behaviour of DHLF compared with fixed history length gshare predictors, and contribute showing two factors that explain DHLF behaviour: Opportunity Cost and Warm-up Cost.
Additionally, we evaluate the use of profiling for detecting future improvements. Using this information, we show that new heuristics that minimise both opportunity cost and warm-up cost could outperform significantly current variable history length techniques. Especially at program start-up, where the algorithm tries to learn the behaviour of the program to better predict future branches, the use of profiling reduces considerably the cost produced by continuous history length changes.
Keywordsbranch prediction dynamic history length warm-up opportunity cost
Unable to display preview. Download preview PDF.
- 1.P.-Y. Chang, E. Hao, T.-Y. Yeh and Y. N. Patt. Branch classification: a new mechanism for improving branch predictor performance. Proceedings of the 27th Intl. Symp. on Microarchitecture, pp 22–31, 1994.Google Scholar
- 2.A. Falcón, O. J. Santana, P. Medina, E. Fernández, A. Ramirez and M. Valero. Analysis of dynamic history length changes effect in two-level branch predictors. Technical Report UPC-DAC-2002, Universitat Politècnica de Catalunya, 2002.Google Scholar
- 3.T. Juan, S. Sanjeevan and J. J. Navarro. Dynamic history-length fitting: A third level of adaptivity for branch prediction. Proceedings of the 25th Intl. Symp. on Computer Architecture, pp 155–166, June 1998.Google Scholar
- 4.Ch.-Ch. Lee, I-Ch. K. Chen and T.r N. Mudge. The bi-mode branch predictor. Proceedings of the 30th Intl. Symp. on Microarchitecture, pp 4–13, December 1997.Google Scholar
- 5.S. McFarling. Combining branch predictors. TN-36, Compaq WRL, June 1993.Google Scholar
- 6.P. Michaud, A. Seznec and R. Uhlig. Trading conflict and capacity aliasing in conditional branch predictors. Proceedings of the 24th Intl. Symp. on Computer Architecture, pp 292–303, 1997.Google Scholar
- 7.J. E. Smith. A study of branch prediction strategies. Proceedings of the 8th Intl. Symp. on Computer Architecture, pp 135–148, 1981.Google Scholar
- 8.E. Sprangle, R. S. Chappell, M. Alsup and Y. N. Patt. The agree predictor: A mechanism for reducing negative branch history interference. Proceedings of the 24th Intl. Symp. on Computer Architecture, pp 284–291, 1997.Google Scholar
- 9.J. Stark, M. Evers and Y. N. Patt. Variable length path branch prediction. In Proceedings of the 8th Intl. Conference on Architectural Support for Programming Languages and Operating Systems, pp 170–179, San José, October 3–7, 1998.Google Scholar
- 10.M.-D. Tarlescu, K. B. Theobald and G. R. Gao. Elastic history buffer: A low-cost method to improve branch prediction accuracy. In International Conference on Computer Design: VLSI in Computers and Processors (ICCD’ 97), pp 82–87, Washington-Brussels-Tokyo, October 1997.Google Scholar
- 11.T.-Y. Yeh and Y. N. Patt. A comparison of dynamic branch predictors that use two levels of branch history. Proceedings of the 20th Intl. Symp. on Computer Architecture, pp 257–266, 1993.Google Scholar
- 12.T.-Y. Yeh and Y. N. Patt. Two-level adaptive branch prediction. Proceedings of the 24th Intl. Symp. on Microarchitecture, pp 51–61, 1991.Google Scholar