Simulation & Evaluation de la Consommation de Puissance dans les MPSoC

42
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

description

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. - PowerPoint PPT Presentation

Transcript of Simulation & Evaluation de la Consommation de Puissance dans les MPSoC

Diapositive 1

Simulation & Evaluation de la Consommation de Puissance dans les MPSoC Smail Niaren coopration avec: R.Ben-Atitallah, M.Tawk, S.Meftali, J.L.Dekeyser Universit de ValenciennesINRIA-LILLE DART1

Nos activits de rechercheOutils pour une valuation rapide de la consommation de puissance dans les MPSoC (projet ANR Open-People).Systmes MPSoC reconfigurables et scurit routire: systmes daide la conduite (projet ANR Prima-Care)Environnement pour la modlisation et lexploration des MPSoC haut niveau appli. data intensives (INRIA DART, projet Gaspard) IDM et MARTE.

2

Il tait une foislENIAC (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

4De quoi allons nous parler aujourdhui?Pourquoi les architectures multiprocesseurs sont elles de plus en plus populaires?Quest ce qui rend lvaluation des perf et la conso une tche complexe? Comment simuler rapidement les MPSoC pour valuer rapidement la conso? 5

You know what,

Les nouveaux dfis :

Avances technologiques:Nbr transistors & densit (2G transistors)Applications embarques ++ complexes et varies. Besoins de HW performants.Consommation dnergie rduiteHW/SW facile et rapide dvelop/vrifier (time to market)6

Solution II : Multiplier les processeursMeilleure utilisation des transistors. Faciliter la rutilisation des units.

7

ExtensibilitAjout de nouveaux coresOptimisation HW ou SWCustomisation de larchitecture possible: Jeu dinstructions (ASIP)

Multiprocesseursmon grand pre ma racont lhistoireMPSoC diffrent des architectures multiprocesseurs classiques: 1 chip = Processors, Caches, Noc, FPGA, Dlais de comm diffrentsNouveau modles de programmation8

"Dont be encumbered by past history, go off and do something wonderful"Robert Noyce, co-fondateur d'Intel Corp.

99

Nouvelle loi de Moore !!: Le nombre de cores double tous les 18 moisArchitecture typique dun MPSoC10Network-On-ChipCore+cacheCore+cacheHW accelerator (FP, FFT, JPEG, ..)Reconfigurable LogicMemory Unit(DRAM, SRAM, SPR, ..)Memory Unit(DRAM, SRAM, SPR, ..)I/OUSB, BT, CANI/OUSB, BT, CANI/OUSB, BT, CANMPSoC Example: IBM Sony Cell11

TI Omap 353012

ARMCortex-A8CPUL3/L4 InterconnectC64x+ DSP and video accelerators (3525/3530 only)

PeripheralsProgram/Data StorageSystemI2Cx4Serial Interfaces10 bit DACVideoEncDisplay SubsystemConnectivitySecurity Acc(HS only)MMC/SD/SDIOx3USB 2.0Host Controller USB 2.0 HSOTGControllerGPMCSDRCUARTx2UARTw/IRDAMcBSPx5McSPIx4TimersGP x12WDT x310 bit DACLCDCont-rollerImage PipeParallel I/FCamera I/F2D/3DGraphics(3515/3530 only)

EyeQ2: vision processing MPSoC13

On chip 1MB of SRAM

On chip 1MB of SRAM

On chip 1MB of SRAM

2 64bits-MT processor

5 DMA with 16 channels2 2-Mpixel video and imagepreprocessing input ports

CAN & UART ports+I2C interface

11 //oprationspedestrian, lane, vehicle detec. 2nd appli

Obstacles: MPSoC: programmation & mise-pt des appli difficile.MPSoC augmente le nombre de paramtres: Processeurs (nombre, types, ..)Caches (taille), units fonctionnelles, Rseau dinterconnection (NoC)Acclrateurs.. 14

Custumisation des MPSoC: approche ASIPArchitecture Paramtrables1 squelette architectural, les composants configurs.Processeurs jeu dinstruction extensibles (modifiables)LISA extensible en fonction des besoins de lapplication. 1 kernel = 1 custom functional units (CFU)

15Tulika MITRA, Design Space Exploration of Application-Specific Processors2nd Workshop Rapid Simulation and Performance Evaluation, RAPIDO2010, PISA15Design flow16Modlisation des MPSoC17Niveau dabstraction ObjectifsAlgorithmiqueDescription de lapplication TLMTransaction LevelModelingProcessus Communicants (CP) + temps = CPTTches dcrites dans des processus communicants, change de donnes, pas darchitectureVue de Programmeur (PV) + temps = PVTArchitecture dfinie, description fonctionnelle, communication avec des canaux Cycle prcis et/ou Bit prcis Cycle prcisArchi, pipeline, FSMBit prcis(CABA)Protocole de communicationRTL : RegisterTransfer LevelRegistre, bascule, logique combinatoire, etc.PrcisionVitesse

Je commence par dcrire les diffrents niveaux dabstraction auquels un systme Simulation au niveau PVTUn environnement de simulation au niveau PVT (PV + temps)Vrification rapide du systmeAnalyse de performance du systme (contentions)Analyse de la consommation dnergieNotre proposition:PVT motif prcis: PVT-PA (Pattern Accurate)PVT transaction prcis: PVT-TA (Transaction Accurate)PVT vnement prcis: PVT-EA (Event Accurate) Plusieurs compromis entre acclration et prcision

Thse R.Ben-Atitallah, INRIA Lille 2008Comme nous lavons dis prcdamment dcrit TLM est une taxonomie sous niveau est nous avons choisi PVT Nous avons fix un nombre dobjectifsCe nombre important ncessite une dcomposition afinRapport Vitesse de Simulation Vs. PrcisionNative executionInstruction accuratePrcisionVitesse1x

1/20x

1/100x

1/1000x

1/10000xRTL0%20%80%90%Cycle Accurate (CA), simplescalar, unisim, mparm, ISSCache, NoC, (Dinero, Luna)Branch predCA+Energie(wattch, powerAnal, soclib, mparm, )

19Mthodologie pour lEstimation de la Consommation dEnergieDvelopper des modles de consommation pour chaque type de composants 20MIPS R3000XCACHEVCI_I0 LOCAL CROSSBAR

MIPS R3000XCACHEVCI_I1 MIPS R3000XCACHEVCI_I2 MIPS R3000XCACHEVCI_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 Mem0Shared Mem1

Timer

LocksEngine

TTYDisplay0

TTYDisplay1

TTYDisplay2

TTYDisplay3

VCI_T0 VCI_T1 VCI_T0 VCI_T0 VCI_T0 VCI_T0 VCI_T0 VCI_T0

Mthodologie pour lEstimation de la Consommation dEnergieStratgie destimation: Identifier les activits pertinentesvaluer les cots nergtiques sur une plateforme existanteMesurer les occurrences au cours de la simulationUtiliser des compteurs au niveau de la micro-architecture Mthode hybride offrant un bon compromis entre acclration et prcision

21Modlisation de la Consommation22Dfinition des activits pertinentes de gros-grainEstimation dnergie des activits de gros-grain Intgration du modle dnergie Modle PVT de lIP

Estimation de lerreurErreur > SeuilSimulation PVT + Estimation dnergieSimulation CABA + Estimation dnergieIP PrexistantEstimation avec des modles analytiques nergie des activits de Grain fin Intgration du modle dnergie Modle CABA de lIP

Simulation avec des outils de CAO NonOuiJeu de donnesDfinition des activits pertinentes De grain fin Caractrisation des activits Slection de lIPDCDIR

ICACHEDATAICDIRDCACHEDATAFSM DCFSM ICFSM VCI_CMDFSM VCI_RSPBufferBufferRequest FIFO REQTYPEWDATAADRRDATAMISSBER1332303211REQTYPEADRINSMISSBER1303211TypeAddrData3RESETCLKExemple de la mmoire cacheArchitecture du xcache de SoCLib23Exemple de la mmoire cacheApproche applique pour dautres composantsProcesseur MIPS R3000Acclrateur TCD-2D, DMACCrossbar

24Write tag arrayWrite data arrayWrite FIFO MISS_UPDT MISS_REQ READ MISS(M)Read tag arrayRead data array INIT IDLE WRITE_REQFine grain activities FSM states CACHE INIT READ HIT WRITE HITCoarse grain activities(N)N: number of cache lines; M: cache bloc size WRITE MISSPVTCABASimulation pour lEstimation de la Consommation dEnergie

25Simulateur darchitectureSimulateur de consommation

Paramtres de larchitectureParamtres du Circuits/ Tech

Valeurs des compteurs ApplicationEstimation de performance :Cycles/msEstimation de la consommation :J/WNi: Nombre de fois ou l'activit i est raliseCi: Cot d'une unit de l'activit i Rsultats de simulation TLM encodeur H.263

Max speedupMax time errorMax time errorRsultats de simulation TLM encodeur H.263Problmes poss pour la simul CABA28Configuration(s) optimale(s)Plusieurs annes de simulation pour trouver la meilleure solution XDifferent HW configurations 109 107 108 instructions /programmeBenchmarksSimulators1.000.000x moins rapide que lexcution relleEn resume ..

Notre travail a traves cette thse consiste proposer des mthodes dacclrer la simulation au niveau de simulatuer. Lidee derrire est a evaluer rapidement la performance de chaque performance.28Pourquoi Acclrer la Simulation ?Nombre important de paramtres configurer I&D $, nbre processeurs (MPSoC), NoC, etc.Nombre important d'applications & jeu de donnesApplications deviennent de ++ importantes (1G inst)Complexit croissante des systmes simuler+ l'architecture est complexe + la simulation sera longue1 min. d'excution = plusieurs heures de simulation

29 29Pourquoi Acclrer la Simulation?Augmentation du temps de simulation avec le nbr de processeurs (ex: rijndael)3030Approches pour lAcclration de la SimulationSimulation Statistique: Gnrer un programme synthtique: + petit en # instructions ^m profileModlisation Analytique : Perf/Puissance approximes analytiquement power (modles mathmatiques).Modlisation haut niveau: Dtails architecturaux ngligs (ex : TLM).Emulation sur FPGA.chantillonnage de lapplication.3131Simulation Statistique (SS)32add r1, r2, r3ldr r0, [r1]..ApplicationAANBHJKJHTFRDESDonnesSimulation Fct $ ( minutes)Simulation Fct (secondes)Taux de dfauts $.Taux de dfautPred. .

Profilage(minutes)Rpartition instru.Distances entre instru. Dp.

Simulateur(secondes)Perf. &Conso.Estimation perf. et consomm.Programme Synthtique (PS)add ldr ..Gnration PS Influent sur Perf & Conso. Outils pour analyser sparment32Comportement des ApplicationsLes applications ont tendance avoir des phases (rptitions) identiques dexcutionMmes blocs dinstructions sont r-excuts (ex: gzip)33

33Acclration par chantillonnage ? Dcomposer lapplication en intervalles dune certaine taille (fixe ou var)Intervalles contenant les mmes blocs dinstructions = identiques (Phase)1 chantillon par phase de lapplication Excuter lapplication = Excuter les phases34Acclration par chantillonnage ? 35xxyyyztimexyzFunctional simulationFunctional simulation3 phases:3 chantillons sont suffisantschantillonnage pour Multiprocesseur36Phases de 2 applications sexcutant individuellement Cycles ABAa2XYXYZWP0P1Phases de 2 applications sexcutant en parallleB en // avec WM. Tawk, K.Ibrahim, S.Niar, Multi-granularity Sampling for Heterogeneous Concurrent Applications, CASES 2008ABABPCycles XYYYZWPCycles B en // avec Z

36chantillonnage pour Multiprocesseur37Phases de 2 applications sexcutant individuellement Cycles ABAa2XYXYZWP0P1Phases de 2 applications sexcutant en parallleB en // avec WM. Tawk, K.S.Niar, Multi-granularity Sampling for Heterogeneous Concurrent Applications, CASES 2008ABABPCycles XYYYZWPCycles B en // avec ZImpossible de dterminer priori les phases concurrentes37Mthode dEchantillonnage Adaptatif (AS)38Premire tape: cration dune trace de phasesDtecter les intervalles similaires: mme identificateur de phase

a1a1a1a2a1a2P0Instructions38Mthode dEchantillonnage Adaptatif39Cycles Clusters de Squences (CS)Inst P0Inst P1CyclesEnergieNbra1,a2 b1, b2, b3100 k150 kC1E11a1,a1 b3100 k50 kC2E212Tableau des CS P0P1b3a1a1a1b1b1b2b1b1b2a2a1a2b1b2b1Cycles a1a1a2a2b1b1b2Non simula1b3a1a1a2b1b1b2Deuxime tape: combiner les squences de phases formant des clusters de squences (CS)39Acclration de ASFacteur dacclration 795 pour blowfishFacteur dacclration augmente avec le TWSB4040Prcision de ASErreur de lIPC augmente avec le TWSBErreur acceptable (gnralement infrieure 10%)

4141Conclusion:MPSOC alternative intressanteProchaines gnrations de systmes embarqus: MPSoC + Htrognes + Ddies performance & conso: besoin de DSE, modles de conso, envi simulation.MPSoC de + en + complexes: besoin dacclration simulation.Pas de mthodes de simulation (acclration) idales: Hybrider: TLM, chantillonnage, mulation,

42