Workload Characterization for Branch Predictability
FNU Vikas, Paul Gratz, Daniel Jim\'enez

TL;DR
This paper introduces a workload characterization methodology for branch prediction, focusing on branch working set size and predictability, to better understand and improve predictor accuracy in modern processors.
Contribution
It proposes two new workload-driven metrics for branch prediction accuracy and analyzes their relationship with predictor performance across thousands of workload traces.
Findings
Branch working set size and predictability strongly correlate with misprediction rates.
Characterized 2,451 workload traces into distinct categories based on branch behavior.
Insights into workload categories that favor modern branch predictors.
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Advanced Data Storage Technologies · Software System Performance and Reliability
