PIP: An Ensemble of Programming-Idiom Predictors
Accepted version
Peer-reviewed
Repository URI
Repository DOI
Change log
Abstract
We present PIP, an ensemble of branch predictors specialised for different patterns. We utilise a series of small but highly targeted predictors, each recognising a programming idiom with data-dependent structure. We call each of these an idiom tracker. When these idiom trackers are unable to make a prediction, we turn instead to a base predictor consisting of a tuned TAGE-SC-L and a specialised Multiperspective Perceptron predictor. The Perceptron predictor is used only for predicting branches that TAGE struggles with, and choosing between the two is handled by a novel arbiter algorithm. Our predictor achieves an average of 3.47 mispredictions per kilo instructions (MPKI) and an average of 148 cycles on the wrong path per kilo instructions (cycWPKI) on the 6th Championship Branch Prediction (CBP2025) training traces, given a 192KiB budget. This is a decrease of 7.4% in MPKI and 3.0% in cycWPKI compared to the 2016 CBP winner, TAGE-SC-L 64KiB
