Simulation & Evaluation de la Consommation de Puissance dans les MPSoC Smail Niar en coopération...

Post on 03-Apr-2015

109 views 1 download

Transcript of Simulation & Evaluation de la Consommation de Puissance dans les MPSoC Smail Niar en coopération...

Simulation & Evaluation de la Consommation de

Puissance dans les MPSoC

Smail Niaren coopération avec:

R.Ben-Atitallah, M.Tawk, S.Meftali, J.L.Dekeyser

Université de ValenciennesINRIA-LILLE DART 1

2

Nos activités de rechercheOutils pour une évaluation rapide de la

consommation de puissance dans les MPSoC (projet ANR Open-People).

Systèmes MPSoC reconfigurables et sécurité routière: systèmes d’aide à la conduite (projet ANR Prima-Care)

Environnement pour la modélisation et l’exploration des MPSoC à haut niveau appli. data intensives (INRIA DART, projet Gaspard)◦ IDM et MARTE.

3

Il était une fois…l’ENIAC (1943)

« The intense heat required it to be run in a climate controlled room, ..vacuum tubes failed rather frequently… ».

« …the ENIAC caused the city of Philadelphia to experience brownouts…. »

4

De quoi allons nous parler aujourd’hui?

5

Pourquoi les architectures multiprocesseurs sont elles de plus en plus populaires?

Qu’est ce qui rend l’évaluation des perf et la conso une tâche complexe?

Comment simuler rapidement les MPSoC pour évaluer rapidement la conso?

You know

what, …

6

Les nouveaux défis :

Avancées technologiques:◦Nbr transistors & densité ↑(2G

transistors)

Applications embarquées ++ complexes et variées. ◦Besoins de HW performants.◦Consommation d’énergie réduite◦HW/SW facile et rapide à dévelop/vérifier (time to market)

7

Solution II : Multiplier les processeursMeilleure utilisation des transistors. ◦Faciliter la réutilisation des unités. Extensibilité

◦Ajout de nouveaux coresOptimisation HW ou SW

◦Customisation de l’architecture possible: Jeu d’instructions (ASIP)

8

Multiprocesseurs…mon grand père m’a raconté l’histoire…

MPSoC diffèrent des architectures multiprocesseurs classiques: ◦1 chip = Processors, Caches, Noc, FPGA, …◦Délais de comm différents◦Nouveau modèles de programmation

"Don’t be encumbered by past history, go off and do something wonderful"

Robert Noyce, co-fondateur d'Intel Corp.

9

2005

2006

2007

2008

2009

2010

2015

0 10 20 30 40 50 60 70 80 90 100

1

2

4

6

8

12

Nombre de processeurs

An

née

9

Nouvelle loi de Moore !! : « Le

nombre de cores double tous les 18

mois » 

10

Architecture typique d’un MPSoC

Network-On-Chip

Core+cac

heCore+cac

he

HW accelerat

or (FP, FFT,

JPEG, ..)

Reconfigurable Logic

Memory Unit

(DRAM, SRAM, SPR, ..)

Memory Unit

(DRAM, SRAM, SPR, ..)

I/OUSB, BT, CAN

I/OUSB, BT, CAN

I/OUSB, BT,

CAN…

MPSoC Example: IBM Sony Cell

11

12

TI Omap 3530

ARM®

Cortex™-A8CPU

L3/L4 Interconnect

C64x+™ DSP and

video accelerators

(3525/3530 only)

Peripherals

Program/Data Storage

System

I2Cx4

Serial Interfaces

10 bit DACVideoEnc

Display Subsystem

ConnectivitySecurity Acc

(HS only)

MMC/SD/

SDIOx3

USB 2.0Host Controller

USB 2.0 HSOTG

Controller

GPMC

SDRCUARTx2

UARTw/IRDA

McBSPx5

McSPIx4

TimersGP x12WDT x3

10 bit DACLCDCont-roller

Image Pipe

Parallel I/F

Camera I/F2D/3DGraphics

(3515/3530 only)

EyeQ2: vision processing MPSoC

13

On chip 1MB of SRAM

On chip 1MB of SRAM

On chip 1MB of SRAM

2 64bits-MT processor

5 DMA with 16

channels

2 2-Mpixel video and imagepreprocessing input ports

CAN & UART ports+I2C interface

11 //opérationspedestrian, lane, vehicle detec. 2nd appli

14

Obstacles: MPSoC: programmation & mise-

pt des appli difficile. MPSoC augmente le nombre de

paramètres: ◦ Processeurs (nombre, types, ..)◦ Caches (taille), unités

fonctionnelles, …◦ Réseau d’interconnection (NoC)◦ Accélérateurs..◦ …

Custumisation des MPSoC: approche ASIP

Architecture Paramétrables◦1 squelette architectural, les composants

configurés.Processeurs à jeu d’instruction

extensibles (modifiables)◦L’ISA extensible en fonction des besoins

de l’application. ◦1 kernel = 1 « custom functional units »

(CFU)

15Tulika MITRA, Design Space Exploration of Application-Specific Processors2nd Workshop Rapid Simulation and Performance Evaluation, RAPIDO’2010, PISA

16

Design flow

17

Modélisation des MPSoCNiveau d’abstraction Objectifs

Algorithmique Description de l’application

TLMTransaction LevelModeling

Processus Communicants (CP)

+ temps = CPT

Tâches décrites dans des processus

communicants, échange de données, pas d’architecture

Vue de Programmeur (PV)

+ temps = PVT

Architecture définie, description fonctionnelle, communication avec des canaux

Cycle précis

et/ou

Bit précis

Cycle précis Archi, pipeline, FSM

Bit précis(CABA) Protocole de communication

RTL : Register

Transfer Level

Registre, bascule, logique combinatoire, etc.

Pré

cisi

on

Vite

sse

Simulation au niveau PVTUn environnement de simulation

au niveau PVT (PV + temps)◦ Vérification rapide du système◦ Analyse de performance du système

(contentions)◦ Analyse de la consommation d’énergie

Notre proposition:◦ PVT motif précis: PVT-PA (Pattern Accurate)◦ PVT transaction précis: PVT-TA (Transaction

Accurate)◦ PVT évènement précis: PVT-EA (Event

Accurate)

Plusieurs compromis entre accélération et précision

Thèse R.Ben-Atitallah, INRIA Lille 2008

Rapport Vitesse de Simulation Vs. Précision

Native execution

Instruction accurate

Précision

Vitesse

1x

1/20x

1/100x

1/1000x

1/10000x

RTL

0% 20% 80% 90%

Cycle Accurate (CA), simplescalar, unisim, mparm, ISS

Cache, NoC, …(Dinero, Luna)

Branch pred

CA+Energie(wattch, powerAnal, soclib, mparm, )

20

Méthodologie pour l’Estimation de la Consommation d’Energie

Développer des modèles de consommation pour chaque type de composants

MIPS R3000

XCACHE

VCI_I0

LOCAL CROSSBAR

MIPS R3000

XCACHE

VCI_I1

MIPS R3000

XCACHE

VCI_I2

MIPS R3000

XCACHE

VCI_I3

VCI_T0 VCI_T1 VCI_T2 VCI_T3

VCI_I0 VCI_I1 VCI_I2 VCI_I3 VCI_I4 VCI_I5 VCI_I6 VCI_I7

Shared Mem0

Shared Mem1

TimerLocksEngine

TTYDisplay0

TTYDisplay1

TTYDisplay2

TTYDisplay3

VCI_T0 VCI_T1 VCI_T0 VCI_T0 VCI_T0 VCI_T0 VCI_T0 VCI_T0

E totale = E processeurs + Ecaches + ESRAM + Econnect

21

Méthodologie pour l’Estimation de la Consommation d’Energie

Stratégie d’estimation: 1. Identifier les activités pertinentes2. Évaluer les coûts énergétiques sur une

plateforme existante3. Mesurer les occurrences au cours de la

simulation Utiliser des compteurs au niveau de la micro-

architecture

Méthode hybride offrant un bon compromis entre accélération et précision

22

Modélisation de la Consommation

Définition des activités pertinentes de gros-grain

Estimation d’énergie des activités de gros-grain

Intégration du modèle d’énergie

Modèle PVT de l’IP

Estimation de l’erreur

Err

eur

> S

euil

Simulation PVT + Estimation d’énergie

Simulation CABA + Estimation d’énergie

IP Préexistant

Estimation avec des modèles analytiques

Énergie des activités de Grain fin

Intégration du modèle d’énergie

Modèle CABA de l’IP

Simulation avec des outils de CAO

NonOuiJeu de données

Définition des activités pertinentes De grain fin

Caractérisation des activités

Sélection de l’IP

23

DCDIR

ICACHEDATA

ICDIR

DCACHEDATA

FSM DC FSM IC

FSM VCI_CMD FSM VCI_RSP

Buffer Buffer

Request FIFO

REQ TYPE WDATA ADR RDATA MISS BER

1 3 32 30 32 1 1

REQ TYPE ADR INS MISS BER

1 30 32 1 1

Type Addr Data

3

RESET

CLK

Exemple de la mémoire cache

Architecture du xcache de SoCLib

24

Exemple de la mémoire cache

Approche appliquée pour d’autres composants◦Processeur MIPS R3000◦Accélérateur TCD-2D, DMAC◦Crossbar

Write tag array Write data array Write FIFO

MISS_UPDT MISS_REQ

READ MISS

(M)

Read tag array Read data array

INIT IDLE WRITE_REQ

Fine grain activities

FSM states

CACHE INIT READ HIT WRITE HITCoarse grain

activities(N)

N: number of cache lines; M: cache bloc size

WRITE MISSPVT

CABA

25

Simulation pour l’Estimation de la Consommation d’Energie

E = N i .Cii

Simulateur d’architecture

Simulateur de consommation

Paramètres de l’architecture

Paramètres du Circuits/

Tech

Valeurs des compteurs

Application

Estimation de performance :Cycles/ms

Estimation de la consommation :

J/W

Ni : Nombre de fois ou l'activité i est réaliséeCi : Coût d'une unité de l'activité i

Résultats de simulation TLM encodeur H.263

Max speedup

Max time error

Max time error

Résultats de simulation TLM encodeur H.263

28

Problèmes posés pour la simul CABA

Configuration(s) optimale(s)

Plusieurs années de simulation pour trouver la meilleure solution

XDifferent HW configurations

109

107 – 108 instructions /programme

Benchmarks

Simulators

1.000.000x moins rapide que l’exécution réelle

Pourquoi Accélérer la Simulation ? Nombre important de paramètres à

configurer ◦ I&D $, nbre processeurs (MPSoC), NoC, etc.

Nombre important d'applications & jeu de données

◦ Applications deviennent de ++ importantes (1G inst)

Complexité croissante des systèmes à simuler

◦ + l'architecture est complexe + la simulation sera longue

1 min. d'exécution = plusieurs heures de simulation

29

Pourquoi Accélérer la Simulation?Augmentation du temps de simulation

avec le nbr de processeurs (ex: rijndael)

30

1 2 3 4 5 6 7 8 9 10 11 120

5

10

15

20

25

30

Nombre de processeurs

K in

stru

ctio

ns

sim

ulé

es/

sec

Approches pour l’Accélération de la Simulation

1. Simulation Statistique: Générer un “programme synthétique”: + petit en # instructions ^m profile

2. Modélisation Analytique : Perf/Puissance approximées analytiquement power (modèles mathématiques).

3. Modélisation à haut niveau: Détails architecturaux négligés (ex : TLM).

4. Emulation sur FPGA.

5. Échantillonnage de l’application.31

Simulation Statistique (SS)

32

add r1, r2, r3ldr r0, [r1]…..

Application

AANBHJKJHTFRDES

Données

Simulation Fct $

( minutes)

Simulation Fct

(secondes)

…Taux de défauts

$….

…Taux de défaut

Pred. ….

Profilage(minutes)

•Répartition instru.

• Distances entre

instru. Dép.

Simulateur(secondes)

Perf. &Conso.

Estimation perf. et consomm.

Programme

Synthétique (PS)

add …ldr ……..

Génération PS

• Influent sur Perf & Conso.• Outils pour analyser séparément

Comportement des ApplicationsLes applications ont tendance à avoir des

phases (répétitions) identiques d’exécutionMêmes blocs d’instructions sont ré-exécutés

(ex: gzip)

33

Accélération par échantillonnage ? Décomposer l’application en intervalles d’une certaine taille (fixe ou var)◦Intervalles contenant les mêmes blocs d’instructions = identiques (Phase)

◦1 échantillon par phase de l’application

Exécuter l’application = Exécuter les phases

35

Accélération par échantillonnage ?

x x y y y z

time

x y zFunctional simulation

Functional simulation

3 phases:3 échantillons sont suffisants

Échantillonnage pour Multiprocesseur

36

Phases de 2 applications s’exécutant

individuellement C

ycle

s

A

B

A

a2

X

Y

X

Y

Z

W

P0

P1

Phases de 2 applications s’exécutant en

parallèle

B en // avec W

M. Tawk, K.Ibrahim, S.Niar, Multi-granularity Sampling for Heterogeneous Concurrent Applications, CASES 2008

A

B

A

B

PC

ycle

s

X

Y

Y

Y

Z

W

P

Cycle

s

B en // avec Z

Échantillonnage pour Multiprocesseur

37

Phases de 2 applications s’exécutant

individuellement C

ycle

s

A

B

A

a2

X

Y

X

Y

Z

W

P0

P1

Phases de 2 applications s’exécutant en

parallèle

B en // avec W

M. Tawk, K.S.Niar, Multi-granularity Sampling for Heterogeneous Concurrent Applications, CASES 2008

A

B

A

B

PC

ycle

s

X

Y

Y

Y

Z

W

P

Cycle

s

B en // avec Z

Impossible de

déterminer à priori les phases

concurrentes

Méthode d’Echantillonnage Adaptatif (AS)

38

Première étape: création d’une trace de phases

Détecter les intervalles similaires: même identificateur de phase

a1

a1

a1

a2

a1

a2

P0

Instr

ucti

on

s

Méthode d’Echantillonnage Adaptatif

39

Cycle

s Clusters de

Séquences (CS)

Inst

P0

Inst

P1

Cycles

Energie

Nbr

a1,a2 – b1, b2, b3

100 k150

kC1

E1 1

a1,a1 – b3 100 k50 k C2E2 1

2

Tableau des CS P0 P1

b3

a1

a1

a1b1

b1b2b1

b1

b2a2

a1

a2

b1b2b1

Cycle

s

a1a1

a2a2

b1

b1

b2

Non sim

ulé

a1b3

a1

a1

a2

b1

b1

b2

Deuxième étape: combiner les séquences de phases formant des clusters de séquences (CS)

Accélération de AS

Facteur d’accélération 795 pour blowfishFacteur d’accélération augmente avec le

TWSB

40

gsm

blo

wfi

sh

fft&

ifft

rijn

dael

h2

64

gsm

blo

wfi

sh

fft&

ifft

rijn

dael

h2

64

gsm

blo

wfi

sh

fft&

ifft

rijn

dael

h2

64

gsm

blo

wfi

sh

fft&

ifft

rijn

dael

h2

64

2 4 8 12

1

10

100

10005% 10% 15% 20%

Nombre de processeurs

Fact

eu

r d

'acc

élé

rati

on

TWSB =

Précision de ASErreur de l’IPC augmente avec le TWSBErreur acceptable (généralement

inférieure à 10%)

41

gsm

blo

wfi

sh

fft&

ifft

rijn

dael

h2

64

gsm

blo

wfi

sh

fft&

ifft

rijn

dael

h2

64

gsm

blo

wfi

sh

fft&

ifft

rijn

dael

h2

64

gsm

blo

wfi

sh

fft&

ifft

rijn

dael

h2

64

2 4 8 12

0%

5%

10%

15%

20%

25%

30% 5% 10% 15% 20%

Nombre de processeurs

Err

eu

r d

e l'IP

C

TWSB =

42

Conclusion:MPSOC alternative intéressante

◦Prochaines générations de systèmes embarqués: MPSoC + Hétérogènes + Dédiées

performance & conso: besoin de DSE, modèles de conso, envi simulation.◦MPSoC de + en + complexes: besoin

d’accélération simulation.Pas de méthodes de simulation

(accélération) idéales: ◦ Hybrider: TLM, échantillonnage, émulation,