Transcript PPTX

Simulation & Evaluation de la
Consommation de Puissance
dans les MPSoC
Smail Niar
en coopération avec:
R.Ben-Atitallah, M.Tawk, S.Meftali, J.L.Dekeyser
Université de Valenciennes
INRIA-LILLE DART
1
Nos activités de recherche
Outils 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.
2
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…. »
3
De quoi allons nous
parler aujourd’hui?
4
You know
what, …
 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?
5
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)
6
Solution II : Multiplier les processeurs
 Meilleure
utilisation des
transistors.
◦ Faciliter la réutilisation des unités.
 Extensibilité
◦ Ajout de nouveaux cores
 Optimisation
HW ou SW
◦ Customisation de l’architecture
possible: Jeu d’instructions (ASIP)
7
Multiprocesseurs…mon grand
père m’a raconté l’histoire…
"Don’t be encumbered by past history,
go off and do something wonderful"
Robert Noyce, co-fondateur
d'Intel Corp.

MPSoC diffèrent des architectures
multiprocesseurs classiques:
◦ 1 chip = Processors, Caches, Noc, FPGA, …
◦ Délais de comm différents
◦ Nouveau modèles de programmation
8
0
20
Nombre de processeurs
40
60
80
100
Année
2015
2010
12
2009
8
2008
2007
6
4
2006 2
2005 1
Nouvelle loi de Moore
!! : « Le nombre de cores
double tous les 18
mois »
9
Architecture typique d’un MPSoC
Core+
cache
Core+
cache
HW
accelerator
(FP, FFT,
JPEG, ..)
Network-OnChip
Reconfigurable
Logic
Memory
Unit
(DRAM,
Memory
SRAM, SPR,
..) Unit
(DRAM,
SRAM,
SPR, ..)
I/O
USB, BT,
I/O
CAN
USB, BT,
I/O
CAN
USB, BT,
CAN…
10
MPSoC Example: IBM Sony Cell
11
TI Omap 3530
ARM®
Cortex™-A8
CPU
C64x+™ DSP and
video accelerators
(3525/3530 only)
2D/3D
Graphics
(3515/3530 only)
Display Subsystem
Video
Enc
LCD
Controller
10 bit DAC
10 bit DAC
Camera I/F
Image
Pipe
Parallel I/F
L3/L4 Interconnect
Peripherals
McBSP
x5
McSPI
x4
Connectivity
Serial Interfaces
UART
I2 C
x2
x4
UART
w/IRDA
USB 2.0 HS
OTG
Controller
USB 2.0
Host Controller
SDRC
GPMC
System
Security Acc
(HS only)
Timers
GP x12
WDT x3
Program/Data Storage
MMC/
SD/
SDIO
x3
12
EyeQ2: vision processing MPSoC
2On
64bits-MT
chip
processor
1MB of
SRAM
11 //opérations
pedestrian, lane,
vehicle detec. 2nd
appli
5 DMA
with 16
channels
On chip
1MB of
SRAM
CAN & UART
ports+I2C interface
2 2-Mpixel
video and image
preprocessing
input ports
13
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..
…
14
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)
Tulika MITRA, Design Space Exploration of Application-Specific Processors
2nd Workshop Rapid Simulation and Performance Evaluation, RAPIDO’2010, PISA
15
Design flow
Explorer nouvelles
alternatives arch.
Simulation
(performance &
puissance)
Proposer nouvelles
optimisations
Modélisation
16
Modélisation des MPSoC
Niveau d’abstraction
Objectifs
Algorithmique
Description de l’application
Processus
Communicants (CP)
+ temps = CPT
Vue de Programmeur
(PV)
Tâches décrites dans des processus
communicants, échange de données,
pas d’architecture
Architecture définie, description
fonctionnelle, communication avec des
canaux
+ temps = PVT
Vitesse
Cycle précis
et/ou
Cycle précis
Archi, pipeline, FSM
Bit précis(CABA)
Protocole de communication
Précision
TLM
Transaction
Level
Modeling
Bit précis
RTL : Register
Transfer Level
Registre, bascule, logique combinatoire,
etc.
17
Simulation au niveau PVT

Un 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
1x
Native execution
Instruction accurate
1/20x
Vitesse
Branch pred
1/100x
Cache, NoC, …(Dinero, Luna)
1/1000x
Cycle Accurate (CA), simplescalar,
unisim, mparm,
ISS
CA+Energie
(wattch, powerAnal, soclib,
mparm, )
1/10000x
RTL
0%
20%
80%
Précision
90%
Méthodologie pour l’Estimation de la
Consommation d’Energie
TTY
TTY
TTYdes modèles
TTY
Locks
Display3
Développer
Display2
Display1
Display0
Engine
de consommation
pour chaque type de composants
Timer
Shared
Mem1
Shared
Mem0
VCI_T0
VCI_T0
VCI_T0
VCI_T0
VCI_T0
VCI_T0
VCI_T1
VCI_T0
VCI_I7
VCI_I6
VCI_I5
VCI_I4
VCI_I3
VCI_I2
VCI_I1
VCI_I0
LOCAL CROSSBAR
VCI_T0
VCI_T1
VCI_T2
VCI_T3
VCI_I0
VCI_I1
VCI_I2
VCI_I3
XCACHE
XCACHE
XCACHE
XCACHE
MIPS R3000
MIPS R3000
MIPS R3000
MIPS R3000
E totale  E processeurs  E caches  E SRAM  E connect
20
Méthodologie pour l’Estimation de
la Consommation d’Energie

Stratégie d’estimation:
1. Identifier les activités pertinentes
2. Évaluer les coûts énergétiques sur une
plateforme existante
3. Mesurer les occurrences au cours de la
simulation
 Utiliser des compteurs au niveau de la microarchitecture
 Méthode hybride offrant un bon compromis
entre accélération et précision
21
Modélisation de la Consommation
Sélection
de l’IP
Définition des activités pertinentes
De grain fin
Définition des activités pertinentes
de gros-grain
Caractérisation des activités
Oui
Simulation avec
des outils de CAO
Modèle
CABA de l’IP
Non
IP Préexistant
Estimation avec des
modèles analytiques
Énergie des activités de
Grain fin
Estimation d’énergie
des activités de gros-grain
Intégration du modèle
d’énergie
Intégration du modèle
d’énergie
Simulation CABA +
Estimation d’énergie
Simulation PVT +
Estimation d’énergie
Estimation de l’erreur
Erreur > Seuil
Jeu de données
Modèle
PVT de l’IP
22
Exemple de la mémoire cache
Architecture du xcache de SoCLib
REQ TYPE WDATA ADR RDATA MISS BER
1
3
32
30
DCACHE
DATA
32
DC
DIR
RESET
1
1
FSM DC
Buffer
REQ TYPE ADR
1
3
ICACHE
DATA
30
INS
32
IC
DIR
MISS BER
1
1
FSM IC
Buffer
CLK
Request FIFO
Type
Addr
Data
FSM VCI_CMD
FSM VCI_RSP
23
Exemple de la mémoire cache
PVT
CACHE INIT
(N)
INIT
READ HIT
READ MISS
WRITE HIT
WRITE MISS
Coarse
grain
activities
(M)
IDLE
MISS_UPDT
WRITE_REQ
MISS_REQ
FSM
states
CABA
Write tag array Write data array Read tag array Read data array
Write FIFO
Fine grain
activities
N: number of cache lines; M: cache bloc size

Approche appliquée pour d’autres composants
◦ Processeur MIPS R3000
◦ Accélérateur TCD-2D, DMAC
◦ Crossbar
24
Simulation pour l’Estimation de la
Consommation d’Energie
Application
Simulateur
d’architecture
Paramètres du
Circuits/ Tech
Paramètres de
l’architecture
Valeurs des compteurs
Simulateur de
consommation
Estimation de la consommation :
J/W
Estimation de performance :
Cycles/ms
E =  N i .Ci
i
Ni : Nombre de fois ou l'activité i est réalisée
Ci : Coût d'une unité de l'activité i
25
Résultats de simulation TLM
encodeur H.263
Résultats de simulation TLM
encodeur H.263
Max
speedup
Max time
error
Max time
error
Problèmes posés pour la simul CABA
Simulators
1.000.000x moins rapide que l’exécution réelle
Different HW configurations
109
X
Benchmarks
107 – 108 instructions
/programme
Configuration(s) optimale(s)
Plusieurs années de simulation
pour trouver la meilleure solution
28
Pourquoi Accélérer la Simulation ?
Nombre important
configurer

◦
de
paramètres
à
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)
K instructions simulées/sec
30
25
20
15
10
5
0
1
2
3
4
5
6
7
8
Nombre de processeurs
9
10
11
12
30
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)
Profilage
(minutes)
•Répartition
instru.
•Distances
entre
instru. Dép.
Application
add r1, r2, r3
ldr r0, [r1]
…..
Simulation Fct
$
( minutes)
Données
AANBH
JKJHTF
RDES
Estimation perf.
et consomm.
Programme
Synthétique
(PS)
Simulation
Fct 
(secondes)
…
Taux de
défauts
$
….
Génération
PS
add …
ldr …
…..
Simulateur
(secondes)
Perf. &
Conso.
…
Taux de
défaut
Pred. 
….
• Influent sur Perf & Conso.
• Outils pour analyser
séparément
32
Comportement des Applications
Les applications ont tendance à avoir des phases
(répétitions) identiques d’exécution
Mê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
phases
l’application = Exécuter les
Accélération par échantillonnage ?
time
x
x
x
Functional
simulation
y
y
y
y
Functional
simulation
z
z
3 phases:
3 échantillons sont suffisants
35
Échantillonnage pour
Multiprocesseur
P
P0
P
X
A
B en // avec Z
Y
A
Y
B
Cycles
B
Y
Cycles
Cycles
A
B en // avec
W
Phases de 2 applications
s’exécutant individuellement
X
Y
B
X
A
Y
Z
Z
W
P1
a2
W
Phases de 2 applications
s’exécutant en parallèle
M. Tawk, K.Ibrahim, S.Niar, Multi-granularity Sampling for Heterogeneous Concurrent Applications, CASES 2008
36
Échantillonnage pour
Multiprocesseur
P
P0
P
X
A
B en // avecde
Z
Impossible
Y
déterminer à
priori
les phases
Y
B en // avec
concurrentes W
Y
B
A
Cycles
B
Cycles
Cycles
A
Phases de 2 applications
s’exécutant individuellement
X
Y
B
X
A
Y
Z
Z
W
P1
a2
W
Phases de 2 applications
s’exécutant en parallèle
M. Tawk, K.S.Niar, Multi-granularity Sampling for Heterogeneous Concurrent Applications, CASES 2008
37
Méthode d’Echantillonnage Adaptatif
P0
(AS)
a1

Détecter les intervalles
similaires: même identificateur
de phase
Instructions
Première étape: création d’une
trace de phases
a2
a1
a1
a1
a2
38
Méthode d’Echantillonnage Adaptatif
Cycles
Cycles
Deuxième étape: combiner les séquences de phases
formant des clusters de séquences (CS)
P0
P1
a1
b1
a2
a1
a
a1
aa222
Clusters de
Séquences
(CS)
b2
b1
b3
b11
b
b22
b
bb11
Inst
P0
Inst
P1
a1,a2 – b1, b2, b3 100 k 150 k
Non simulé
a11
Tableau des CS
a1,a1 – b3
100 k 50 k
Cycles Energie Nbr
C1
E1
12
C2
E2
1
39
Accélération de AS
Facteur d’accélération 795 pour blowfish
 Facteur d’accélération augmente avec le TWSB
5%
TWSB =
1000
10%
15%
20%
100
10
2
4
8
Nombre de processeurs
12
40
h264
rijndael
fft&ifft
blowfish
gsm
h264
rijndael
fft&ifft
blowfish
gsm
h264
rijndael
fft&ifft
blowfish
gsm
h264
rijndael
fft&ifft
blowfish
1
gsm
Facteur d'accélération

Précision de AS
Erreur de l’IPC augmente avec le TWSB
 Erreur acceptable (généralement inférieure à 10%)

TWSB
5%
=
10%
15%
20%
25%
20%
15%
10%
5%
2
4
8
Nombre de processeurs
h264
rijndael
fft&ifft
blowfish
gsm
h264
rijndael
fft&ifft
blowfish
gsm
h264
rijndael
fft&ifft
blowfish
gsm
h264
rijndael
fft&ifft
blowfish
0%
gsm
Erreur de l'IPC
30%
12
41
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, …
42