La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Simulation & Evaluation de la Consommation de Puissance dans les MPSoC

Présentations similaires


Présentation au sujet: "Simulation & Evaluation de la Consommation de Puissance dans les MPSoC"— Transcription de la présentation:

1 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

2 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.

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 Comment simuler rapidement les MPSoC pour évaluer rapidement la conso?
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?

6 Les nouveaux défis : Applications embarquées ++ complexes et variées.
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 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)

8 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

9 Nouvelle loi de Moore !! : « Le nombre de cores double tous les 18 mois » 
9

10 Architecture typique d’un MPSoC
Core+cache Memory Unit (DRAM, SRAM, SPR, ..) Core+cache Memory Unit (DRAM, SRAM, SPR, ..) Network-On-Chip HW accelerator (FP, FFT, JPEG, ..) I/O USB, BT, CAN I/O USB, BT, CAN I/O USB, BT, CAN… Reconfigurable Logic

11 MPSoC Example: IBM Sony Cell

12 C64x+™ DSP and video accelerators (3525/3530 only)
TI Omap 3530 ARM® Cortex™-A8 CPU L3/L4 Interconnect C64x+™ DSP and video accelerators (3525/3530 only) Peripherals Program/Data Storage System I2C x4 Serial Interfaces 10 bit DAC Video Enc Display Subsystem Connectivity Security Acc (HS only) MMC/ SD/ SDIO x3 USB 2.0 Host Controller USB 2.0 HS OTG Controller GPMC SDRC UART x2 w/IRDA McBSP x5 McSPI Timers GP x12 WDT x3 LCD Cont-roller Image Pipe Parallel I/F Camera I/F 2D/3D Graphics (3515/3530 only)

13 EyeQ2: vision processing MPSoC
11 //opérations pedestrian, lane, vehicle detec. 2nd appli 2 64bits-MT processor On chip 1MB of SRAM 5 DMA with 16 channels On chip 1MB of SRAM On chip 1MB of SRAM 2 2-Mpixel video and image preprocessing input ports CAN & UART ports+I2C interface

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..

15 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

16 Design flow Modélisation Simulation
Explorer nouvelles alternatives arch. Proposer nouvelles optimisations Modélisation Simulation (performance & puissance)

17 Modélisation des MPSoC
Niveau d’abstraction Objectifs Algorithmique Description de l’application TLM Transaction Level Modeling 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 Archi, pipeline, FSM Bit précis(CABA) Protocole de communication RTL : Register Transfer Level Registre, bascule, logique combinatoire, etc. Précision Vitesse Je commence par décrire les différents niveaux d’abstraction auquels un système

18 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 Comme nous l’avons dis précédamment décrit TLM est une taxonomie sous niveau est nous avons choisi PVT Nous avons fixé un nombre d’objectifs Ce nombre important nécessite une décomposition afin Thèse R.Ben-Atitallah, INRIA Lille 2008

19 Rapport Vitesse de Simulation Vs. Précision
1x 1/20x 1/100x 1/1000x 1/10000x Native execution Instruction accurate Vitesse Branch pred Cache, NoC, …(Dinero, Luna) Cycle Accurate (CA), simplescalar, unisim, mparm, ISS CA+Energie (wattch, powerAnal, soclib, mparm, ) RTL 0% 20% 80% 90% Précision

20 Méthodologie pour l’Estimation de la Consommation d’Energie
MIPS R3000 XCACHE VCI_I0 LOCAL CROSSBAR VCI_I1 VCI_I2 VCI_I3 VCI_T0 VCI_T1 VCI_T2 VCI_T3 VCI_I4 VCI_I5 VCI_I6 VCI_I7 Shared Mem0 Shared Mem1 Timer Locks Engine TTY Display0 Display1 Display2 Display3 Développer des modèles de consommation pour chaque type de composants

21 Méthodologie pour l’Estimation de la Consommation d’Energie
Stratégie d’estimation: Identifier les activités pertinentes Évaluer les coûts énergétiques sur une plateforme existante 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 grain fin Caractérisation des activités Sélection de l’IP 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 Erreur > Seuil Simulation PVT + Estimation d’énergie Simulation CABA + 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 Non Oui Jeu de données

23 Exemple de la mémoire cache
Architecture du xcache de SoCLib DC DIR ICACHE DATA IC DCACHE FSM DC FSM IC FSM VCI_CMD FSM VCI_RSP Buffer Request FIFO REQ TYPE WDATA ADR RDATA MISS BER 1 3 32 30 INS Type Addr Data RESET CLK

24 Exemple de la mémoire cache
Read tag array Read data array INIT IDLE WRITE_REQ Fine grain activities FSM states CACHE INIT READ HIT WRITE HIT Coarse grain activities (N) N: number of cache lines; M: cache bloc size WRITE MISS PVT Write tag array Write data array Write FIFO MISS_UPDT MISS_REQ READ MISS (M) CABA Approche appliquée pour d’autres composants Processeur MIPS R3000 Accélérateur TCD-2D, DMAC Crossbar

25 Simulation pour l’Estimation de la Consommation d’Energie
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ée Ci : Coût d'une unité de l'activité i

26 Résultats de simulation TLM encodeur H.263

27 Résultats de simulation TLM encodeur H.263
Max speedup Max time error

28 Problèmes posés pour la simul CABA
Simulators x moins rapide que l’exécution réelle Different HW configurations 109 107 – 108 instructions /programme Benchmarks X Configuration(s) optimale(s) Plusieurs années de simulation pour trouver la meilleure solution En resume ….. Notre travail a traves cette thèse consiste à proposer des méthodes d’accélérer la simulation au niveau de simulatuer. L’idee derrière est a evaluer rapidement la performance de chaque performance.

29 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

30 Pourquoi Accélérer la Simulation?
Augmentation du temps de simulation avec le nbr de processeurs (ex: rijndael)

31 Approches pour l’Accélération de la Simulation
Simulation Statistique: Générer un “programme synthétique”: + petit en # instructions ^m profile Modélisation Analytique : Perf/Puissance approximées analytiquement power (modèles mathématiques). Modélisation à haut niveau: Détails architecturaux négligés (ex : TLM). Emulation sur FPGA. Échantillonnage de l’application.

32 Simulation Statistique (SS)
Profilage (minutes) Répartition instru. Distances entre instru. Dép. Application Programme Synthétique (PS) Estimation perf. et consomm. add r1, r2, r3 ldr r0, [r1] ….. Génération PS Perf. & Conso. Simulateur (secondes) Simulation Fct $ ( minutes) add … ldr … ….. Taux de défauts $ …. Données Influent sur Perf & Conso. Outils pour analyser séparément AANBH JKJHTF RDES Simulation Fct  (secondes) Taux de défaut Pred.  ….

33 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)

34 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 y z time Accélération par échantillonnage ? Functional simulation x Functional simulation y z 3 phases: 3 échantillons sont suffisants

36 Échantillonnage pour Multiprocesseur
B P Cycles X Y Z W P Cycles Cycles A B a2 X Y Z W P0 P1 Phases de 2 applications s’exécutant en parallèle B en // avec Z B en // avec W Phases de 2 applications s’exécutant individuellement M. Tawk, K.Ibrahim, S.Niar, Multi-granularity Sampling for Heterogeneous Concurrent Applications, CASES 2008

37 Échantillonnage pour Multiprocesseur
Impossible de déterminer à priori les phases concurrentes A B P Cycles X Y Z W P Cycles Cycles A B a2 X Y Z W P0 P1 Phases de 2 applications s’exécutant en parallèle B en // avec Z B en // avec W Phases de 2 applications s’exécutant individuellement M. Tawk, K.S.Niar, Multi-granularity Sampling for Heterogeneous Concurrent Applications, CASES 2008

38 Méthode d’Echantillonnage Adaptatif (AS)
Instructions Première étape: création d’une trace de phases Détecter les intervalles similaires: même identificateur de phase

39 Méthode d’Echantillonnage Adaptatif
Deuxième étape: combiner les séquences de phases formant des clusters de séquences (CS) P0 P1 b3 a1 b1 b2 a2 a1 a2 b1 b2 Tableau des CS Cycles Cycles Clusters de Séquences (CS) Inst P0 Inst P1 Cycles Energie Nbr a1 b3 a1,a2 – b1, b2, b3 100 k 150 k C1 E1 1 2 a1 a2 b1 b2 Non simulé a1,a1 – b3 100 k 50 k C2 E2 1

40 Accélération de AS Facteur d’accélération 795 pour blowfish
Facteur d’accélération augmente avec le TWSB

41 Précision de AS Erreur de l’IPC augmente avec le TWSB
Erreur acceptable (généralement inférieure à 10%)

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, …


Télécharger ppt "Simulation & Evaluation de la Consommation de Puissance dans les MPSoC"

Présentations similaires


Annonces Google