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
- Half&Half: Demystifying Intel’s Directional Branch Predictors for Fast, Secure Partitioned ExecutionIn 2023 IEEE Symposium on Security and Privacy (SP), Aug 2023