data value prediction

18
Data value prediction Bas van der Tol

Upload: levana

Post on 05-Jan-2016

15 views

Category:

Documents


0 download

DESCRIPTION

Data value prediction. Bas van der Tol. Limits to ILP. Instruction Level Parallelism is limited by Control flow Data flow: true dependencies. Types of Speculative Execution. Sources of predicatable data. Data redundancy Error-checking Program constants Virtual function calls Glue code - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Data value prediction

Data value prediction

Bas van der Tol

Page 2: Data value prediction

Limits to ILP

Instruction Level Parallelism is limited by

• Control flow

• Data flow: true dependencies

Page 3: Data value prediction

Types of Speculative Execution

Page 4: Data value prediction

Sources of predicatable data

• Data redundancy

• Error-checking

• Program constants

• Virtual function calls

• Glue code

• Call-subgraph identities

• Register spill code

Page 5: Data value prediction

Register value locality

Page 6: Data value prediction

Value Prediction Unit

Page 7: Data value prediction

VPT Hit rate sensitivity to Size

Page 8: Data value prediction

Example use of Value Prediction

Page 9: Data value prediction

Penalties

• Misprediction penalty• Structural hazards, both on correct and mispredictions

Penalties

Page 10: Data value prediction

Configurations used for experiments

Page 11: Data value prediction

PowerPC 620 Speedup

Page 12: Data value prediction

PowerPC 620+ Speedup

Page 13: Data value prediction

Infinite Machine Model Speedup

Page 14: Data value prediction

Data cache vs. Value Prediction

Page 15: Data value prediction

Improving Prediction Accuracy

• Last Value Prediction

• Stride Prediction

• Finite Context Method Predictors (fcm)

Page 16: Data value prediction

Finite Context Models

Page 17: Data value prediction

Prediction Success

Page 18: Data value prediction

Conclusions

• Data value prediction increases performance by 5% on PowerPC 620

• A performance gain of 23% is possible

Future Developments

• More parallel execution units

• Better prediction models