GGrantIndex
← Search

EAGER: Code-Improving Transformations for Branch Prediction

$100,000FY2009CSENSF

University Of Texas At San Antonio, San Antonio TX

Investigators

Abstract

Microprocessors use branch predictors to predict the near-term behavior of a program so that work on future instructions may begin early, reducing the amount of time a program takes to run. Each incorrect prediction wastes time and energy. Thus, branch predictors must be highly accurate, and a small improvement in accuracy can give a large benefit for performance. Branch predictor accuracy can be significantly affected by choices made in the compiler that translates high-level programs to machine-language. However, current compilers do not take into account many of the ways in which their choices during translation may have an impact on branch prediction. In this project, technologies are developed for improving program performance and reducing energy consumption based on improved branch prediction through compiler techniques. Specifically, the impact of code placement on branch predictors is studied and new code-improving transformations are developed that improve branch predictor accuracy. The studies are carried out on real systems including Intel and AMD microprocessors. The impact of the new code-improving transformations is measured using performance monitoring software to determine the magnitude of the improvement. This work will result in improved performance and energy-efficiency for programs running on modern microprocessors.

View original record on NSF Award Search →