Does Training Input Selection Matter for Feedback-Directed - - PowerPoint PPT Presentation

does training input selection matter for feedback
SMART_READER_LITE
LIVE PREVIEW

Does Training Input Selection Matter for Feedback-Directed - - PowerPoint PPT Presentation

Does Training Input Selection Matter for Feedback-Directed Optimizations? Paul Berube berube@cs.ualberta.ca University of Alberta CDP05, October 17, 2005 Outline Background and motivation Aestimo : an FDO evaluation tool


slide-1
SLIDE 1

Does Training Input Selection Matter for Feedback-Directed Optimizations?

Paul Berube

berube@cs.ualberta.ca University of Alberta CDP05, October 17, 2005

slide-2
SLIDE 2

CASCON: October 17, 2005 Paul Berube 2

Outline

  • Background and motivation
  • Aestimo: an FDO evaluation tool
  • Workload Selection
  • Results
slide-3
SLIDE 3

CASCON: October 17, 2005 Paul Berube 3

What Is FDO?

compile train Feedback-Directed Optimization: compile evaluate

slide-4
SLIDE 4

CASCON: October 17, 2005 Paul Berube 4

What Is FDO?

compile train Feedback-Directed Optimization: compile evaluate training input profile eval input

slide-5
SLIDE 5

CASCON: October 17, 2005 Paul Berube 5

Performance Evaluation Space

Programs Evaluation Inputs Static optimization

slide-6
SLIDE 6

CASCON: October 17, 2005 Paul Berube 6

Performance Evaluation Space

Programs Evaluation Inputs Training Inputs FDO

slide-7
SLIDE 7

CASCON: October 17, 2005 Paul Berube 7

Performance Evaluation Space

Programs Evaluation Inputs Training Inputs Only 1 Train input SPEC Usually 1 Ref input

slide-8
SLIDE 8

CASCON: October 17, 2005 Paul Berube 8

The Big Question

  • Does the selection of training inputs matter

for feedback-directed optimization?

– Different transformation decisions? – Different performance?

slide-9
SLIDE 9

CASCON: October 17, 2005 Paul Berube 9

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

slide-10
SLIDE 10

CASCON: October 17, 2005 Paul Berube 10

An Overview of Aestimo

Compile Binaries Optimization Logs Execute Analyze Program Workload

slide-11
SLIDE 11

CASCON: October 17, 2005 Paul Berube 11

An Overview of Aestimo

Compile Binaries Optimization Logs Execute Analyze Program Workload One Per Input One Per Input

slide-12
SLIDE 12

CASCON: October 17, 2005 Paul Berube 12

An Overview of Aestimo

Compile Binaries Optimization Logs Execute Analyze Program Workload Binary X Input 5 times each

slide-13
SLIDE 13

CASCON: October 17, 2005 Paul Berube 13

An Overview of Aestimo

Compile Binaries Optimization Logs Execute Analyze Program Workload

Workload Performance

slide-14
SLIDE 14

CASCON: October 17, 2005 Paul Berube 14

An Overview of Aestimo

Compile Binaries Optimization Logs Execute Analyze Program Workload

Workload Performance Transformation Differences

slide-15
SLIDE 15

CASCON: October 17, 2005 Paul Berube 15

An Overview of Aestimo

Compile Binaries Optimization Logs Execute Analyze Program Workload

FDO vs. Static Workload Performance Transformation Differences

slide-16
SLIDE 16

CASCON: October 17, 2005 Paul Berube 16

An Overview of Aestimo

Compile Binaries Optimization Logs Execute Analyze Program Workload

FDO vs. Static Resubstitution Workload Performance Transformation Differences

slide-17
SLIDE 17

CASCON: October 17, 2005 Paul Berube 17

Compilation Process

Static Binary Optimization Log

Source

Static Compile

slide-18
SLIDE 18

CASCON: October 17, 2005 Paul Berube 18

Compilation Process

Source

Static Compile Static Binary Optimization Log Training Input Instrumented Binary

  • Instr. Compile

Training Run Profile FDO Compile FDO Binary

slide-19
SLIDE 19

CASCON: October 17, 2005 Paul Berube 19

Compilation Process

Source

Static Compile Static Binary Optimization Log

  • Instr. Compile

Training Run Profile FDO Compile FDO Binary Training Input Optimization Log Static Compile Final Binary Instrumented Binary

slide-20
SLIDE 20

CASCON: October 17, 2005 Paul Berube 20

Compilation Process

Source

Static Compile Static Binary Optimization Log

  • Instr. Compile

Instrumented Binary Training Run Profile FDO Compile FDO Binary Training Input Optimization Log Static Compile Final Binary

slide-21
SLIDE 21

CASCON: October 17, 2005 Paul Berube 21

Workload Selection

  • SPEC CINT2000 Benchmark inputs

– 8 programs, 32 input

  • 84 Additional Inputs

– Contacted benchmark authors – Varied representative inputs – Existing collections – Synthetic input generator

slide-22
SLIDE 22

CASCON: October 17, 2005 Paul Berube 22

Results

  • ORC compiler
  • Inlining and if conversion
  • Itanium and Itanium 2 processors
slide-23
SLIDE 23

CASCON: October 17, 2005 Paul Berube 23

Workload Performance: bzip2

Inlining Itanium

slide-24
SLIDE 24

CASCON: October 17, 2005 Paul Berube 24

Workload Performance: bzip2

Training Input Selection Matters!

Inlining Itanium

slide-25
SLIDE 25

CASCON: October 17, 2005 Paul Berube 25

Summary of Contributions

  • Training input selection does impact
  • ptimization 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 CINT2000 programs

slide-26
SLIDE 26

CASCON: October 17, 2005 Paul Berube 26

Thank You Questions?

slide-27
SLIDE 27

CASCON: October 17, 2005 Paul Berube 27

Performance: bzip2 trained on xml

  • 6
  • 4
  • 2

2 4 6 8 10 12

c

  • m

b i n e d c

  • m

p r e s s e d d

  • c

s g a p g r a p h i c j p e g l

  • g

m p 3 m p e g p d f p r

  • g

r a m r a n d

  • m

r e u t e r s s

  • u

r c e x m l

Evaluation Input % Faster than Static

Inlining Itanium

slide-28
SLIDE 28

CASCON: October 17, 2005 Paul Berube 28

Performance: bzip2.combined

2 4 6 8 10 12 14 16 18

c

  • m

b i n e d c

  • m

p r e s s e d d

  • c

s g a p g r a p h i c j p e g l

  • g

m p 3 m p e g p d f p r

  • g

r a m r a n d

  • m

r e u t e r s s

  • u

r c e x m l Evaluation Input % Faster then Static Inlining Itanium