Branch Prediction Is Not a Solved Problem: Measurements, Opportunities, and Future Directions

06/13/2019
by   Chit-Kwan Lin, et al.
0

Modern branch predictors predict the vast majority of conditional branch instructions with near-perfect accuracy, allowing superscalar, out-of-order processors to maximize speculative efficiency and thus performance. However, this impressive overall effectiveness belies a substantial missed opportunity in single-threaded instructions per cycle (IPC). For example, we show that correcting the mispredictions made by the state-of-the-art TAGE-SC-L branch predictor on SPECint 2017 would improve IPC by margins similar to an advance in process technology node. In this work, we measure and characterize these mispredictions. We find that they categorically arise from either (1) a small number of systematically hard-to-predict (H2P) branches; or (2) rare branches with low dynamic execution counts. Using data from SPECint 2017 and additional large code footprint applications, we quantify the occurrence and IPC impact of these two categories. We then demonstrate that increasing the resources afforded to existing branch predictors does not alone address the root causes of most mispredictions. This leads us to reexamine basic assumptions in branch prediction and to propose new research directions that, for example, deploy machine learning to improve pattern matching for H2Ps, and use on-chip phase learning to track long-term statistics for rare branches.

READ FULL TEXT
research
06/20/2019

Improving Branch Prediction By Modeling Global History with Convolutional Neural Networks

CPU branch prediction has hit a wall--existing techniques achieve near-p...
research
09/18/2020

Load Driven Branch Predictor (LDBP)

Branch instructions dependent on hard-to-predict load data are the leadi...
research
05/29/2020

Dynamic Merge Point Prediction

Despite decades of research, conditional branch mispredictions still pos...
research
10/10/2018

Introducing a hybrid model of DEA and data mining in evaluating efficiency. Case study: Bank Branches

The banking industry is very important for an economic cycle of each cou...
research
08/27/2023

Semi-static Conditions in Low-latency C++ for High Frequency Trading: Better than Branch Prediction Hints

Conditional branches pose a challenge for code optimisation, particularl...
research
08/19/2023

A branch connection rule of one-way rail network

We deal with network inspired by toy train, which is constructed by conn...
research
09/19/2019

Branch prediction related Optimizations for Multithreaded Processors

Major chip manufacturers have all introduced Multithreaded processors. T...

Please sign up or login with your details

Forgot password? Click here to reset