Simulation & Evaluation de la Consommation de Puissance dans les MPSoC

Slides:



Advertisements
Présentations similaires
LES NOMBRES PREMIERS ET COMPOSÉS
Advertisements

[number 1-100].
Qualité du Premier Billot. 2 3 Défauts reliés à labattage.
1. Résumé 2 Présentation du créateur 3 Présentation du projet 4.
GEF 435 Principes des systèmes d’exploitation
Lille, France – 02/12/2009 Journées CIGIL
Évaluation des requêtes relationnelles
Analyse temps-fréquence
LIRMM 1 Journée Deuxièmes années Département Microélectronique LIRMM.
Mini Exposé Entre Thésard Séverine Riso 29 Octobre 2004
Borhen LOUHICHI Merci, Monsieur le président,
Test Intégré pour Convertisseurs Analogique/Numérique
Les numéros
Les identités remarquables
Journées franciliennes 2006 Moussa ELKIHEL (LAAS-CNRS;UPS Toulouse )
Objectif de l’exposé.
Performances 1 Évolution : Performance. Performances 2 Évolution : Mémoire.
A abstraction b assembleur c nombre binaire d bit e cache f UC g puce h compilateur i famille dordinateurs j contrôle k chemin de données l défaut m dé
Les circuits séquentiels
N. Inglart*, L. Eeckhout** S. Niar*, K. De Bosschere** SympA'2005 *LAMIH-ROI, Université de Valenciennes, France **ELIS, Université de Gand, Belgium FranceBelgium.
Autorisations Utilisation eCATT
1 Efficient Data and Program Integration Using Binding Patterns Ioana Manolescu, Luc Bouganim, Francoise Fabret, Eric Simon INRIA.
Tests et Validation du logiciel
Répétitives sur une architecture régulière embarquée
Description du fonctionnement d'un système 1 Clic Clic
ARCHITECTURE GLOBALE CAPTAGE Traitement DES des données GRANDEURS
1 Bienvenue! Ministère de lEmploi et de la Solidarité sociale Direction des ressources humaines La conduite dun projet de refonte dun intranet Pascale.
Gestion des Périphériques
Synchronisation et communication entre processus
Pourquoi les réseaux de neurones de type « perceptron multicouche » conviennent-ils à l’apprentissage Stéphane Canu, INSA de Rouen , PSI André Elisseeff,
Evaluation de la qualité des documents anciens
Aurélien Koppel Manager Bios Consulting
Détection de co-évolution de gènes Master 2 : Informatique à Finalité Professionnelle et Recherche Unifiée (IFPRU) Parcours Ingénierie de lIntelligence.
Tableaux de distributions
F Copyright © Oracle Corporation, Tous droits réservés. Créer des programmes avec Procedure Builder.
CONCEPTION ET SIMULATION DE CIRCUITS ÉLECTRONIQUES
LES NOMBRES PREMIERS ET COMPOSÉS
Optimisation et parallélisation de code pour processeur à instructions SIMD multimedia François Ferrand.
Introduction Objectifs du cours Évaluation Références
Synthèse Applications des réseaux de neurones en reconnaissance de formes et en vision par ordinateur.
Programmation concurrente
1.1 LES VECTEURS GÉOMÉTRIQUES
Universté de la Manouba
Les Nombres 0 – 100 en français.
Modélisation et Simulation de Systèmes sur Puce avec Soclib
Équipe 2626 Octobre 2011 Jean Lavoie ing. M.Sc.A.
Vers l'échantillonnage d'un entrepôt de données
Lycée ELKHAWARIZMI De SAFI
Antennes-BIE à surface combinée
Traitement de différentes préoccupations Le 28 octobre et 4 novembre 2010.
1 - Programme de Seconde (juin 2009) Statistique et probabilités
1. Présentation générale du système
Gérer la sécurité des mots de passe et les ressources
O-notation 1. Introduction 2. O-notation 3. Opérations 3.1 Somme 3.2 Produit 4. Règles générales 5. Exemple 6.Analyse des algorithmes récursifs 6.1 Dilatation.
CEDCOM architecture haute performance pour des applications “big data” Tanguy Raynaud Projet CEDAR.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Options d’implémentation.
Chapitre 3 Simulation de Fautes
INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Processeurs sous-RISC et application aux réseaux Quand.
André Seznec Caps Team IRISA/INRIA 1 Processeurs Hautes Performances Panorama et Nouveaux Défis André Seznec IRISA/INRIA
MICROLOR Le savoir partagé
Partie II: Temps et évolution Energie et mouvements des particules
Test de l’unité d’exécution d’une instruction par application d’instructions de test Projet du cours ELE6306 : Tests des systèmes électroniques. Nicolas.
Cours de Structure et Technologie des composants d’ordinateurs
Power PC embarqués et accélérateurs matériels pour des cibles de type FPGA Julien Dubois.
INF8505: processeurs embarqués configurables
Les systèmes mono-puce
Contribution à la mise en place d'une plateforme open-source MPSoC sous SystemC pour la Co-simulation d'architectures hétérogènes Thèse préparée par.
ARPO: architecture des processeurs superscalaires,VLIW et optimisation André Seznec et François Bodin.
PROJET CAPS Compilation, Architecture, Parallélisme et Système.
Construction d'une hiérarchie mémoire faible consommation
Transcription de la présentation:

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 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 failed rather frequently… ». « …the ENIAC caused the city of Philadelphia to experience brownouts…. »

De quoi allons nous parler aujourd’hui?

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?

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)

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

MPSoC Example: IBM Sony Cell

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)

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

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) Tulika MITRA, Design Space Exploration of Application-Specific Processors 2nd Workshop Rapid Simulation and Performance Evaluation, RAPIDO’2010, PISA

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

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

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

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

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

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

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

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

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

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

Résultats de simulation TLM encodeur H.263

Résultats de simulation TLM encodeur H.263 Max speedup 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 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.

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.

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.  ….

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

É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

É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

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

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

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