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