Branch Predictor Partitioning for Performance

Optimizing the NOP padding algorithm and working on identifying hot branches to improve their prediction rates

Code translation in Half&Half

Guide: Prof. Dean Tullsen

Half&Half is a novel technique that reverse-engineers modern branch predictors, identifying a simple way to partition the predictor space across two processes running in SMT mode. I am currently working on improving this partitioning algorithm to optimized the number of NOPs required. I am also working on identifying hot branches in a workload to separate them in order to improve their misprediction rate and thus improve performance.

References

2023

  1. s&p.png
    Half&Half: Demystifying Intel’s Directional Branch Predictors for Fast, Secure Partitioned Execution
    Hosein Yavarzadeh, Mohammadkazem Taram, Shravan Narayan, and 2 more authors
    In 2023 IEEE Symposium on Security and Privacy (SP), Aug 2023