Search papers, labs, and topics across Lattice.
This paper analyzes branch prediction performance in graph processing applications, identifying frequent branch mispredictions as a key performance bottleneck. It proposes optimizations to existing branch predictors to better handle the specific types of branches that cause mispredictions in graph workloads. The research demonstrates that optimized branch prediction can lead to performance gains in graph processing.
Graph applications' performance isn't just about cache size; optimizing branch prediction offers another avenue for significant speedups.
Real-world graph applications are generally larger than the size of the cache itself. Due to this reason, the memory hierarchy was identified as a key bottleneck by the earlier works. Undoubtedly, the performance can be achieved by improving cache, there is still a scope for performance gain by improving branch prediction accuracy. In graph processing applications, the occurrence of branch mispredictions is very frequent and is a major limitation for the overall performance. Within a program, there are different kinds of branches that recur throughout its execution. Although lots of branch predictors (BP) have been developed earlier to capture the static and dynamic behavior of branches. Branch predictors can yet be further optimized to handle the branches that cause mispredictions.