Top Banner
fakultät für informatik informatik 12 technische universität dortmund Mapping of Applications to Multi-Processor Systems Peter Marwedel TU Dortmund, Informatik 12 Germany 2010/12/17 Graphics: © Alexandra Nolte, Gesine Marwedel, 2003 These slides use Microsoft clip arts. Microsoft copyright restrictions apply.
37

Fakultät für informatik informatik 12 technische universität dortmund Mapping of Applications to Multi-Processor Systems Peter Marwedel TU Dortmund, Informatik.

Apr 05, 2015

Download

Documents

Dierk Geschke
Welcome message from author
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
Page 1: Fakultät für informatik informatik 12 technische universität dortmund Mapping of Applications to Multi-Processor Systems Peter Marwedel TU Dortmund, Informatik.

fakultät für informatikinformatik 12

technische universität dortmund

Mapping of Applicationsto Multi-Processor

Systems

Peter MarwedelTU Dortmund, Informatik 12

Germany

2010/12/17

Gra

phic

s: ©

Ale

xand

ra N

olte

, Ges

ine

Mar

wed

el, 2

003

These slides use Microsoft clip arts. Microsoft copyright restrictions apply.

Page 2: Fakultät für informatik informatik 12 technische universität dortmund Mapping of Applications to Multi-Processor Systems Peter Marwedel TU Dortmund, Informatik.

- 2 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2010

Structure of this course

2:Specification

3: ES-hardware

4: system software (RTOS, middleware, …)

8:Test

5: Evaluation & validation (energy, cost, performance, …)

7: Optimization

6: Application mapping

App

licat

ion

Kno

wle

dge Design

repositoryDesign

Numbers denote sequence of chapters

Page 3: Fakultät für informatik informatik 12 technische universität dortmund Mapping of Applications to Multi-Processor Systems Peter Marwedel TU Dortmund, Informatik.

- 3 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2010

The need to support heterogeneous architectures

Energy efficiency a key constraint, e.g. for mobile systems

© Hugo De Man/Philips, 2007

“inherent power

efficiency (IPE)“

Unconventional architectures close to IPE

Efficiency required

for smart assistants

How to map to these architectures?

© R

enes

as, M

PS

oC‘0

7

Page 4: Fakultät für informatik informatik 12 technische universität dortmund Mapping of Applications to Multi-Processor Systems Peter Marwedel TU Dortmund, Informatik.

- 4 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2010

Practical problem in automotive design

Which processor should run the software?

Page 5: Fakultät für informatik informatik 12 technische universität dortmund Mapping of Applications to Multi-Processor Systems Peter Marwedel TU Dortmund, Informatik.

- 5 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2010

A Simple Classification

Architecture fixed/Auto-parallelizing

Fixed Architecture Architecture to be designed

Starting from given task graph

Map to CELL, Hopes,Qiang XU (HK)Simunic (UCSD)

COOL codesign tool;

EXPO/SPEA2SystemCodesigner

Auto-parallelizing Mnemee (Dortmund)Franke (Edinburgh)

Daedalus

MAPS

Page 6: Fakultät für informatik informatik 12 technische universität dortmund Mapping of Applications to Multi-Processor Systems Peter Marwedel TU Dortmund, Informatik.

- 6 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2010

Example: System Synthesis

© L. Thiele, ETHZ

Page 7: Fakultät für informatik informatik 12 technische universität dortmund Mapping of Applications to Multi-Processor Systems Peter Marwedel TU Dortmund, Informatik.

- 7 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2010

Basic Model – Problem Graph

© L. Thiele, ETHZ

Page 8: Fakultät für informatik informatik 12 technische universität dortmund Mapping of Applications to Multi-Processor Systems Peter Marwedel TU Dortmund, Informatik.

- 8 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2010

Basic Model: Specification Graph

© L. Thiele, ETHZ

Page 9: Fakultät für informatik informatik 12 technische universität dortmund Mapping of Applications to Multi-Processor Systems Peter Marwedel TU Dortmund, Informatik.

- 9 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2010

Design Space

Scheduling/Arbitration

proportionalshareWFQ

staticdynamicfixed priority

EDFTDMA

FCFS

Communication Templates

Architecture # 1 Architecture # 2

Computation Templates

DSP

E

Cipher

SDRAMRISC

FPGA

LookUp

DSP

TDMA

Priority

EDF

WFQ

RISC

DSP

LookUp

Cipher

E E E

E E E

static

Which architecture is better suited for our application?

© L. Thiele, ETHZ

Page 10: Fakultät für informatik informatik 12 technische universität dortmund Mapping of Applications to Multi-Processor Systems Peter Marwedel TU Dortmund, Informatik.

- 10 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2010

Evolutionary Algorithmsfor Design Space Exploration (DSE)

© L. Thiele, ETHZ

Page 11: Fakultät für informatik informatik 12 technische universität dortmund Mapping of Applications to Multi-Processor Systems Peter Marwedel TU Dortmund, Informatik.

- 11 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2010

Challenges

© L. Thiele, ETHZ

Page 12: Fakultät für informatik informatik 12 technische universität dortmund Mapping of Applications to Multi-Processor Systems Peter Marwedel TU Dortmund, Informatik.

- 12 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2010

Exploration Cycle

EXPO – Tool architecture (1)

MOSES

EXPO SPEA 2

selectionof “good” architectures

system architectureperformance values

task graph, scenario graph,

flows & resources

© L. Thiele, ETHZ

Page 13: Fakultät für informatik informatik 12 technische universität dortmund Mapping of Applications to Multi-Processor Systems Peter Marwedel TU Dortmund, Informatik.

- 13 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2010

EXPO – Tool architecture (2)

Tool available online:http://

www.tik.ee.ethz.ch/expo/expo.html

Tool available online:http://

www.tik.ee.ethz.ch/expo/expo.html

© L. Thiele, ETHZ

Page 14: Fakultät für informatik informatik 12 technische universität dortmund Mapping of Applications to Multi-Processor Systems Peter Marwedel TU Dortmund, Informatik.

- 14 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2010

EXPO – Tool (3)

© L. Thiele, ETHZ

Page 15: Fakultät für informatik informatik 12 technische universität dortmund Mapping of Applications to Multi-Processor Systems Peter Marwedel TU Dortmund, Informatik.

- 15 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2010

Application Model

Example of a simple stream processing task structure:

© L. Thiele, ETHZ

Page 16: Fakultät für informatik informatik 12 technische universität dortmund Mapping of Applications to Multi-Processor Systems Peter Marwedel TU Dortmund, Informatik.

- 16 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2010

Exploration – Case Study (1)

© L. Thiele, ETHZ

Page 17: Fakultät für informatik informatik 12 technische universität dortmund Mapping of Applications to Multi-Processor Systems Peter Marwedel TU Dortmund, Informatik.

- 17 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2010

Exploration – Case Study (2)

© L. Thiele, ETHZ

Page 18: Fakultät für informatik informatik 12 technische universität dortmund Mapping of Applications to Multi-Processor Systems Peter Marwedel TU Dortmund, Informatik.

- 18 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2010

Exploration – Case Study (3)

© L. Thiele, ETHZ

Page 19: Fakultät für informatik informatik 12 technische universität dortmund Mapping of Applications to Multi-Processor Systems Peter Marwedel TU Dortmund, Informatik.

- 19 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2010

More Results

Performance for encryption/decryptio

nPerformance forRT voice processing

© L. Thiele, ETHZ

Page 20: Fakultät für informatik informatik 12 technische universität dortmund Mapping of Applications to Multi-Processor Systems Peter Marwedel TU Dortmund, Informatik.

- 20 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2010

Design Space Exploration with SystemCoDesigner(Teich, Erlangen)

System Synthesis comprises:

• Resource allocation• Actor binding• Channel mapping• Transaction modeling

Idea:• Formulate synthesis problem

as 0-1 ILP• Use Pseudo-Boolean (PB)

solver to find feasible solution

• Use multi-objective Evolutionary algorithm (MOEA) to optimize Decision Strategy of the PB solver

© J. Teich, U. Erlangen-Nürnberg

Page 21: Fakultät für informatik informatik 12 technische universität dortmund Mapping of Applications to Multi-Processor Systems Peter Marwedel TU Dortmund, Informatik.

- 21 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2010

A 3rd approach based on evolutionary algorithms:SYMTA/S:

[R. Ernst et al.: A framework for modular analysis and exploration of

heteterogenous embedded systems, Real-time Systems, 2006, p. 124]

Page 22: Fakultät für informatik informatik 12 technische universität dortmund Mapping of Applications to Multi-Processor Systems Peter Marwedel TU Dortmund, Informatik.

- 22 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2010

A Simple Classification

Architecture fixed/Auto-parallelizing

Fixed Architecture Architecture to be designed

Starting from given task graph

Map to CELL, HopesQiang XU (HK)Simunic (UCSD)

COOL codesign tool;

EXPO/SPEA2SystemCodesigner

Auto-parallelizing Mnemee (Dortmund)Franke (Edinburgh)

Daedalus

MAPS

Page 23: Fakultät für informatik informatik 12 technische universität dortmund Mapping of Applications to Multi-Processor Systems Peter Marwedel TU Dortmund, Informatik.

- 23 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2010

A fixed architecture approach: Map CELL

Martino Ruggiero, Luca Benini: Mapping task graphs to the CELL BE processor, 1st Workshop on Mapping of Applications to MPSoCs, Rheinfels Castle, 2008

Page 24: Fakultät für informatik informatik 12 technische universität dortmund Mapping of Applications to Multi-Processor Systems Peter Marwedel TU Dortmund, Informatik.

- 24 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2010

Partitioning into Allocation and Scheduling

R

© Ruggiero, Benini, 2008

Page 25: Fakultät für informatik informatik 12 technische universität dortmund Mapping of Applications to Multi-Processor Systems Peter Marwedel TU Dortmund, Informatik.

- 25 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2010

Page 26: Fakultät für informatik informatik 12 technische universität dortmund Mapping of Applications to Multi-Processor Systems Peter Marwedel TU Dortmund, Informatik.

- 26 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2010

A Simple Classification

Architecture fixed/Auto-parallelizing

Fixed Architecture Architecture to be designed

Starting from given task graph

Map to CELL, Hopes,Qiang XU (HK)Simunic (UCSD)

COOL codesign tool;

EXPO/SPEA2SystemCodesigner

Auto-parallelizing Mnemee (Dortmund)Franke (Edinburgh)

Daedalus

MAPS

Page 27: Fakultät für informatik informatik 12 technische universität dortmund Mapping of Applications to Multi-Processor Systems Peter Marwedel TU Dortmund, Informatik.

- 27 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2010

Daedalus Design-flow

System-level synthesis

Library ofIP cores

Platform specification

Sequentialapplication

Parallel application specification

AutomaticParallelization

High-levelModels

Mappingspecification

System-level design space exploration

Explore, modify, select instances

Multi-processor System on Chip(Synthesizable VHDL and C/C++ code for processors)

RTL-levelModels

Common XMLInterface

Library ofIP cores

KPNgenSesame

ESPAM

Xilinx Platform Studio (XPS)

RTL-LevelSpecification

System-LevelSpecification

Synthesizable VHDL

C/C++ code for processors

MP-SoC

Kahn Process Network

Sequentialapplication

© E. Deprettere,U. Leiden

Ed Deprettere et al.: Toward Composable Multimedia MP-SoC Design,1st Workshop on Mapping of Applications to MPSoCs, Rheinfels Castle, 2008

Page 28: Fakultät für informatik informatik 12 technische universität dortmund Mapping of Applications to Multi-Processor Systems Peter Marwedel TU Dortmund, Informatik.

- 28 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2010

Example architecture instances for a single-tile JPEG encoder:

JPEG/JPEG2000 case study

2 MicroBlaze processors (50KB) 1 MicroBlaze, 1HW DCT (36KB)

6 MicroBlaze processors (120KB) 4 MicroBlaze, 2HW DCT (68KB)

Vin

8KB

4x2KB

4x2KB

4x16KB

32KB

16KB 32KB2KB

32KB

2KB

2KB 2KB

2KB2KB 2KB

8KB

8KB

8KB

32KB 4KB

VLE, Vout

DCT, Q

DCT, Q

DCT, Q

DCT, Q

Vin,DCT Q,VLE,Vout Vin,Q,VLE,Vout

Vin

Q

Q

VLE, Vout

DCT

DCT

DCT

© E. Deprettere,U. Leiden

Page 29: Fakultät für informatik informatik 12 technische universität dortmund Mapping of Applications to Multi-Processor Systems Peter Marwedel TU Dortmund, Informatik.

- 29 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2010

Sesame DSE results: Single JPEG encoder DSE

© E. Deprettere,U. Leiden

Page 30: Fakultät für informatik informatik 12 technische universität dortmund Mapping of Applications to Multi-Processor Systems Peter Marwedel TU Dortmund, Informatik.

- 30 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2010

A Simple Classification

Architecture fixed/Auto-parallelizing

Fixed Architecture Architecture to be designed

Starting from given task graph

Map to CELL, Hopes,Qiang XU (HK)Simunic (UCSD)

COOL codesign tool;

EXPO/SPEA2SystemCodesigner

Auto-parallelizing Mnemee (Dortmund)Franke (Edinburgh)

Daedalus

MAPS

Page 31: Fakultät für informatik informatik 12 technische universität dortmund Mapping of Applications to Multi-Processor Systems Peter Marwedel TU Dortmund, Informatik.

- 31 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2010

Auto-Parallelizing Compilers

Discipline “High Performance Computing”: Research on vectorizing compilers for more than 25 years. Traditionally: Fortran compilers. Such vectorizing compilers usually inappropriate for Multi-

DSPs, since assumptions on memory model unrealistic:

• Communication between processors via shared memory

• Memory has only one single common address space

De Facto no auto-parallelizing compiler for Multi-DSPs! Work of Franke, O’Boyle (Edinburgh)

© Falk

Page 32: Fakultät für informatik informatik 12 technische universität dortmund Mapping of Applications to Multi-Processor Systems Peter Marwedel TU Dortmund, Informatik.

- 32 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2010

MACC_SystemMACC_System

Introduction of Memory Architecture-Aware OptimizationThe MACC PMS (Processor/Memory/Switch) Model

CPU1

SPM

MM2

CPU2

SPM

L1$

BRI

CPU3

SPM

L1$

L2$ MM3

BUS1

BUS2

MM1

Explicit memory architecture API provides access to memory information

Ccode

Page 33: Fakultät für informatik informatik 12 technische universität dortmund Mapping of Applications to Multi-Processor Systems Peter Marwedel TU Dortmund, Informatik.

- 33 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2010

MaCC Modeling Example via GUI

Page 34: Fakultät für informatik informatik 12 technische universität dortmund Mapping of Applications to Multi-Processor Systems Peter Marwedel TU Dortmund, Informatik.

- 34 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2010

Page 34

Toolflow Detailed View

1. Optimization of dynamic data structures

2. Extraction of potential parallelism

3. Implementation of parallelism;placement of static data

4. Placement of dynamic data

(1) Dynamic Data Type Optimizations

(2) Map source code to task graphs

(3) Parallelization Implem.

Memory Hierarchy (MH)

MPSoC Parallelization Assistant (MPA)

MACC Eco-System

MN

EM

EE

Toolflow

(Sequential C Source Code)START

(4) Dynamic Memory Management Optimizations

Page 35: Fakultät für informatik informatik 12 technische universität dortmund Mapping of Applications to Multi-Processor Systems Peter Marwedel TU Dortmund, Informatik.

- 35 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2010

Page 35

Toolflow Detailed View

MN

EM

EE

Toolflow

(7) Scratchpad Memory Optimizations per PE

END(Optimized Source Code)

Platform DB

(6) RTLIB Mapping

(5) Scenario Based

Mapping

(5) Memory Aware

Mapping

5. Perform mapping to processing elements

• Scenario based

• Memory aware

6. Transform the code to implement the mapping

7. Perform scratchpad memory optimizations for each processing element

Page 36: Fakultät für informatik informatik 12 technische universität dortmund Mapping of Applications to Multi-Processor Systems Peter Marwedel TU Dortmund, Informatik.

- 36 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2010

MAPS-TCT Framework

Rai

ner

Leup

ers,

Wei

hua

She

ng:

MA

PS

: A

n In

tegr

ated

Fra

mew

ork

for

MP

SoC

App

licat

ion

Par

alle

lizat

ion,

1st

Wor

ksho

p on

Map

ping

of

App

licat

ions

to

MP

SoC

s, R

hein

fels

Cas

tle,

2008

© L

eupe

rs,

She

ng,

2008

Page 37: Fakultät für informatik informatik 12 technische universität dortmund Mapping of Applications to Multi-Processor Systems Peter Marwedel TU Dortmund, Informatik.

- 37 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2010

Summary

Clear trend toward multi-processor systems for embedded systems, there exists a large design space

Using architecture crucially depends on mapping tools Mapping applications onto heterogeneous MP systems

needs allocation (if hardware is not fixed), binding of tasks to resources, scheduling

Two criteria for classification• Fixed / flexible architecture• Auto parallelizing / non-parallelizing

Introduction to proposed Mnemee tool chain

Evolutionary algorithms currently the best choice