CISC 879 - Machine Learning for Solving Systems Problems Arch Explorer Lecture 5 John Cavazos Dept of Computer & Information Sciences University of Delaware www.cis.udel.edu/~cavazos/cisc879
CISC 879 - Machine Learning for Solving Systems Problems
Arch ExplorerLecture 5
John CavazosDept of Computer & Information Sciences
University of Delaware
www.cis.udel.edu/~cavazos/cisc879
CISC 879 - Machine Learning for Solving Systems Problems
Motivation
2
0,98
0,99
1,00
1,01
1,02
1,03
1,04
1,05
1,06
1,07
1,08
1,09
1,10
1,11
VC('82)
TP('8
2)
SP('9
0)
Mar
kov(
'97)
FVC(
'00)
DBCP('0
1)
TKVC('0
2)
TK('0
2)
CDP('0
2)
CDPSP
('02)
TCP('0
3)
GHB('0
4)
Mechanism
Avera
ge S
peed
up
[MICRO 2004, Gracia-Pérez et al.]
Need for systematic quantitative comparison
Need for systematic quantitative comparison
CISC 879 - Machine Learning for Solving Systems Problems
Computer Arch Research
3
CISC 879 - Machine Learning for Solving Systems Problems
Design space exploration
4
Time-to-marketTime-to-marketarea
power
execution time
Multi-objectivesMulti-objectives
Need more than intuition and experience!
CISC 879 - Machine Learning for Solving Systems Problems
ArchExplorer
5
archexplorer.org database
simulation cluster
upload
daily update
pick design points
add results
test
Server-side InfrastructureWebsite
FULLY AUTOMATIC
CISC 879 - Machine Learning for Solving Systems Problems
How to compare?
1. Custom simulator2. Hardware compatibility3. Software compatibility4. Upload
6
Wrapped Simulator& Parameter ranges
CustomSimulator
DL1
CPU
DSM
EX WB CMM
F
$ TLB
$
$ TLB
$
MEM
D S EX WB CMM
FSM
IL1BP
L2
S
MEM
CISC 879 - Machine Learning for Solving Systems Problems
Hardware compatibility
7
Instruction caches Data cachesBranch predictorsInterconnectsMain memoryAccelerators...
CISC 879 - Machine Learning for Solving Systems Problems
Software compatibility
8
Isolate the hardware block, possibly by from centralized control to distributed control
CISC 879 - Machine Learning for Solving Systems Problems
Software compatibility
9
Self-Configuration and parameters legality
Models of computationWrapping in SystemC-based on UNISIM communication layer
CISC 879 - Machine Learning for Solving Systems Problems
Case study
Memory sub-system for embedded processor• PowerPC405• 8 different cache
modules available• Complex hierarchies
automatically explored
• Ranking designs for performance, power, energy, area,...
Victim Cache
Timekeeping Victim cache
Stride Prefetcher
Content-Directed Prefetcher
Stride + Content Directed Prefetcher
Tag Prefetcher
Global History Prefetcher
Skewed associtiative cache
10
CISC 879 - Machine Learning for Solving Systems Problems
Accurate comparison needs compiler tuning as well
11
1.231.23
2.622.62
1.091.09
P1P1 P2P2<
P1P1 P2P2>
baseline
Tuned to P1, tuned to P2
CISC 879 - Machine Learning for Solving Systems Problems
Best data cache mechanisms per area
12
CONCLUSIONS:1. Contrast to
Gracia-Pérez et al. [MICRO 2004]
2. No clear winner3. Close to tuned
parametric cache
CISC 879 - Machine Learning for Solving Systems Problems
Best data cache mechanisms per area
13
CONCLUSIONS:1. Contrast to
Gracia-Pérez et al. [MICRO 2004]
2. No clear winner3. Close to tuned
parametric cache
CISC 879 - Machine Learning for Solving Systems Problems
Composing cache hierarchies
14
CISC 879 - Machine Learning for Solving Systems Problems
Speedup and Energy Improvement
15
CISC 879 - Machine Learning for Solving Systems Problems
ARCHEXPLORER.ORGCheck out this website:
16
CISC 879 - Machine Learning for Solving Systems Problems 17
CISC 879 - Machine Learning for Solving Systems Problems
Conclusion
• Permanent open competition(s)• Future:
• superscalar processor• branch predictor repository• multi-cores
• Open for your ideas!• NoC, compiler extensions,...
18
CISC 879 - Machine Learning for Solving Systems Problems
ARCHEXPLORER.ORGCheck out this website:
19
CISC 879 - Machine Learning for Solving Systems Problems
Genetic Search Algorithm
Convergence
• Permanently ranks all designs • per area bucket• speedup or power• assigning higher
probability to better points
• Picking a point according to distribution
• Mutations & crossover• Natural selection
20Veerle Desmet – Sylvain Girbal – Olivier Temam6th HiPEAC Industrial Workshop – Thales Nov 26th, 2008
StatisticalExploration
$
BPBP
CPU$$
MEM
CISC 879 - Machine Learning for Solving Systems Problems
Standardized Interfaces
ModuleRepository
Features for Systematic DSE
Module parameter tuningModule explorationCompiler
Exploration
Design Space Exploration
CompatibilityDatabase
ParameterCheck
ParameterIntrospection
Compatibilitydatabase
Compiler FlagDatabase
benchmarksdatasets
PPC ARM
WB$ VC$ SP$NBWB$ TVC$
CDP$ CDPSP$ TagP$ GHB$
BUS
DRAM
Module categoryModule interfaces
Known models
Probing neighborsparameters
Configuration validityRanges
Params. relationship
DRAMnBanks {2;4;8}tRAS+tCD<tRCD
focused search algorithm
configsSelection probabilityFast convergence
configsconfigs
Predictive modeling
compilerflags
Machine description
http://unisim.org