Branch Prediction as a Reinforcement Learning Problem: Why, How and Case Studies
This offers a new perspective for computer architecture researchers to systematically explore branch predictor designs, though it appears incremental as it builds on conventional predictors.
The paper tackles the stagnation in branch predictor design by framing it as a reinforcement learning problem, showing that existing predictors can be expressed in this formulation and studying two RL-based variants.
Recent years have seen stagnating improvements to branch predictor (BP) efficacy and a dearth of fresh ideas in branch predictor design, calling for fresh thinking in this area. This paper argues that looking at BP from the viewpoint of Reinforcement Learning (RL) facilitates systematic reasoning about, and exploration of, BP designs. We describe how to apply the RL formulation to branch predictors, show that existing predictors can be succinctly expressed in this formulation, and study two RL-based variants of conventional BPs.