Upload
quintin-legras
View
109
Download
1
Embed Size (px)
Citation preview
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,
…