Unformatted text preview:

Execution Slack and Criticality Nikos Hardavellas The Computer Architecture Lab at Carnegie Mellon http www ece cmu edu CALCM Execution Slack Criticality Context Out of order processors are highly parallel y Technological constraints y wire delay power complexity Non uniform designs y overlap computation clustering multi frequency FU s memory hierarchies Criticality slack y what is it 2 Execution Slack Criticality Why do I care Exploit to guide control policies Examples here do 1 2 3 4 Resource Arbitration Misspeculation Reduction Power Management Cache Management 3 Papers 1 Focusing processor policies via critical path prediction Framework to identify instruction criticality and design to increase instruction scheduling locality in a cluster 2 Slack maximizing performance under technological constraints Framework to identify variability in instruction execution criticality and application in slowing down execution to save power 3 Locality vs Criticality Is sacrificing locality for criticality a good idea 4 Non vital loads Identify instructions that can tolerate longer cache hit latencies and remove them from higher level caches 4 Evaluation Outline Overview of each technique Present results Present pros cons 5 Papers 1 Focusing processor policies via critical path prediction Framework to identify instruction criticality and design to increase instruction scheduling locality in a cluster 2 Slack maximizing performance under technological constraints Framework to identify variability in instruction execution criticality and application in slowing down execution to save power 3 Locality vs Criticality Is sacrificing locality for criticality a good idea 4 Non vital loads Identify instructions that can tolerate longer cache hit latencies and remove them from higher level caches 6 Paper 1 Context Out of order processors are highly parallel Critical path analysis identifies dominating instructions y Micro architectural critical path Focus on optimizing critical instructions y y Better arbitration of scarce resources Reduce misspeculation 7 Paper 1 Contributions Dependence graph model of micro architectural critical path Hardware predictor to approximate instruction criticality Resource arbitration Misspeculation reduction 8 Paper 1 Critical Path Model 9 Paper 1 Hardware 10 Paper 1 Model Evaluation 11 Paper 1 Model Evaluation 12 Paper 1 Instruction Scheduling and Steering 13 Paper 1 Value Prediction 14 Paper 1 Critique Prons Multipurpose framework Adaptive Practical algorithmic approach Yields interesting results Cons Wrong path instructions criticality at memory system Coarse Classification imbalance Practical hardware realization 15 Papers 1 Focusing processor policies via critical path prediction Framework to identify instruction criticality and design to increase instruction scheduling locality in a cluster 2 Slack maximizing performance under technological constraints Framework to identify variability in instruction execution criticality and application in slowing down execution to save power 3 Locality vs Criticality Is sacrificing locality for criticality a good idea 4 Non vital loads Identify instructions that can tolerate longer cache hit latencies and remove them from higher level caches 16 Paper 2 Context Technological constraints y wire delay power complexity Non uniform designs y clustering multi frequency FU s Control policies Slack 17 Paper 2 Contributions Model and characterize slack y Slack prediction y local global apportioned explicit implicit Application in power saving hardware y fast slow pipeline 18 Paper 2 Computing Slack 19 Paper 2 Slack Potential 20 Paper 2 Microarchitecture 21 Paper 2 Performance Impact 22 Paper 2 Critique Prons Easy to reason Adaptive Fine grained Cons Sampling constraints Criticality at memory system Weakly defined apportioned slack 23 Papers 1 Focusing processor policies via critical path prediction Framework to identify instruction criticality and design to increase instruction scheduling locality in a cluster 2 Slack maximizing performance under technological constraints Framework to identify variability in instruction execution criticality and application in slowing down execution to save power 3 Locality vs Criticality Is sacrificing locality for criticality a good idea 4 Non vital loads Identify instructions that can tolerate longer cache hit latencies and remove them from higher level caches 24 Paper 3 Context Caches exploit spatial and temporal locality Locality based schemes ignore nature of misses Is criticality a strong enough property to warrant a change in memory hierarchies Classify loads as critical y feed mispredicted branch feed into missed load few independent instructions following 25 Paper 3 Contributions Provides an answer to the question posed y y Potential is there Implementations fail 26 Paper 3 L1 Criticality Potential 27 Paper 3 Exploiting L1 Criticality 28 Paper 3 Exploiting L2 Criticality 29 Paper 3 Criticality Guided Prefetching 30 Paper 3 Critique Prons Raises important question Provides a limit study the potential is there Cons Is classification really complete Coverage Accuracy 31 Papers 1 Focusing processor policies via critical path prediction Framework to identify instruction criticality and design to increase instruction scheduling locality in a cluster 2 Slack maximizing performance under technological constraints Framework to identify variability in instruction execution criticality and application in slowing down execution to save power 3 Locality vs Criticality Is sacrificing locality for criticality a good idea 4 Non vital loads Identify instructions that can tolerate longer cache hit latencies and remove them from higher level caches 32 Paper 4 Load Classification 33 Paper 4 Classification FSM 34 Paper 4 Cache Hierarchy 35 Paper 4 Evaluation 36 Paper 4 Critique Prons Vital Cache improves performance Shows more promise than previous paper Cons Does not explore slack Still need an optimality study 37 Summary Criticality and Slack can be exploited to guide policies Correct classification is key Are hardware implementations practical Criticality at the memory system is still challenging y Should we give up hope 38


View Full Document

CMU CS 15740 - Execution Slack and Criticality

Documents in this Course
leecture

leecture

17 pages

Lecture

Lecture

9 pages

Lecture

Lecture

36 pages

Lecture

Lecture

9 pages

Lecture

Lecture

13 pages

lecture

lecture

25 pages

lect17

lect17

7 pages

Lecture

Lecture

65 pages

Lecture

Lecture

28 pages

lect07

lect07

24 pages

lect07

lect07

12 pages

lect03

lect03

3 pages

lecture

lecture

11 pages

lecture

lecture

20 pages

lecture

lecture

11 pages

Lecture

Lecture

9 pages

Lecture

Lecture

10 pages

Lecture

Lecture

22 pages

Lecture

Lecture

28 pages

Lecture

Lecture

18 pages

lecture

lecture

63 pages

lecture

lecture

13 pages

Lecture

Lecture

36 pages

Lecture

Lecture

18 pages

Lecture

Lecture

17 pages

Lecture

Lecture

12 pages

lecture

lecture

34 pages

lecture

lecture

47 pages

lecture

lecture

7 pages

Lecture

Lecture

18 pages

Lecture

Lecture

7 pages

Lecture

Lecture

21 pages

Lecture

Lecture

10 pages

Lecture

Lecture

39 pages

Lecture

Lecture

11 pages

lect04

lect04

40 pages

Load more
Loading Unlocking...
Login

Join to view Execution Slack and Criticality and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Execution Slack and Criticality and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?