This research spans from 1996 to 2016 (and hopefully will continue later).
- Multiple Block Ahead branch prediction
- Skewed branch predictors
- Understanding global history branch predictors
- Improving the perceptron branch predictor
- GEHL and TAGE: Pushing limits on global history predictors
- Exploiting the Inner Most Loop Iteration Counter
Multiple-block Ahead branch prediction
In 1996, we proposed Multiple-block ahead branch prediction. Multiple Branch Ahead prediction provides an efficient way to predict the addresses of two or more instruction blocks in a single cycle. Such an approach would be very useful for wide dispatch superscalar processors. In fact, it is also adapted for implementing multi-cycle prediction. In 2001-2002, we explored in details the effective design of a complete instruction fetch mechanism featuring multiple-block ahead prediction for a pipelined design.
Related publications:
- A. Seznec, S.Jourdan, P. Sainrat, P. Michaud, “ Multiple-Block Ahead Branch Predictors ”, Proceedings of the 7th conference on Architectural Support for Programming Languges and Operating Systems, Boston, October 1996
- P. Michaud, A. Seznec, S. Jourdan, P. Sainrat Alternative Schemes for High-Bandwidth Instruction Fetching , IRISA Report No 1180, March 1998
- P. Michaud, A. Seznec, S. Jourdan Exploring Instruction-Fetch Bandwidth Requirement in Wide-Issue Superscalar Processors , IRISA Report No 1227, Feb. 1999
- A. Seznec, A. Fraboulet, “Effective ahead pipelining of instruction block address generation” , Proceedings of the 30th International Symposium on Computer Architecture (IEEE-ACM), San Diego, june 2003
Skewed branch predictors
Between 1996 and 2000, we have investigated the use of the majority vote as a mean to avoid aliasing impact on global history branch predictors leading to the skewed branch predictor and the 2bcgskew branch predictor. The 2bcgskew predictor was the basis of the branch predictor of cancelled Alpha EV8. 2bcgskew is often considered in the litterature as the most efficient conventional predictor (2-bit counter based) as opposed to neural predictors and more recent TAGE-like predictors. Its accuracy is also often underestimated in comparative studies. The parameters described in “An optimized 2bcgskew branch predictor ” should be used in comparative studies.
Related publications:
- P. Michaud, A. Seznec, R. Uhlig, “ Trading conflict and capacity aliasing in conditional branch predictors ”, in Proceeedings of the 24th International Symposium on Computer Architecture, Denver 2-4 June 1997.
- A. Seznec, P. Michaud Dealiased Hybrid Branch Predictors , IRISA Report No 1229, Feb. 1999
- A. Seznec, S. Felix, V. Krishnan, Y. Sazeides , “ Design trade-offs on the EV8 branch predictor “, Slides (Powerpoint) , Proceedings of the 29th International Symposium on Computer Architecture (IEEE-ACM), Anchorage, may 2002
- A. Seznec, “An optimized 2bcgskew branch predictor ‘, september 2003
Understanding global history branch predictors
- P. Michaud, A. Seznec, A comprehensive study of dynamic global history branch prediction , IRISA Report No 1406,
Improving the perceptron branch predictor
In 2003-2004, we have begun to explore the potential of the use of the perceptron predictor. Our preliminary work showed that this potential was largely underestimated in the pioneer work from Jiménez and Lin. Then we proposed The MAC-RHSP (Multiply Accumulate Contribution Redundant History Skewed Perceptron) predictor with lower hardware complexity than the perceptron predictor, but much better prediction accuracy. These studies were never published in major conferences, but were the seeds that further lead to GEHL and TAGE predictors.
Related publications:
- A. Seznec, Redundant History Skewed Perceptron Predictors: pushing limits on global history branch predictors , IRISA Report No 1554, sept. 2003
- A. Seznec, Revisiting the perceptron predictor , IRISA Report No 1620, May 2004
GEHL and TAGE: Pushing limits on global history predictors
In 2004-2005, we have proposed new global history predictors for exploiting very long global history, in the hundred bits range, first GEHL, then TAGE.
In 2004, the OGEHL and the PPM-like predictor were selected for the 1st CBP contest. They both feature a limited number of tables and exploit very long global histories. The PPM-like predictor uses partial tag matching as the prediction selection function while the OGEHL predictor uses a tree adder. OGEHL was ranked 2nd at 1st CBP contest and won the best practice award.
OGEHL uses a geometric series of history lengths to index prediction tables and a perceptron-like prediction computation. In 2005, we proposed the TAGE predictor that mixes the partial tag matching (and an optimized update policy) with usage of geometric series of history lengths. (L-)TAGE won the 2nd CBP contest in the realistic predictors category in 2006.
For exploring the limits of branch prediction, the GTL predictor was defined. GTL essentially combines a TAGE predictor and an OGEHL predictor. GTL won the 2nd CBP contest in the idealistic predictors category in 2006.
ISL-TAGE derived from TAGE won the 3rd CBP contest in 2006 . We also showed that indirect jumps can be predicted using the same principles as conditional branches through the ITTAGE predictor. The 3 first ranked predictors at the 3rd CBP contest were derived from ITTAGE.
TAGE-SC-L won the 4th CBP contest in 2014 in both the 32Kbits and 256 Kbits categories. It also won the 5th CBP contest in 2016 in both categories.
Related publications:
- A. Seznec, “Genesis of the OGEHL predictor”, Journal of Instruction Level Parallelism , April 2005
- P. Michaud,“A PPM-like tag-based predictor”, Journal of Instruction Level Parallelism , April 2005
- A. Seznec, “Analysis of the OGEHL predictor”, Proceedings of the 32th International Symposium on Computer Architecture (IEEE-ACM), Madison, june 2005
- A. Seznec, P. Michaud, “ A case for (partially) tagged Geometric History Length Branch Prediction”, Journal of Instruction Level Parallelism , Feb. 2006
- A. Seznec “Looking for limits in branch prediction with the GTL predictor”, ppt presentation, CBP-2, December 2006
- A. Seznec “A 256 Kbits L-TAGE predictor”, ppt presentation, CBP-2, December 2006
- A. Seznec “The L-TAGE predictor”, Journal of Instruction Level Parallelism, May 2007
- A. Seznec “The idealistic GTL predictor”, Journal of Instruction Level Parallelism, May 2007
- A. Seznec, ”A 64 Kbytes ISL-TAGE branch predictor”, slides, JWAC-2 : Championship Branch Prediction, june 2011
- A. Seznec, ”A 64-Kbytes ITTAGE indirect branch predictor”, slides, JWAC-2 : Championship Branch Prediction, june 2011
- A. Seznec “Storage Free Confidence Estimation for the TAGE branch predictor“, Proceedings of the 17th international Conference on High Performance Computer Architecture, Feb 2011
- A. Seznec, “A new case for the TAGE branch predictor“, Proceedings of the 44th International Symposium on Microarchitecture (ACM-IEEE), Porto Allegre, december 2011.
- Erven Rohou, Bharath Narasimha Swamy, André Seznec. Branch Prediction and the Performance of Interpreters – Don’t Trust Folklore, International Symposium on Code Generation and Optimization, Feb 2015
Exploiting the Inner Most Loop Iteration Counter
For some branches encapsulated in a multidimensional loop, their outcomes are correlated with those of the same branch in neighbor iterations, but in the previous outer loop iteration. The IMLI-based predictor components are practical predictor components to exploit this branch outcome correlation in multidimensional loops. They can be incorporated in TAGE-based predictors or neural predictors.
- A. Seznec, J. San Miguel, J. Albericcio “The Inner Most Loop Iteration counter: a new dimension in branch history”, Proceedings of the 48th International Symposium on Microarchitecture (ACM-IEEE), Hawai, December 2015
- André Seznec, Joshua San Miguel, Jorge Albericio, Practical Multidimensional Branch Prediction IEEE Micro, 2016,Micro’s Top Picks from the 2015 Computer Architecture Conferences,
Branch predictors simulation code
For the 1st Championship Branch Prediction
- 2bcgskew 3.80 misp/KI
- MAC-RHSP 3.12 misp/KI
- PPM-like tagged predictor 3.10 misp/KI
- OGEHL 2.82 misp/KI
- TAGE 2.55 misp/KI
Branch predictors packaged for the 2nd Championship Branch Prediction
Branch predictors packaged for the 3rd Championship Branch Prediction
Branch predictors packaged for the 4th Championship Branch Prediction
Branch predictors packaged for the 5th Championship Branch Prediction
Championship Branch Prediction Record
- A. Seznec, The O-GEHL Branch Predictor CBP-1, December 2004, 2nd, Best Practice Award
- A. Seznec “Looking for limits in branch prediction with the GTL predictor”, ppt presentation, CBP-2, December 2006, Champion unlimited size conditional branch predictor
- A. Seznec “A 256 Kbits L-TAGE predictor”, ppt presentation, CBP-2, December 2006, Champion 256Kbits conditional branch predictor
- A. Seznec, ”A 64 Kbytes ISL-TAGE branch predictor”, slides, JWAC-2 : Championship Branch Prediction, june 2011, Champion conditional branch predictor
- A. Seznec, ”A 64-Kbytes ITTAGE indirect branch predictor”, slides, JWAC-2 : Championship Branch Prediction, june 2011, Champion indirect branch predictor
- A.Seznec, “TAGE-SC-L branch predictors”, slides JWAC-4: Championship Branch Prediction, june 2014, Champion 32Kbits and 256 Kbits conditional branch predictor
- P. Michaud, A. Seznec , “Pushing the Branch Predictability Limits with the Multi-poTAGE+SC Predictor”, slides Championship Branch Prediction, june 2014, Champion unlimited size conditional branch predictor
- André Seznec. TAGE-SC-L Branch Predictors Again. 5th JILP Workshop on Computer Architecture Competitions (JWAC-5): Championship Branch Prediction (CBP-5), Jun 2016, Seoul, South Korea. <http://www.jilp.org/cbp2016/>. <hal-01354253> Champion 32Kbits and 256 Kbits conditional branch predictor
- André Seznec. Exploring branch predictability limits with the MTAGE+SC predictor *. 5th JILP Workshop on Computer Architecture Competitions (JWAC-5): Championship Branch Prediction (CBP-5), Jun 2016, Seoul, South Korea. <http://www.jilp.org/cbp2016/>. <hal-01354251> Champion unlimited size conditional branch predictor