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.

[1]  Guang R. Gao,et al.  Elastic history buffer: a low-cost method to improve branch prediction accuracy , 1997, Proceedings International Conference on Computer Design VLSI in Computers and Processors.

[2]  S. McFarling Combining Branch Predictors , 1993 .

[3]  Trevor N. Mudge,et al.  The bi-mode branch predictor , 1997, Proceedings of 30th Annual International Symposium on Microarchitecture.

[4]  Yale N. Patt,et al.  A comparison of dynamic branch predictors that use two levels of branch history , 1993, ISCA '93.

[5]  Yale N. Patt,et al.  A two-level approach to making class predictions , 2003, 36th Annual Hawaii International Conference on System Sciences, 2003. Proceedings of the.

[6]  Yale N. Patt,et al.  The agree predictor: a mechanism for reducing negative branch history interference , 1997, ISCA '97.

[7]  Yale N. Patt,et al.  Variable length path branch prediction , 1998, ASPLOS VIII.

[8]  James E. Smith,et al.  A study of branch prediction strategies , 1981, ISCA '98.

[9]  StarkJared,et al.  Variable length path branch prediction , 1998 .

[10]  Pierre Michaud,et al.  Trading Conflict And Capacity Aliasing In Conditional Branch Predictors , 1997, Conference Proceedings. The 24th Annual International Symposium on Computer Architecture.

[11]  T. Juan,et al.  Dynamic history-length fitting: a third level of adaptivity for branch prediction , 1998, Proceedings. 25th Annual International Symposium on Computer Architecture (Cat. No.98CB36235).

[12]  Yale N. Patt,et al.  Branch classification: a new mechanism for improving branch predictor performance , 1994, MICRO.