Download presentation
Presentation is loading. Please wait.
Published byAntony Headen Modified over 10 years ago
1
Discovering and Exploiting Program Phases Timothy Sherwood, Erez Perelman, Greg Hamerly, Suleyman Sair, Brad Calder CSE 231 Presentation by Justin Ma
2
400 Million Instructions New Compiler Non-Existent ProcessorNew Processor Simulator Benchmark Spec2000
3
400 Million Instructions Suppose you have a time budget… Less than half second of execution time What would you simulate? –Beginning? –Middle? –End?
4
400 Million Instructions gzip gcc Programs exhibit diverse modes of behavior
5
400 Million Instructions Suppose you have a time budget… Less than half second of execution time What would you simulate? –Beginning? –Middle? –End? –Samples of different modes of behavior
6
Program Phases Observation: programs exhibit various modes of periodic behavior These modes are program phases Challenge: Extract these automatically
7
Phase Basics Intervals – slices in times Phases – intervals with similar behavior Time (Instruction Count) IPC
8
Phase Basics Intervals – slices in times Phases – intervals with similar behavior Time (Instruction Count) IPC
9
Defining “Similar Behavior” Metric for comparing intervals? –Cache misses? –IPC? –Branch misprediction rates? Problem: Performance alone is too architecture dependent
10
Defining “Similar Behavior” Code path traversal –Directly affects time-varying behavior –Execute same code, same performance –Architecture independent Metrics for code path traversal –Frequency of branches –Frequency of function calls –Frequency of basic block calls
11
Basic Block Vector B1 B2B3 B4 0000 B1B2B3B4 Time t
12
Basic Block Vector B1 B2B3 B4 1101 B1B2B3B4 Time t
13
Basic Block Vector B1 B2B3 B4 2112 B1B2B3B4 Time t
14
Basic Block Vector B1 B2B3 B4 2112 B1B2B3B4 Time t 0000 B1B2B3B4 Time t + 1
15
Basic Block Vector B1 B2B3 B4 2112 B1B2B3B4 Time t 1101 B1B2B3B4 Time t + 1
16
Basic Block Vector B1 B2B3 B4 2112 B1B2B3B4 Time t 2202 B1B2B3B4 Time t + 1 Manhattan Distance = |1 – 2| + |1 – 0| = 2 Euclidian Distance = sqrt((1 – 2) 2 + (1 – 0) 2 ) = sqrt(2)
17
Basic Block Similarity Matrix gzip
18
Basic Block Similarity Matrix gcc BBV similarity between intervals reflects performance similarity
19
Automatic Phase Classification Classify intervals into phases –We do not know which BBVs correspond to particular phases a priori k-means clustering –Iterative clustering algorithm –Dimension Reduction Random Linear Projection –Try different k values Use BIC to choose best
20
Automatic Phase Classification
21
Clustering accurately distinguishes phases automatically
22
SimPoint Simulate large programs on a budget Perform detailed simulation on representative code snippets –Choose centroid interval from each phase (10 million instructions) Extrapolate large program performance –Weighted by frequency of phase
23
Simulate 400 million instructions total SimPoint Accurate estimate despite instruction budget
24
Why SimPoint Succeeds Program behavior varies over time SimPoint intelligently chooses which intervals to simulate Regularity within program phases allows accurate extrapolation
25
Online Classification Detect phases as program is running Applications –Thread scheduling –Power management –Predicting future phases Challenges –One pass of input –Limited storage
26
Online Classification
27
High variance in metrics across full trace Low variance shows online classification succeeds in finding phases
28
Conclusions Phases are a vital abstraction –Performance varies greatly w/in program –Attributable to different modes of behavior Can discover phases automatically –Offline: k-means clustering –Online Code path characterization –Strong correlation with actual performance –SimPoint exploits this with great success
30
Outline Introduction (motivate) Basics (definitions, BBV, BBMatrix) Offline Phase Classification –SimPoints Online Phase Classification Conclusions
31
Limitations of Clustering
32
Bayesian Information Criterion Fit to Gaussians
33
Self-Modifying Code Self-modifying code Program Phases 85 o
34
Learning Phases
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.