430 likes | 596 Views
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. Nos activités de recherche.
E N D
Simulation & Evaluation de la Consommation de Puissance dans les MPSoC SmailNiar en coopération avec: R.Ben-Atitallah, M.Tawk, S.Meftali, J.L.Dekeyser Université de Valenciennes INRIA-LILLE DART
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.
Il était une fois…l’ENIAC (1943) « The intense heat required it to be run in a climate controlled room, ..vacuum tubes failedratherfrequently… ». « …the ENIAC caused the city of Philadelphia to experiencebrownouts…. »
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?
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)
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)
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
Nouvelle loi de Moore !! : « Le nombre de cores double tous les 18 mois » 9
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
TI Omap 3530 Display Subsystem ARM®Cortex™-A8 CPU C64x+™ DSP and video accelerators (3525/3530 only) LCDCont-roller Video Enc 10 bit DAC 10 bit DAC 2D/3D Graphics (3515/3530 only) Camera I/F Image Pipe Parallel I/F L3/L4 Interconnect Peripherals System Connectivity Security Acc (HS only) Timers GP x12 WDT x3 USB 2.0 HS OTG Controller USB 2.0 Host Controller Serial Interfaces Program/Data Storage I2C x4 UART x2 McBSP x5 MMC/ SD/ SDIO x3 SDRC GPMC UART w/IRDA McSPI x4
EyeQ2: vision processingMPSoC 11 //opérations pedestrian, lane, vehicledetec. 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-Mpixelvideo and image preprocessing input ports CAN & UART ports+I2C interface
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 functionalunits » (CFU) Tulika MITRA, Design Space Exploration of Application-Specific Processors 2nd Workshop Rapid Simulation and Performance Evaluation, RAPIDO’2010, PISA
Précision Modélisation des MPSoC Vitesse
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 1/20x 1/100x 1/1000x 1/10000x Native execution Instruction accurate Branch pred Vitesse Cache, NoC, …(Dinero, Luna) Cycle Accurate (CA), simplescalar, unisim, mparm, ISS CA+Energie (wattch, powerAnal, soclib, mparm, ) RTL 20% 90% 0% 80% Précision
VCI_I1 VCI_I2 XCACHE XCACHE MIPS R3000 MIPS R3000 Méthodologie pour l’Estimation de la Consommation d’Energie TTY Display3 TTY Display2 TTY Display1 TTY Display0 Locks Engine Timer Shared Mem1 Shared Mem0 • Développer des modèles de consommation pour chaque type de composants VCI_T0 VCI_T0 VCI_T0 VCI_T0 VCI_T0 VCI_T0 VCI_T1 VCI_T0 LOCAL CROSSBAR VCI_I7 VCI_I6 VCI_I5 VCI_I4 VCI_I3 VCI_I2 VCI_I1 VCI_I0 VCI_T0 VCI_T1 VCI_T2 VCI_T3 VCI_I3 VCI_I0 XCACHE XCACHE MIPS R3000 MIPS R3000
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
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 IP Préexistant Non Oui Jeu de données Simulation avec des outils de CAO Estimation avec des modèles analytiques Erreur > Seuil Énergie des activités de Grain fin Estimation d’énergie des activités de gros-grain Modèle PVT de l’IP Modèle CABA de l’IP 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 Modélisation de la Consommation
WDATA ADR RDATA MISS BER ADR INS MISS BER REQ TYPE REQ TYPE 1 3 32 30 32 1 1 1 3 30 32 1 1 DCACHE DATA DC DIR ICACHE DATA IC DIR FSM IC FSM DC RESET Buffer Buffer CLK Request FIFO Type Addr Data FSM VCI_CMD FSM VCI_RSP Exemple de la mémoire cache Architecture du xcache de SoCLib
CACHE INIT READ HIT READ MISS WRITE MISS WRITE HIT WRITE_REQ INIT IDLE MISS_UPDT MISS_REQ Coarse grain activities (N) (M) Write tag array Write data array Read tag array Read data array Write FIFO FSM states Fine grain activities N: number of cache lines; M: cache bloc size Exemple de la mémoire cache PVT • Approche appliquée pour d’autres composants • Processeur MIPS R3000 • Accélérateur TCD-2D, DMAC • Crossbar CABA
Paramètres du Circuits/ Tech Application Paramètres de l’architecture Simulateur d’architecture Simulateur de consommation Valeurs des compteurs Estimation de la consommation : J/W Estimation de performance : Cycles/ms Simulation pour l’Estimation de la Consommation d’Energie Ni : Nombre de fois ou l'activité i est réalisée Ci :Coût d'une unité de l'activité i
Max speedup Résultats de simulation TLM encodeur H.263 Max time error Max time error
Problèmes posés pour la simul CABA Simulators 1.000.000x moinsrapidequel’exécutionréelle Benchmarks Different HW configurations X 107 – 108 instructions /programme 109 Configuration(s) optimale(s) Plusieurs années de simulation pour trouver la meilleure solution
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
Pourquoi Accélérer la Simulation? Augmentation du temps de simulation avec le nbr de processeurs (ex: rijndael)
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.
Profilage (minutes) • Répartition • instru. • Distances • entre • instru. Dép. • Influent sur Perf & Conso. • Outils pour analyser • séparément Simulation Statistique (SS) Application Estimation perf. et consomm. Programme Synthétique (PS) add r1, r2, r3 ldr r0, [r1] ….. Génération PS Perf. & Conso. Simulateur (secondes) add … ldr … ….. Simulation Fct $ ( minutes) … Taux de défauts $ …. Données AANBH JKJHTF RDES Simulation Fct (secondes) … Taux de défaut Pred. ….
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)
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
Accélération par échantillonnage ? x x time y Functional simulation Functional simulation x y z y 3 phases: 3échantillons sont suffisants y z
Échantillonnage pour Multiprocesseur P P P1 P0 X X A A Ben // avec Z Y Y Cycles Cycles Cycles B Ben // avec W B X Y A A Y Y Z Z W W B a2 Phases de 2 applications s’exécutant individuellement 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
Échantillonnage pour Multiprocesseur P P Impossible de déterminer à priori les phases concurrentes P1 P0 X X A A Ben // avec Z Y Y Cycles Cycles Cycles B Ben // avec W B Y X A A Y Y Z Z W W B a2 Phases de 2 applications s’exécutant individuellement Phases de 2 applications s’exécutant en parallèle • M.Tawk,K.S.Niar, Multi-granularity Sampling for Heterogeneous Concurrent Applications, CASES 2008
Méthode d’Echantillonnage Adaptatif (AS) P0 a1 a2 • Première étape: création d’une trace de phases • Détecter les intervalles similaires: même identificateur de phase a1 Instructions a1 a1 a2
Méthode d’Echantillonnage Adaptatif • Deuxième étape: combiner les séquences de phases formant des clusters de séquences (CS) P0 P1 a1 b1 b1 a1 Tableau des CS a2 a2 b2 b2 b1 b1 Cycles Cycles b3 a1 b3 a1 a1,a2– b1, b2, b3 E1 100 k 150 k C1 a1 a1 2 1 a1,a1– b3 E2 1 C2 100 k 50 k a1 b1 b1 b1 a1 a1 Non simulé a2 a2 a2 b2 b2 b2 b1 b1 b1
Accélération de AS • Facteur d’accélération 795 pour blowfish • Facteur d’accélération augmente avec le TWSB
Précision de AS • Erreur de l’IPC augmente avec le TWSB • Erreur acceptable (généralement inférieure à 10%)
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, …