Workload Characterization for Branch Predictability
By: FNU Vikas, Paul Gratz, Daniel Jiménez
Potential Business Impact:
Helps computers guess program steps faster.
Conditional branch prediction predicts the likely direction of a conditional branch instruction to support ILP extraction. Branch prediction is a pattern recognition problem that learns mappings between a context to the branch outcome. An accurate predictor reduces the number of instructions executed on the wrong path resulting in an improvement of performance and energy consumption. In this paper, we present a workload characterization methodology for branch prediction. We propose two new workload-driven branch prediction accuracy identifiers -- branch working set size and branch predictability. These parameters are highly correlated with misprediction rates of modern branch prediction schemes (e.g. TAGE and perceptron). We define the branch working set of a trace as a group of most frequently occurring branch contexts, i.e. the 3-part tuple of branch address, and associated global and local history. We analyze the branch working set's size and predictability on a per-trace basis to study its relationship with a modern branch predictor's accuracy. We have characterized 2,451 workload traces into seven branch working set size and nine predictability categories after analyzing their branch behavior. We present further insights into the source of prediction accuracy and favored workload categories for modern branch predictors.
Similar Papers
Taming Wild Branches: Overcoming Hard-to-Predict Branches using the Bullseye Predictor
Hardware Architecture
Makes computer chips faster by predicting tricky choices.
Exploiting Inaccurate Branch History in Side-Channel Attacks
Cryptography and Security
Finds secret computer flaws to steal data.
Accurate Performance Predictors for Edge Computing Applications
Distributed, Parallel, and Cluster Computing
Helps computers guess how fast apps will run.