Modeling and evaluation of control flow prediction schemes using complete system simulation and Java workloads

Program control flow transfer (branch) prediction is considered to be a performance hurdle and a key design issue for current and future microprocessors. Branch prediction schemes with high prediction accuracy have been proposed to support longer processor pipelines with higher frequency clocks. In the previously published literature, the design and evaluation of branch predictors have been based heavily on the simulation of only user instructions from scientific and commercial workloads written in programming languages such as C or C++. To complement the existing research, the paper presents a case study of the modeling and evaluation of advanced branch predictors using full-system simulation of Java workloads running on a commercial operating system. The contributions of the paper are: (1) the presentation of a full system simulation framework to model, simulate and evaluate the performance of a set of advanced prediction schemes on emerging Java workloads; (2) an analysis of the performance and design complexity of advanced branch predictors in the presence of full system code; (3) an accurate modeling of user/kernel branch aliasing on a wide range of branch predictors.

[1]  M.D. Smith,et al.  An Analysis of Dynamic Branch Prediction Schemes on System Workloads , 1996, 23rd Annual International Symposium on Computer Architecture (ISCA'96).

[2]  Anoop Gupta,et al.  Complete computer system simulation: the SimOS approach , 1995, IEEE Parallel Distributed Technol. Syst. Appl..

[3]  Ravi Nair,et al.  Dynamic path-based branch correlation , 1995, MICRO 28.

[4]  Lizy Kurian John,et al.  Understanding control flow transfer and its predictability in java processing , 2001, 2001 IEEE International Symposium on Performance Analysis of Systems and Software. ISPASS..

[5]  Y.N. Patt,et al.  Using Hybrid Branch Predictors to Improve Branch Prediction Accuracy in the Presence of Context Switches , 1996, 23rd Annual International Symposium on Computer Architecture (ISCA'96).

[6]  Michael D. Smith,et al.  A comparative analysis of schemes for correlated branch prediction , 1995, Proceedings 22nd Annual International Symposium on Computer Architecture.

[7]  Yale N. Patt,et al.  The agree predictor: a mechanism for reducing negative branch history interference , 1997, ISCA '97.

[8]  Trevor N. Mudge,et al.  Correlation and Aliasing in Dynamic Branch Predictors , 1996, ISCA.

[9]  Trevor N. Mudge,et al.  The bi-mode branch predictor , 1997, Proceedings of 30th Annual International Symposium on Microarchitecture.

[10]  Narayanan Vijaykrishnan,et al.  Using complete system simulation to characterize SPECjvm98 benchmarks , 2000, ICS '00.

[11]  Narayanan Vijaykrishnan,et al.  Understanding and improving operating system effects in control flow prediction , 2002, ASPLOS X.

[12]  Susan J. Eggers,et al.  An analysis of operating system behavior on a simultaneous multithreaded architecture , 2000, ASPLOS IX.

[13]  Anne Rogers,et al.  The performance impact of incomplete bypassing in processor pipelines , 1995, MICRO 1995.

[14]  Robert Wilson,et al.  Compiling Java just in time , 1997, IEEE Micro.

[15]  Yale N. Patt,et al.  A Comparison Of Dynamic Branch Predictors That Use Two Levels Of Branch History , 1993, Proceedings of the 20th Annual International Symposium on Computer Architecture.