Taming Wild Branches: Overcoming Hard-to-Predict Branches using the Bullseye Predictor
Emet Behrendt, Shing Wai Pun, Prashant J. Nair

TL;DR
This paper introduces the Bullseye predictor, a targeted subsystem integrated with TAGE-SC-L to improve prediction accuracy for hard-to-predict branches, significantly reducing mispredictions in out-of-order processors.
Contribution
The paper presents a novel H2P predictor that identifies problematic branches and employs branch-specific perceptrons, enhancing overall branch prediction accuracy beyond existing methods.
Findings
Achieves an average MPKI of 3.4045.
Reduces mispredictions on hard-to-predict branches.
Improves processor performance metrics significantly.
Abstract
Branch prediction is key to the performance of out-of-order processors. While the CBP-2016 winner TAGE-SC-L combines geometric-history tables, a statistical corrector, and a loop predictor, over half of its remaining mispredictions stem from a small set of hard-to-predict (H2P) branches. These branches occur under diverse global histories, causing repeated thrashing in TAGE and eviction before usefulness counters can mature. Prior work shows that simply enlarging the tables offers only marginal improvement. We augment a 159 KB TAGE-SC-L predictor with a 28 KB H2P-targeted subsystem called the Bullseye predictor. It identifies problematic PCs using a set-associative H2P Identification Table (HIT) and steers them to one of two branch-specific perceptrons, one indexed by hashed local history and the other by folded global history. A short trial phase tracks head-to-head accuracy in an…
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 · Software System Performance and Reliability · Network Packet Processing and Optimization
MethodsSparse Evolutionary Training
