A Trace-based Scenario Database for High-level Simulation of ...

2 downloads 6093 Views 4MB Size Report
Feb 29, 2012 - Design for application scenarios ... App 0. Pessimistic Design. P1. P2. P3. Mem. Mem. App 1. P1. P2. P3. Mem .... Performance, Power, Cost, .
Fast Scenario-based Design Space Exploration using Feature Selection Peter van Stralen & Andy Pimentel, University of Amsterdam PARMA 2012 February 29, 2012

Fast Scenario-based Design Space Exploration using Feature Selection Peter van Stralen & Andy Pimentel, University of Amsterdam PARMA 2012 February 29, 2012

Contents !

Introduction !

Early DSE

!

Application Scenarios

!

Scenario-Based DSE !

Design Explorer

!

Subset Selector

!

Experiments

!

Conclusion

Introduction

Early Embedded System Design !

Computer Aided Design !

!

Kahn Process Network (KPN)

App0

IP-based design: !

!

func2

Application Model: !

!

func1

Multiprocessor System-On-Chip

Multiple applications

Mapping !

Allocation: Select IPs for MPSoC

!

Binding: Map processes and channels on IP

func3

func4

App1

CPU-A

MEM MEM 2 3

CPU-E CPU-C MPSoC

func5

Introduction

Early Embedded System Design !

Computer Aided Design !

Application Model: !

!

!

App0

IP-based design: !

!

Kahn Process Network (KPN) Multiprocessor System-On-Chip

Multiple applications

Mapping !

Allocation: Select IPs for MPSoC

!

Binding: Map processes and channels on IP

func3

func4

App1

CPU-A

MEM MEM 2 3

CPU-E CPU-C

func1

MPSoC

func2

func5

Introduction

Early Embedded System Design !

Computer Aided Design !

Application Model: !

!

!

Multiprocessor System-On-Chip

Multiple applications

Mapping ! !

App0

IP-based design: !

!

Kahn Process Network (KPN)

Allocation: Select IPs for MPSoC Binding: Map processes and channels on IP

App1

CPU-A func3

func4

MEM MEM 2 3

CPU-E CPU-C

func1

func2

func5

MPSoC

Introduction

Isolated Design

Why scenarios?

P1

App 0

P2

P3

App 1

Mem

Mem

Multi-application design: !

DSE

Isolated design !

DSE

Map each application in isolation

Pessimistic design !

!

Design for pessimistic case where all applications are active

Scenario-based design ! ! !

Design for application scenarios Realistic view of system usage No over-design

Exec. time

!

Select mapping

Exec. time

Select mapping

Power

Power

P1

Mem

P2

P3

Mem

Introduction Why scenarios?

Pessimistic Design P1

P2

P3

App 0 App 1

Mem

Multi-application design: !

DSE

Isolated design !

Map each application in isolation

!

Pessimistic design !

!

Design for pessimistic case where all applications are active

Scenario-based design ! ! !

Design for application scenarios Realistic view of system usage No over-design

Exec. time

Select mapping

Power

P1

Mem

P2

P3

Mem

Mem

Introduction Why scenarios?

Scenario-based Design P1

P2

P3

Scenario Database Mem

Multi-application design: !

DSE

Isolated design !

Map each application in isolation

!

Pessimistic design !

!

Design for pessimistic case where all applications are active

Scenario-based design ! ! !

Design for application scenarios Realistic view of system usage No over-design

Exec. time

Select mapping

Power

P1

Mem

P2

P3

Mem

Mem

Contents !

Introduction !

Early DSE

!

Application Scenarios

!

Scenario-Based DSE !

Design Explorer

!

Subset Selector

!

Experiments

!

Conclusion

Application Scenarios Inter Application Scenario

Intra and Inter application gsm: INACTIVE

mp3: ACTIVE video: ACTIVE

Intra Application Scenario

gsm: Send

Receive

video: Simple profile

Advanced Simple Profile

mp3: Mono sound

Stereo sound

}

Application Scenario

video: Simple Profile

mp3: Mono sound

Contents !

Introduction !

Early DSE

!

Application Scenarios

!

Scenario-Based DSE !

Design Explorer

!

Subset Selector

!

Experiments

!

Conclusion

Scenario-Based DSE Overview

Parameters !

Rationale !

!

!

!

!

Exponential number of scenarios: Predict fitness of MPSoC Design using scenario subset Representativeness subset only be judged using current MPSoC designs Mutual dependency solved by co-exploration

Design Explorer !

Find best MPSoC designs

!

Averaged over all the scenarios

Architectural Model Application Model

Scenario-Based Design Space Exploration

Candidate Designs

Scenario Database

Selector Best Subset Sample Designs

Updater

Subset Selector !

Get representative subset of scenarios

!

Based on current trainer

Trainer

Scenario-Based DSE Overview

Parameters !

Rationale !

!

!

!

!

Exponential number of scenarios: Predict fitness of MPSoC Design using scenario subset Representativeness subset only be judged using current MPSoC designs Mutual dependency solved by co-exploration

Design Explorer !

Find best MPSoC designs

!

Averaged over all the scenarios

Architectural Model Application Model

Scenario-Based Design Space Exploration

Candidate Designs

Scenario Database

Selector Best Subset Sample Designs

Updater

Subset Selector !

Get representative subset of scenarios

!

Based on current trainer

Trainer

Selector Best Subset Sample Designs

Updater

Trainer

Selector

Scenario-Based DSE Design Explorer (Sesame) !

Simulation of Embedded System Architectures (for Multi-level Exploration) ! !

!

Separation of concerns !

!

High level modeling using events Optimized for speed

Application / Mapping / Architecture

Multi-Objective GA ! !

Chromosome: process and channel part Performance, Power, Cost, ...

Best Subset Sample Designs

Updater

Trainer

Selector Best Subset Sample Designs

Scenario-Based DSE

Updater

Design Explorer (Sesame)

Inter application scenario Intra application Intra application scenario scenario

! !

!

High level modeling Optimized for speed

Separation of concerns !

0

6 8

12 9

Quality Control 2 11

10

Display

MP3

01012

Application / Mapping / Architecture

0 FIFO

!

Video

0

2 1

2

1 Memory

0 Processor

Processor

Multi-Objective GA Chromosome: process and channel part Performance, Power, Cost, ...

4

20111011

0

!

3

1

7

Processor

!

Decode

Encode

Mapping

Simulation of Embedded System Architectures (for Multi-level Exploration)

5

Sample

Architecture model

!

Application model

Trainer

Selector Best Subset Sample Designs

Updater

Trainer

Selector Best Subset Sample Designs

Scenario-Based DSE Subset Selector !

!

!

Updater

Trainer

Select representative subset of scenarios !

Subset quality determined on current trainer

!

Subset selection using Feature Selection

!

Oscillating Search: incremental and stoppable

Trainer !

Filled with MPSoC designs

!

Selected from Design Explorer

!

Exhaustively evaluated

Fitness Value I. Rank Correlation

26 6 19 7 42 48

Do best replacement

Trainer

26 6 33 7 42 48

Selector Best Subset Sample Designs

Scenario-Based DSE

Updater

Subset Selector

Trainer

Rank Correlation

Select representative subset of scenarios ! ! !

Subset quality determined on current trainer Subset selection using Feature Selection Oscillating Search: incremental and stoppable

f2

Real Ranking

!

3

4 3

2 2

4 3

2

Trainer ! !

f1

Filled with mappings Selected from mapping space Exhaustively evaluated

Fitness Value I. Rank Correlation

f2

Predicted Ranking

!

!

3

1 1

!

4

2

4 2 2

1 1

4

3

1

3

3 2

33% Misclassification

f1

Selector Best Subset Sample Designs

Updater

Trainer

Selector Best Subset Sample Designs

Scenario-based DSE

Updater

Trainer Selection !

!

Trainer

Conflicting requirements !

Compact

!

Representative

Update procedure

Trainer Selection f2

2. Evaluate real fitness 3. Add designs to trainer 4. Truncate trainer (based on real rank) !

Limited overhead updater !

Separate worker threads for Design Explorer and Updater

T

T

1. Select designs (based on pred. rank)

T T T

T f1

Contents !

Introduction !

Early DSE

!

Application Scenarios

!

Scenario-Based DSE !

Design Explorer

!

Subset Selector

!

Experiments

!

Conclusion

Experiments

!

DSE search of optimal instances !

Multi-objective optimization

!

Multi-application

!

Heterogeneous platform

Pareto front !

Set of non-dominated designs

!

Compared by hypervolume

Pareto Front Pareto Front

100

80

Estimated Cost

!

* 60

40

20

* ** * * ** * 1e+06

1.5e+06

* * 2e+06

2.5e+06

Estimated Execution Time

*3e+06 **

Experiments Evaluation Time 1 0.95 0.9 0.85 0.8 0.75 0.7 0.65 0.6 0.55 0.5

Traditional DSE SDSE with FS 0

1000

2000

3000

4000

Convergence of Pareto Front

Hypervolume Area

Hypervolume Area

Convergence of Pareto Front over Time

5000

Time (sec)

1 0.95 0.9 0.85 0.8 0.75 0.7 0.65 0.6 0.55 0.5

Traditional DSE SDSE with FS 0

50

100

150 Generation

!

Traditional DSE is better when only looked to generations

!

Time based comparison shows that fitness prediction is better

!

For early DSE speed matters

200

250

300

Experiments Subset Selection

Convergence of Pareto Front

70

FS-15 GA-15 FS-60 GA-60 FS-240 GA-240 FS-3000 GA-3000

60 50 40 30 20 10

Hypervolume Area

Misclassification rate (%)

Dynamic Subset Quality versus Size

0 0

100

200

300

400

500

!

GA better in the initial phase

!

FS eventually outperforms GA

50

100

150

200

250

300

Generation

Time (sec)

The larger the subset the better

SDSE with FS SDSE with GA 0

600

!

0.99 0.98 0.97 0.96 0.95 0.94 0.93 0.92 0.91 0.9 0.89

!

In the initial phase fitness is different enough to tolerate imprecise prediction

!

Eventually, prediction becomes important and FS outperforms GA

!

Trade-off size vs. precision

Experiments Subset Selection

Convergence of Pareto Front

70

FS-15 GA-15 FS-60 GA-60 FS-240 GA-240 FS-3000 GA-3000

60 50 40 30 20 10

Hypervolume Area

Misclassification rate (%)

Dynamic Subset Quality versus Size

0 0

100

200

300

400

500

!

GA better in the initial phase

!

FS eventually outperforms GA

50

100

150

200

250

300

Generation

Time (sec)

The larger the subset the better

SDSE with FS SDSE with GA 0

600

!

0.99 0.98 0.97 0.96 0.95 0.94 0.93 0.92 0.91 0.9 0.89

!

In the initial phase fitness is different enough to tolerate imprecise prediction

!

Eventually, prediction becomes important and FS outperforms GA

!

Trade-off size vs. precision

Contents !

Introduction !

Early DSE

!

Application Scenarios

!

Scenario-Based DSE !

Design Explorer

!

Subset Selector

!

Experiments

!

Conclusion

Conclusions !

!

Scenario-Based DSE !

Fast early DSE of MPSoC mapping

!

Dynamic fitness

!

Simultaneous search of mapping and representative subset

Results !

Better Pareto fronts

!

Higher probability for good outcome

!

Provides a trade-off between quality and evaluation time

Thank you for listening!

Any Questions?

Suggest Documents