Litcius/Paper detail

BranchNet: A Convolutional Neural Network to Predict Hard-To-Predict Branches

Siavash Zangeneh, Stephen Pruett, Sangkug Lym, Yale N. Patt

202046 citationsDOI

Abstract

The state-of-the-art branch predictor, TAGE, remains inefficient at identifying correlated branches deep in a noisy global branch history. We argue this inefficiency is a fundamental limitation of runtime branch prediction and not a coincidental artifact due to the design of TAGE. To further improve branch prediction, we need to relax the constraint of runtime only training and adopt more sophisticated prediction mechanisms. To this end, Tarsa et al. proposed using convolutional neural networks (CNNs) that are trained at compile-time to accurately predict branches that TAGE cannot. Given enough profiling coverage, CNNs learn input-independent branch correlations that can accurately predict branches when running a program with unseen inputs. We build on their work and introduce BranchNet, a CNN with a practical on-chip inference engine tailored to the needs of branch prediction. At runtime, BranchNet predicts a few hard-to-predict branches, while TAGE-SC-L predicts the remaining branches. This hybrid approach reduces the MPKI of SPEC2017 Integer benchmarks by 7.6% (and up to 15.7%) when compared to a very large (impractical) MTAGE-SC baseline, demonstrating a fundamental advantage in the prediction capabilities of BranchNet compared to TAGE-like predictors. We also propose a practical resource-constrained variant of BranchNet that improves the MPKI by 9.6% (and up to 17.7%) compared to a 64KB TAGE-SC-L without increasing the prediction latency.

Topics & Concepts

Computer scienceConvolutional neural networkBranch predictorInferenceProfiling (computer programming)Artificial intelligenceDeep neural networksMachine learningLatency (audio)FLOPSDeep learningAlgorithmParallel computingTelecommunicationsOperating systemParallel Computing and Optimization TechniquesAdvanced Data Storage TechnologiesFerroelectric and Negative Capacitance Devices
BranchNet: A Convolutional Neural Network to Predict Hard-To-Predict Branches | Litcius