cisc 879 - machine learning for solving systems problems arch explorer lecture 5 john cavazos dept...

21
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

Upload: rodger-harrison

Post on 11-Jan-2016

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CISC 879 - Machine Learning for Solving Systems Problems Arch Explorer Lecture 5 John Cavazos Dept of Computer & Information Sciences University of Delaware

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

Page 2: CISC 879 - Machine Learning for Solving Systems Problems Arch Explorer Lecture 5 John Cavazos Dept of Computer & Information Sciences University of Delaware

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

Page 3: CISC 879 - Machine Learning for Solving Systems Problems Arch Explorer Lecture 5 John Cavazos Dept of Computer & Information Sciences University of Delaware

CISC 879 - Machine Learning for Solving Systems Problems

Computer Arch Research

3

Page 4: CISC 879 - Machine Learning for Solving Systems Problems Arch Explorer Lecture 5 John Cavazos Dept of Computer & Information Sciences University of Delaware

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!

Page 5: CISC 879 - Machine Learning for Solving Systems Problems Arch Explorer Lecture 5 John Cavazos Dept of Computer & Information Sciences University of Delaware

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

Page 6: CISC 879 - Machine Learning for Solving Systems Problems Arch Explorer Lecture 5 John Cavazos Dept of Computer & Information Sciences University of Delaware

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

Page 7: CISC 879 - Machine Learning for Solving Systems Problems Arch Explorer Lecture 5 John Cavazos Dept of Computer & Information Sciences University of Delaware

CISC 879 - Machine Learning for Solving Systems Problems

Hardware compatibility

7

Instruction caches Data cachesBranch predictorsInterconnectsMain memoryAccelerators...

Page 8: CISC 879 - Machine Learning for Solving Systems Problems Arch Explorer Lecture 5 John Cavazos Dept of Computer & Information Sciences University of Delaware

CISC 879 - Machine Learning for Solving Systems Problems

Software compatibility

8

Isolate the hardware block, possibly by from centralized control to distributed control

Page 9: CISC 879 - Machine Learning for Solving Systems Problems Arch Explorer Lecture 5 John Cavazos Dept of Computer & Information Sciences University of Delaware

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

Page 10: CISC 879 - Machine Learning for Solving Systems Problems Arch Explorer Lecture 5 John Cavazos Dept of Computer & Information Sciences University of Delaware

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

Page 11: CISC 879 - Machine Learning for Solving Systems Problems Arch Explorer Lecture 5 John Cavazos Dept of Computer & Information Sciences University of Delaware

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

Page 12: CISC 879 - Machine Learning for Solving Systems Problems Arch Explorer Lecture 5 John Cavazos Dept of Computer & Information Sciences University of Delaware

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

Page 13: CISC 879 - Machine Learning for Solving Systems Problems Arch Explorer Lecture 5 John Cavazos Dept of Computer & Information Sciences University of Delaware

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

Page 14: CISC 879 - Machine Learning for Solving Systems Problems Arch Explorer Lecture 5 John Cavazos Dept of Computer & Information Sciences University of Delaware

CISC 879 - Machine Learning for Solving Systems Problems

Composing cache hierarchies

14

Page 15: CISC 879 - Machine Learning for Solving Systems Problems Arch Explorer Lecture 5 John Cavazos Dept of Computer & Information Sciences University of Delaware

CISC 879 - Machine Learning for Solving Systems Problems

Speedup and Energy Improvement

15

Page 16: CISC 879 - Machine Learning for Solving Systems Problems Arch Explorer Lecture 5 John Cavazos Dept of Computer & Information Sciences University of Delaware

CISC 879 - Machine Learning for Solving Systems Problems

ARCHEXPLORER.ORGCheck out this website:

16

Page 17: CISC 879 - Machine Learning for Solving Systems Problems Arch Explorer Lecture 5 John Cavazos Dept of Computer & Information Sciences University of Delaware

CISC 879 - Machine Learning for Solving Systems Problems 17

Page 18: CISC 879 - Machine Learning for Solving Systems Problems Arch Explorer Lecture 5 John Cavazos Dept of Computer & Information Sciences University of Delaware

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

Page 19: CISC 879 - Machine Learning for Solving Systems Problems Arch Explorer Lecture 5 John Cavazos Dept of Computer & Information Sciences University of Delaware

CISC 879 - Machine Learning for Solving Systems Problems

ARCHEXPLORER.ORGCheck out this website:

19

Page 20: CISC 879 - Machine Learning for Solving Systems Problems Arch Explorer Lecture 5 John Cavazos Dept of Computer & Information Sciences University of Delaware

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

Page 21: CISC 879 - Machine Learning for Solving Systems Problems Arch Explorer Lecture 5 John Cavazos Dept of Computer & Information Sciences University of Delaware

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