Does Training Input Selection Matter for FeedbackDirected Optimizations
Does Training Input Selection Matter for Feedback-Directed Optimizations? Paul Berube berube@cs. ualberta. ca University of Alberta CDP 05, October 17, 2005 September 28, 2005 Paul Berube
Outline • • Background and motivation Aestimo: an FDO evaluation tool Workload Selection Results September 28, 2005 Paul Berube 2
What Is FDO? Feedback-Directed Optimization: compile September 28, 2005 train compile Paul Berube evaluate 3
What Is FDO? Feedback-Directed Optimization: compile training input September 28, 2005 train compile profile eval input Paul Berube evaluate 4
Performance Evaluation Space Evaluation Inputs Static optimization September 28, 2005 Programs Paul Berube 5
Performance Evaluation Space Evaluation Inputs FDO Tr ain ing In pu ts Programs September 28, 2005 Paul Berube 6
SPEC Usually 1 Ref input Programs Tr ain ing In pu ts Evaluation Inputs Performance Evaluation Space September 28, 2005 Only 1 Train input Paul Berube 7
The Big Question • Does the selection of training inputs matter for feedback-directed optimization? – Different transformation decisions? – Different performance? September 28, 2005 Paul Berube 8
Aestimo • An FDO evaluation tool • Automates training and evaluating on a large number of inputs • Isolates individual transformations – Fewer experiment variables – Results vary by transformation • Measures: – Differences in transformation decisions – Performance differences September 28, 2005 Paul Berube 9
An Overview of Aestimo Compile Program Workload Binaries Optimization Logs Execute Analyze September 28, 2005 Paul Berube 10
An Overview of Aestimo Compile Program Workload One Per Input Binaries Optimization Logs Execute Analyze September 28, 2005 Paul Berube 11
An Overview of Aestimo Compile Program Workload Binaries Optimization Logs Binary X Input 5 times each Execute Analyze September 28, 2005 Paul Berube 12
An Overview of Aestimo Compile Program Workload Binaries Optimization Logs Execute Workload Performanc e September 28, 2005 Analyze Paul Berube 13
An Overview of Aestimo Compile Program Workload Binaries Optimization Logs Execute Workload Performanc e September 28, 2005 Analyze Paul Berube Transformatio n Differences 14
An Overview of Aestimo Compile Program Workload Binaries Optimization Logs Execute Workload Performanc e Analyze Transformatio n Differences FDO vs. Static September 28, 2005 Paul Berube 15
An Overview of Aestimo Compile Program Workload Binaries Optimization Logs Execute Workload Performanc e Analyze FDO vs. Static September 28, 2005 Transformatio n Differences Resubstitution Paul Berube 16
Compilation Process Source Static Compile Static Binary September 28, 2005 Optimization Log Paul Berube 17
Compilation Process Source Static Compile Instr. Compile Profile FDO Compile Static Binary September 28, 2005 Optimization Log Paul Berube Instrumented Binary Training Input Training Run FDO Binary 18
Compilation Process Source Static Compile Instr. Compile Profile FDO Compile Static Binary Optimization Log Training Input Training Run FDO Binary Optimization Log Static Compile September 28, 2005 Instrumented Binary Paul Berube Final Binary 19
Compilation Process Source Static Compile Instr. Compile Profile FDO Compile Static Binary Optimization Log Training Input Training Run FDO Binary Optimization Log Static Compile September 28, 2005 Instrumented Binary Paul Berube Final Binary 20
Workload Selection • SPEC CINT 2000 Benchmark inputs – 8 programs, 32 input • 84 Additional Inputs – Contacted benchmark authors – Varied representative inputs – Existing collections – Synthetic input generator September 28, 2005 Paul Berube 21
Results • ORC compiler • Inlining and if conversion • Itanium and Itanium 2 processors September 28, 2005 Paul Berube 22
Workload Performance: bzip 2 Inlining Itanium September 28, 2005 Paul Berube 23
Workload Performance: bzip 2 Training Input Selection Matters! Inlining Itanium September 28, 2005 Paul Berube 24
Summary of Contributions • Training input selection does impact optimization decisions and performance • Aestimo: – Automates training and evaluating on a large number of inputs – Isolates individual transformations • A large collection of representative inputs for SPEC CINT 2000 programs September 28, 2005 Paul Berube 25
Thank You Questions? September 28, 2005 Paul Berube 26
Performance: bzip 2 trained on xml Inlining Itanium September 28, 2005 Paul Berube 27
Performance: bzip 2. combined Inlining Itanium September 28, 2005 Paul Berube 28
- Slides: 28