New Methods for Exploiting Program Structure and Behavior in Computer Architecture Guri Sohi [email protected]Computer Sciences Department University of Wisconsin-Madison Contributors: Andreas Moshovos, Avinash Sodani, Amir Roth, Andy Glew, Craig Zilles, Harit Modi, Adam Butts, Param Oberoi
33
Embed
New Methods for Exploiting Program Structure and Behavior ...
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
New Methods forExploiting Program Structure and Behavior
New Methods for Exploiting Program Structure and Behavior in Compute
chanics II - Learning Dependences
l = l->nl = l->nDone
Output Load
l = l->next
l->key
l = l->nextA B
B
B
C
stablish (dynamic) dependence betweenTi
me
/Pro
gra
m O
rde
r
B l = l->n
1. Buffer recent loa
Use values exchan
2. Compare curre
r Architecture Slide25
ss
D-Cache
t
le
C->next
Me
New Methods for Exploiting Program Structure and Behavior in Compute
chanics III - Prefetching
2. Compute prefetch addre
l = l->nextl = l->next
l = l->nexl->key
Done Can goB
l = l->next
l->key
l = l->next
l->key
B C
C
C
D
Tim
e/P
rog
ram
Ord
er
1. Access dependence tab
r Architecture Slide26
ram structure
, managed,nce refiners?
Sum
• Sin
• Ha
• H
New Methods for Exploiting Program Structure and Behavior in Compute
mary and More Questions
everal applications for very limited progformation
ow should this information be gatherednd provided to the hardware performa
O described techniques used hardwareO software knows this information trivially
ow can software get involved?O 4 models
r Architecture Slide27
ormation.nere possible with
Mo
• HR
New Methods for Exploiting Program Structure and Behavior in Compute
del 1 for Software Involvement
ardware extracts program structure infepresents internally in declarative man
- Likely to have limited abilities; much morsoftware
+ may be only practical option
r Architecture Slide28
tion available
r hardware
e
are platformses of changes in
Mo
• Str
• U
• E
• D
• B
New Methods for Exploiting Program Structure and Behavior in Compute
del 2 for Software Involvement
oftware has program structure informaivially
se information to develop mandate fo
xpress mandate in imperative languag
oes not work with a collection of hardwO balance keeps shifting with disparate rat
technology
een there, done that
r Architecture Slide29
hardware
on
atable).re (not
Mo
• E
• S
• A
New Methods for Exploiting Program Structure and Behavior in Compute
del 3 for Software Involvement
xpress computation as a dataflow grapO dependence relationships available to h
hould this be done? NOO No repeatable state for program executi
dvantages of repeatable stateO Easy to write debug software (debO Easy to design, build, verify hardwa
debatable
r Architecture Slide30
ner
mation in a
Mo
• E
• Pd
• O
New Methods for Exploiting Program Structure and Behavior in Compute
del 4 for Software Involvement
xpress computation in imperative manO repeatable state
rovide advisory program structure inforeclarative manner
verheads for doing soO provide information judiciously
r Architecture Slide31
uired?
rmation?
re?
Res
New Methods for Exploiting Program Structure and Behavior in Compute
earch Issues
For a particular optimizationO What program structure information is reqO How do we represent this information?O How do we collect and manage this info
More broadlyO Where can we apply program structure?O Is there a larger framework?O What is general purpose program structuO Implementations?
r Architecture Slide32
tionwkward
Res
New Methods for Exploiting Program Structure and Behavior in Compute
each Issues II: Implementations
Hardware only
Software to hardwareO Compiler has all kinds of program informaO How to express it? Instruction-like things aO Where and how much to express?
Software/hardware hybrids
r Architecture Slide33
tionsfuture
on observed
ed programre actions
rs
veying,ation
Sum
• A(pp
• Ce
• Fst
• S
• Sm
New Methods for Exploiting Program Structure and Behavior in Compute
mary
rchitectural/microarchitectural innovaerformance refiners) will be critical to
rocessor performance growth
urrent performance refiners are basedvents
uture performance enablers likely to neructure to reason about program’s futu
everal examples presented; many othe
everal research issues in gathering, conaintaining, and managing such inform