Value Profiling, Prediction and Influence of Compiler Optimizations - PowerPoint PPT Presentation

1 / 16
About This Presentation
Title:

Value Profiling, Prediction and Influence of Compiler Optimizations

Description:

32 bit registers can represent over 4 billion values. ... Mis-Predicts tend to clog memory bandwidth and does not cause immediate performance degradation. ... – PowerPoint PPT presentation

Number of Views:23
Avg rating:3.0/5.0
Slides: 17
Provided by: Amit57
Category:

less

Transcript and Presenter's Notes

Title: Value Profiling, Prediction and Influence of Compiler Optimizations


1
Value Profiling, Prediction and Influence of
Compiler Optimizations
  • Amithash E. Prasad
  • Jagan Annur Kannappan

2
Value Predictability
  • 32 bit registers can represent over 4 billion
    values.
  • Value Profiling suggests that values are
    predictable.
  • What about compiler optimizations?
  • Does value prediction add any value when compiler
    optimizations are turned on?

3
(No Transcript)
4
Load Value Profiling
  • Load values were profiled and organized based on
    Instruction pointer and register names.
  • These were fed into a database and queried to
    find useful information on value invariance.
  • 10 of the SPEC2006 integer benchmarks were
    profiled (limited to 10 billion loads)

5
(No Transcript)
6
Value Prediction
7
Methodology
  • PIN was used to instrument the benchmarks.
  • The Instruction Pointer and the Write Value was
    passed to the Analysis Function
  • 1024 entries with 3 way associative tables were
    used to store the last value and the stride (for
    strided predictor)
  • Confidence based prediction (Selective Value
    Prediction)

8
Load Value Predictor
  • Loads tend to be the most cycle consuming,
    stalling dependent instructions.
  • Only Loads were instrumented.
  • The value predictor was run on benchmarks
    compiled with O0, O2 and O3 levels of
    optimizations.

9
Load Value Predictor (Last Value)
10
Load Value Predictor (Strided)
11
Register Value Predictor
  • Strided Value Predictor.
  • All instructions except branch are instrumented
    for write values.
  • Only instructions which write to GPRs are
    instrumented

12
Register Value Predictor (Strided)
13
Effective Address Predictor
  • Predicts EA of instructions.
  • Used to drive a hardware based Pre-fetcher.
  • Mis-Predicts tend to clog memory bandwidth and
    does not cause immediate performance degradation.

14
Effective Address Predictor (Strided)
Pre-Fetcher
15
Conclusion
  • Value Prediction can make or break performance.
  • Hides cache misses on correct prediction.
  • High prediction accuracies do not necessarily
    imply improved performance. (Application
    dependent).

16
Future Work
  • Incorporate and study the effect on floating
    point registers.
  • What if the correctly predicted value is anyway
    in the cache?
  • Incorporate value prediction into simulators like
    PSatSim.
Write a Comment
User Comments (0)
About PowerShow.com