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