Table of Contents
Fetching ...

Workload Characterization for Branch Predictability

FNU Vikas, Paul Gratz, Daniel Jiménez

TL;DR

The paper tackles how workloads influence branch predictor performance by introducing BWSET, a workload-driven measure of the most frequent branch contexts, and BWSET predictability, an inherent bias metric. It develops an architecture-independent characterization framework and applies it to 2,451 industry traces, evaluating misprediction rates of modern predictors like TAGE and a multiperspective perceptron. Key contributions include defining three-way global-local tuples as effective branch contexts, establishing robust correlations between BWSET size/predictability and predictor accuracy, and providing a categorized workload space (seven BWSET-size bins and nine predictability bins). The findings offer practical guidance for estimating predictor performance, enabling targeted design improvements, and supplying a rich dataset for comparing current and future branch-prediction strategies.

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 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.

Workload Characterization for Branch Predictability

TL;DR

The paper tackles how workloads influence branch predictor performance by introducing BWSET, a workload-driven measure of the most frequent branch contexts, and BWSET predictability, an inherent bias metric. It develops an architecture-independent characterization framework and applies it to 2,451 industry traces, evaluating misprediction rates of modern predictors like TAGE and a multiperspective perceptron. Key contributions include defining three-way global-local tuples as effective branch contexts, establishing robust correlations between BWSET size/predictability and predictor accuracy, and providing a categorized workload space (seven BWSET-size bins and nine predictability bins). The findings offer practical guidance for estimating predictor performance, enabling targeted design improvements, and supplying a rich dataset for comparing current and future branch-prediction strategies.

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 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.

Paper Structure

This paper contains 22 sections, 15 figures, 6 tables.

Figures (15)

  • Figure 1: Multiperspective perceptron branch predictor
  • Figure 2: TAgged GEometric history length predictor [TAGE]
  • Figure 3: Tuple based working set definition
  • Figure 4: Workload characterization and analysis framework - based on branch working set and predictability
  • Figure 5: Trace distribution based on BWSET of branch PCs
  • ...and 10 more figures