Hi all,

We are planning to use gem5 for further experimenting with Multiperspective Branch Prediction.  We have already implemented such a predictor, however after evaluating the ones already implemented in gem5 (Local, Tournament, LTAGE) using some of the SPEC CPU 2006 benchmarks, the results we observe are not what we would expect.  The main issue is that the Local branch predictor outperforms Tournament (and some times even LTAGE).  It would seem unrealistic for a 2bit saturating counter to outperform a pshare/gshare tournament predictor.   On the other hand, in some small toy benchmarks we wrote with correlated branches that global history should be able to handle but a 2bit counter wouldn't, results are as expected.  Does anyone has any experience with gem5 branch prediction?  Any results that actually show that Tournament and LTAGE clearly outperform Local?

After inspecting the code we have not found any issue in tournament's implementation (we also tried not doing speculative updates in pshare and using the branch address along global history to index the global counters).  Recovering from squashed instructions and restoring history also appears to work fine, so it could be something on our setup.  We use DerivO3CPU model and full system simulation with simpoints of 1B instructions and 500M warmup period. The metric we use is misspredictions per 1000 of commited instructions.  Any ideas or advice?


Best,

Dimitrios Chasapis


http://bsc.es/disclaimer
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to