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

Modélisation et optimisation de la Consommation dans

Présentations similaires


Présentation au sujet: "Modélisation et optimisation de la Consommation dans"— Transcription de la présentation:

1 Modélisation et optimisation de la Consommation dans
Ecole d’architecture Mars 2005 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les Algorithmes - bât. Euclide B, Sophia Antipolis -France

2 PLAN Généralités sur la consommation électrique des circuits numériques Estimation et optimisation de la consommation des ASICs et des FPGAs Estimation et Optimisation de la consommation des processeurs et des mémoires

3 PLAN Généralités sur la consommation électrique des circuits numériques La consommation ? Les sources de dissipation Optimisation Estimation et optimisation de la consommation des ASICs et des FPGAs Estimation et Optimisation de la consommation des processeurs et des mémoires

4 Evolution de la technologie
4/2/2017 Evolution de la technologie W 20 40 60 80 100 120 140 2003 2005 2007 2009 2012 2015 2018 10 30 50 taille des Tr en nm F en Ghz année W P4 : 3.6 Ghz Ce qui occupe le plus de taille: mémoire, cicruit graphqie et besoin de rapidité. année Prévisions ITRS 2003 année

5 Quelques chiffres ? [Bo02] carte mère Intel D865GvHz :
Minimum loading : 190 W (aucune application s’exécute), Maximum loading : 286 W (heavy gaming application).

6 Quelques chiffres ? Le packaging
[Ti98] Souce : P. Maurine - AS-LP W Boîtier Céramique : 4 fois plus cher que le boîtier plastique (P<2W/cm2). Refroidissement : 1$/puce/watt au dessus de 40 W. (Source INTEL).

7 Quelques chiffres ? Les batteries
4/2/2017 Quelques chiffres ? Les batteries Batteries au lithium : 1992 : 90 Wh/kg, 2000 : 140 à 160 Wh/kg . 2007 : de 190 à 200 Wh/kg. Source : CEA Cadnium : cancérigène. Interdit. Effet mémoire. Piles à combustibles ?

8 Température dans le circuit [Sil04]
Température de la jonction : de 85°C -> 125°C : Fmax diminue de 14% Le circuit se dégrade exponentiellement à la température de la jonction.

9 La consommation des circuits ?
4/2/2017 La consommation des circuits ? Diversité et complexité accrues des applications : Audio, vidéo, téléphonie, bureautique, messagerie … Autre milieu médical ... ... Application de plus en plus complexe : Acquisition numérique, compression MPEG2->MPEG7 : complexité accrue (compression, décompression afin de stocker plus d’information Refroidir => Ventilateur + radiateur => piods + cout en augmentation

10 Les sources de dissipation : Puissance et Energie
P = Pstatique + Pcommutation V dd PMOS V e V s NMOS Puissance de repos Due aux commutations en sortie de la porte CMOS

11 Pcommutation = Pcourt_circuit + Pdynamique
Puissance dynamique Pcommutation = Pcourt_circuit + Pdynamique CL : capacité de charge (loading charge) Pcourt_circuit : changement d’état : les deux transistors NMOS et PMOS sont conducteurs simultanément, ~10% à 15% de Ptotale. Par transition (0->1) : Pdynamique = Cl.Vdd2.F

12 Pstatique = Isub. Vdd + Idiodes.Vdd
4/2/2017 Puissance statique G S D CMOS : interrupteur imparfait V dd s e C ch 1 I Courants inverses de diodes (jonction) Subtreshold current (I2): Transistor PMOS laisse passer le courant, Transistor NMOS : ouvert, Vdrain = Valim, Vsubstrat = 0V  Courant de fuite. Transistor NMOS : ouvert, va être fermé mais la tension du drain au substrat sera égal à –Valim quand la tension de sortie est à 0 V, et le substrat est à Valim.  Courant de fuite en résulte Pstatique = Isub. Vdd + Idiodes.Vdd

13 Puissance statique : courant statique Isub
4/2/2017 Puissance statique : courant statique Isub Isub VT : tension de seuil (Threshold Voltage) Le courant de fuite est non négligeable dans les mémoires (peu d’activité par rapport au nombre de cellules). Courant de fuites attention : circuit mémoire, W/L, VTH, T ? Cas idéal : VTH/Vdd < 0.3 [Bo02] Isub ~ (W/L) e(-VTH/T)

14 Influence de VT sur Pstatique
T. Sakurai, ISSCC2003 Ileakage = 0.01 µA/µm pour une techno de 130 nm Ileakage = 3 µA/µm pour une techno de 45 nm

15 Puissance statique, Puissance dynamique
Source : P. Maurine - LIRMM - AS-LP

16 Du coté des batteries Choix d’une batterie adaptée : Wh/Kg ,
Le temps de décharge de la batterie : à courant constant L’énergie totale C fournie par une batterie idéale est : C = In .Tl (loi de Peukert) n : constante propre à la batterie (cas idéal : n=1), Tl : temps de décharge en heure, I : courant de décharge. A Typical Discharge Profile (Li/MnO2DL2/3A Cells) [Ge01]

17 Du coté des batteries Modèle électrochimique trop complexe,
Modèles basés sur des circuits électriques ? Maîtriser E, Pmoyen, Ppic (Le packaging est déterminé par rapport à Ppic/cm2). Pmoyen constant [Ma99]

18 A quel niveau doit-on intervenir ?
SOURCE : MEDEA+ conférence/octobre 2002

19 Comment réduire la consommation ?
4/2/2017 Comment réduire la consommation ? Couper la tension d’alimentation : Exemple modes de repos (idle, sleep) des processeurs (LParm, StrongArm, Arm7, 9, 11, Crusoé, Xscale, Pentium M, PowerPC…) Baisser la tension d’alimentation (voltage scaling) T = K. CL.Vdd/(Vdd-VTH)2 Lorsqu’on baisse le tension d’alimentation, F doit être recalculée => on parle de couple (V,F) Au-dela de 3V, peu d’impact sur la fréquence. Lorsque Vdd s’approche de Vt, la vitesse baisse rapidement

20 Comment réduire la consommation ?
4/2/2017 Comment réduire la consommation ? Baisser la fréquence du circuit : Ppic et Pmoyen diminuent, E reste inchangée => permet de limiter la dissipation thermique et de maîtriser le pic de puissance (Ppic détermine le prix du packaging). Réduction du nombre de commutations : niveau porte, processeur, bus et mémoire. Taille des transistors : Permet de diminuer la capacité de charge équivalente. Au-dela de 3V, peu d’impact sur la fréquence. Lorsque Vdd s’approche de Vt, la vitesse baisse rapidement

21 Comment réduire la consommation ?
Plusieurs VT : Influence de VTH 1- Dual Treshold CMOS (DTCMOS) : 2xVTH VTH bas sur le chemin critique, VTH haut hors chemin critique. 2 - Multiple Threshold CMOS (MTCMOS) [Ca04] : VTH bas fonctionnement normal, VTH haut en mode repos. VTH

22 Comment réduire la consommation ?
Plusieurs VTH [In01] : 3 - Variable Treshold CMOS Transistor (VTCMOS) Sub=1 : VTH haut Sub=0 : VTH bas Transistor off : VGS =0V, Transistor on : VGS = Vdd. => ABB (Adaptative Body Biaising)

23 La consommation dans un SOC
DSP RISC Fonction Matérielle (IP) FPGA S/DRAM Bus/Réseau T1 C1 C2 T5 T3 T4 T2 DSP RISC Bus Ordonnancement Bibliothèques uP USB DSP ASIC PCI DRAM SRAM Architecture du SOC Application Contrôle + Flots de données Ensemble de Tâches Contraintes - Temps - Consommation - Surface

24 La consommation ?

25 PLAN Généralités sur la consommation électrique des circuits numériques Estimation et optimisation de la consommation des circuits logiques (ASIC/FPGA) Estimation de la consommation des ASICs Optimisation de la consommation des ASICs Cas particulier des FPGAs Estimation et Optimisation de la consommation des processeurs et des mémoires

26 Estimation niveau logique : principe
P = Pstatique + Pdynamique Pstatique = Vdd.Si (Istatiquei) Istatiquei = N.Kdesign.Îleak Avec : N : nombre de transistors, Kdesign : représente les caractéristiques du circuit, Îleak : dépendant de la technologie, de VTH. Circuit N Kdesign D Latch 10/bit 1.4 D FlipFlop 22/bit 2.0 Mpx 2->1 2/bit/entrée 1.9 1 cell 6T-RAM 6/bit 1.2 Porte logique 2/entrée 11

27 Estimation niveau logique : principe
P = Pstatique + Pdynamique Combinatoire Séquentiel ai : Nombre de transitions 0->1 de la porte i pendant le cycle d’horloge j. Pi : puissance dissipée lors d’une commutation de sortie par la porte i. Pclock : consommation sans activité en sortie de la bascule, PQ : consommation due à la commutation de sortie, ai : nombre de commutation de sortie.

28 Estimation niveau logique : Méthode statistique
Calcul de la consommation à partir de l’activité => Déterminer toutes les transitions => Processeurs actuels 500Mtransistor/cm2 => Temps de calcul ?? 1 - Méthode statistique : Vecteurs de test représentatifs Simulateur P1 P2 Pn Pmoyen S’appuie sur les simulateurs logiques du commerce (Cadence, SPICE, ….). 2 - Méthode probabiliste (SequenceDesign, BuildGates-Cadence, ….) : Extraction de Propriétés Analyseur Vecteurs de test Pmoyen

29 Estimation niveau logique : modèle probabiliste
Modèle probabiliste : a est remplacé par la probabilité de transition notée P0->1. P0->1 = P0(out=0).P1(out=1) =P0(1-P0) Si les N entrées d’une porte ont la même probabilité de transition alors : Exemple : P0->1 = P0.P1= 1/2.1/2=1/4 Notons PA=P(A=1) et P(A=0)=1-PA P0->1 = (1-PA)PA => Glitchs non pris en compte A OUT O 1

30 Estimation niveau logique : les Glitchs ?
ns

31 Estimation niveau logique : cas des FSM
P1,2 =3/4 S1 S2 S4 S3 P1,1 =1/4 P2,1 =1/4 P3,3 =1/4 P4,2 =2/4 P3,4 =3/4 P4,3 =2/4 P2,3 =3/4 11 S1 S2 S4 S3 10 -1 -0 01 1- 00 Calcul des probabilités de transition P4=9/29 3/58 S1=00 S2=01 S4=11 S3=10 P1=2/29 3/29 9/58 9/29 1/58 P2=6/29 P3=12/29 Calcul des probabilités des états et de la probabilité totale de transitions Pi,j PQ1 = P1,2*PS1 + P3,4*PS3 PQ2 = P2,3*PS 3

32 Optimisation ? Dynamic Power Management (DPM)
Vdd : Power Supply Shutdown : on coupe l’alimentation des parties du circuit qui ne sont pas utilisées, Voltage Scaling : on abaisse la tension d’alimentation (=> F diminue) hors chemin critique. Clock gating : principe L’arbre d’horloge : 30% Pcrête d ’un processeur Pbasc = a .(PQ + Pclock) CNTRL Latch CLK GCLK & T > TCLK + TAND + Tlatch => Réduit aussi le nombre de commutations inutiles.

33 Clock gating pour les unités de contrôle
Logique combinatoire Etat sorties entrées Fa latch & CLK 10,01 S1 S0 S2 -1, 10 00 11 -1,10 Avec Fa = Si Sj (Si.Cj) avec Cj condition pour rester dans Si Gain en puissance variant de 10% à 30%, Augmentation en surface de 9% à 38%.

34 Clock gating pour les unités de contrôle
FSM1 FSM2 Fa1 Fa2 CLK Le gain en consommation dépend de la qualité du partitionnement (ILP, Algorithme génétique) : puissance : -30%, vitesse : + 12%, surface de silicium : + 28 % sur la FSM, +8% sur le circuit total.

35 Clock gating Clock gating pour les unités fonctionnelles
Principe: on se sert des contrôles de sortie pour désactiver les registres d’entrées. Implantée dans les microprocesseurs haute performance. Puissance : -10% sur la puissance, peu d’augmentation de la surface de silicium. EN Add Tri En Clock gating commandé par l’instruction PC Fetch Decode Memory Execute WriteBack Instruction No FP No WB CLK

36 Autres Optimisations : Influence du codage
4/2/2017 Autres Optimisations : Influence du codage Compteur : 9,5 mW/Mhz par transition 0->1. Compteur binaire naturel : 4 transitions en moyenne (2 montantes, 2 descendantes) Pmoyen = 2x9,5 mW/Mhz + 8xPclock Compteur Binaire réfléchi : Pmoyen = ½ *9,5 mW/Mhz + 8xPclock Exemple d’application : compteur de programme d’un processeur Application aux unités de contrôle : Daniel Chillet : page 61-62 Chemin le plus probable : coder avec un nombre minimum de transitions (distance de Hamming).

37 Autres optimisations : pré calcul
Principe : éviter le passage par une fonction coûteuse lorsque le résultat peut-être pré calculé. Exemple : comparateur A>B Si les deux MSB sont différents alors le résultat peut-être déterminé sans soustraire A et B.

38 Autres optimisations : parallélisation, pipeline (décodage de viterbi 16 bits)[Be98]
Pref = Cref.Vref2.Fref = 14.7 mW Cref = 31 pF, Fref=1/40 ns, Vref = 5V Ppipeline = (1.15).Cref. (0.58.Vref2). (Fref)= 5.7 mW Pparallèle = (2.15).Cref. (0.58.Vref2). (0.5.Fref)= 5.3 mW

39 Parallélisation, pipeline, Pstatique ?
Techno 65 nm : Pdyn/Pstatique = 1 Pref = Pdyn+Pstatique = 2 . P Pparallèle = 0,36. P + 1,98.P.(0,58) = P.(0, ) = 1,508.P Ppipeline = 0,39. P + 1,1.P .(0,58) = P.(0,39 + 1,1.0,58) = 1,028. P.

40 La Consommation des FPGAs
PFPGA/PASIC ~ 100 à 300 ? Xilinx4000 => 1000nW/MHz/porte ASIC => 20-30nW/Mhz/porte SOURCE : ramirtha-EEC2890-Winter 2004

41 La consommation des FPGAs
Architecture d’un FPGA type ISLAND Exemple de schéma d’un bloc Logic Pdyn = Pdyncell + Pdynhorloge + Pdyninterconnect Pstatique = SallcellIleakcell + Sallroutingswitch Iswitch + Sall ramcellIleakramcell

42 Réduction de la consommation des FPGAs
Consommation des blocs logiques : méthodes identiques aux ASICs ? , Consommation dans le réseau d’horloge : - Clock gating => cellule d’entrée - Clock gating par bloc ? Mode basse consommation : 100µA, (800ns pour passer en mode basse consommation, 200 µs pour retourner en mode run – source FPGA Actel). Deux Vdds : Blocs logics avec soit VddH, soit VddL soit choix par programmation. 1 Réseau d’horloge Horloge CNTRL 2 ns

43 PLAN Généralités sur la consommation électrique des circuits numériques Estimation et optimisation de la consommation des circuits logiques (ASIC/FPGA) Estimation et Optimisation de la consommation des processeurs et des mémoires Estimation de la consommation du processeur et du système mémoire Réduction de la consommation du processeur Réduction de la consommation du système mémoire

44 Processeur et mémoire (système monoprocesseur)
mp E = Eprocesseur + Ebus + E mémoires Emémoires = Emémoires internes (cache, scratchpad) + Emémoires externes

45 Consommation logicielle
E = Si Ei Ni + Si,j Oi,j Mi,j + Sk Ek [Ti98] Avec Ei : énergie propre à l’instruction i, Ni : nombre d’instruction de type i, Oi,j : overhead entre les deux instructions de type i,j (changement de chemin de donnée) Ek : énergie due aux défauts de cache, et aux ruptures de pipeline.

46 Consommation logicielle : Instruction Level Power Analysis
Ni, Mi,j, Ek ? Programme asm ou C Intégration du parallélisme A Ii, Ii,j Calcul de E et Ppic VESTIM-LP [Gu01] Ii, Ii,j : Mettre 150 à 200 (E(200.Ei)>> Erebouclage) fois la même instruction i (ou la paire d’instruction i,j) dans une boucle. Effectuer ces mesures sans puis avec commutation de données. Ces mesures peuvent être effectuées par classe d’instructions.

47 Consommation logicielle : Fonctional Level Power Analysis
1- Analyse fonctionnelle de l’architecture => paramètres architecturaux significatifs pour la consommation et définition du modèle de E et P. 2 – Mesures caractéristiques Exemple : SoftExplorer (N. Julien – Lester – AS-LP)  : taux de parallélisme,  : taux d ’utilisation des unités de traitement  : taux d ’accès en mémoire externe  : taux de défaut de cache  : taux d ’utilisation du DMA PSR : taux de rupture de pipeline Exemple : TI TMS320C6201 Itotal = f(mode mémoire, F,  ,  , )

48 Architecture du système mémoire et consommation
Temps d’accés aux données Mémoires locales : Mémoires cache : flexibles mais consommatrice, Mémoires Scratch_pad : SRAM localisée sur laquelle on mappe les variables les plus fréquemment accédées, Mémoire externe ou principale : DRAM, MRAM, Flash ...

49 Architecture du système mémoire et consommation
Principale L2 Cache (SRAM) Processeur L1 Cache (SRAM) 1 cycle, Temps d’accès : 3 ns, nJ 5 à 10 cycles Temps d’accès : 20 ns, nJ 20 à 50 cycles temps d’accès 75 ns, 100 mW Cellule SRAM : 6Trs Cellule DRAM : 2 Trs Scratch Pad Mem P-1 Mémoire externe P Processeur 1 cycle Espace mémoire adressable Cache de données N-1

50 Architecture du système mémoire : scratch-pad
Calcul de l’histogramme d’une image : Char Image[512][512]; Int Histo[256]; For (i=0;i<512;i++) For (j=0;j<512; j++) level = Image[i][j]; Histo[level]=Histo[level]+1; N-1 P-1 P 1 cycle Scratch Pad Mem Cache de données Processeur Mémoire externe Espace mémoire adressable Configuration 1 - Cache 2K : cache misses dues aux conflits d’adresse entre Image et Histo. Optimisation difficile car l’adresse de Histo est dépendant de la valeur du pixel. Configuration 2 – cache 1K-Scratchpad 1K : Histo est placé dans le scratchpad.

51 Consommation des SRAM (cache, scrachtpad)
Ecache = F(Line size, associativity, cache size, word size, techno) Estimation : CACTI [CA]

52 Consommation des DRAM SDRAM : ESDRAM =ESTBY + EREFRESH + EREAD + EWRITE Typiquemment le refresh intervient toute les 64 ms. Benchmarks : SPEC95 Read/write Transaction RDRAM (Rambus DRAM)[Le00] : Active (300mW) +6000ns capacité : 64 Mbits répartie en 4 bancs +6ns Power down (3mW) Standby (180mW) +60ns Nap (30mW)

53 Consommation des DRAM : Mémoire multi_bancs
Processor Cache Processor Cache Chip 1 Chip 4 Chip 3 Chip 2 16 NAP, STB, PDN 16 16 16 16 Chip 1 Chip 2 Chip 3 Chip 4

54 Consommation de la hiérarchie mémoire
Ememorysystem = Ecaches + Escratchpad + Emain memory Ecaches = Sn Ecache i n : nombre de caches (données instructions) Ecache i = Sm Ehit + Sp Emiss + Sl Enoaccess Emain memory = Sk Eaccess + Sj Enoaccess + … ( si différents modes ) P+m+l = k+ i : durée d’exécution de l’application

55 Réduction de la consommation : transformation de code
4/2/2017 Réduction de la consommation : transformation de code E = Si Ei Ni + Si,j Oi,j Mi,j + Sk Ek Ei : Utiliser des formats adaptés à l’échelle de numération souhaitée : Exemple : type « int », % sur P que pour « char » ou « short ». Favoriser l’utilisation des opérations consommant moins d’énergie. Exemple : A*2 => A+A. Oi,j : Réordonner les instructions après ordonnancement : Principe : Réordonner les instructions afin de réduire les commutations entre deux instructions consécutives. Exemple pour le processeur Fujitsu DSP : 1. LDI Séquences : 1,2,3 => 87.3 mA 2. MOV2 2,1,3 => 71.4 mA gain de 22% 3. ADD Au-dela de 3V, peu d’impact sur la fréquence. Lorsque Vdd s’approche de Vt, la vitesse baisse rapidement

56 Réduction de la consommation : transformation de code
4/2/2017 Réduction de la consommation : transformation de code Ek : Réduction du nombre de rupture de pipeline Basé sur les probabilités de passage dans les séquences d’instructions. Exemple : IF (…) Then <= Prob=0.3 seq instr 1 … Else <= Prob =0.7 seq instr 2 … END IF; Pour le pentium 4, taille du pipeline : 20 Ei, Ek : Réduction du nombre d’accés mémoire et de défaut de cache : Modifications algorithmiques : favoriser l’utilisation des registres. Modifications architecturales, Combinaison des deux. Beq seq instr1 Seq instr 2 Jump END IF Seq instr 1 END IF Bne seq instr2 Seq instr 1 Jump END IF Seq instr 2 END IF Au-dela de 3V, peu d’impact sur la fréquence. Lorsque Vdd s’approche de Vt, la vitesse baisse rapidement

57 Réduction de la consommation : transformation de code
4/2/2017 Réduction de la consommation : transformation de code Loop Interchange for(j=0;j<N;j++) for(i=0;i<N;i++) A[j][i] = A[j][i] +1; for(i=0;i<N;i++) for(j=0;j<N;j++) A[j][i] = A[j][i] +1; Hypothèse : les données sont stockées par ligne, A[j][i] et A[j][i+1] sont à des adresses consécutives. for(i=0;i<N;i++) B[i]=A[i] +1; for(i=0;i<N ;i++) C[i]=A[i] * 3; Loop Fusion for(i=0;i<N;i++) B[i]=A[i] +1; C[i]=A[i] * 3; Cette transformation réduit le nombre de défauts de cache. Si A peut_être affectée à un registre => une seule lecture mémoire. Au-dela de 3V, peu d’impact sur la fréquence. Lorsque Vdd s’approche de Vt, la vitesse baisse rapidement Loop Unrolling for(i=0;i<N;i++) B[i]=A[i] + A[i+1]; B[i+1]=A[i+1] + A[i+2]; for(i=0;i<N;i++) B[i]=A[i] + A[i+1]; Si A[i+1] peut_être affectée à un registre => une seule lecture mémoire. Pb : Augmente la taille du code (cache d’instruction).

58 Réduction de la consommation : transformation de code
Multiplication de matrice for(j’=0;j’<N;j’+T) for(k’=0;k’<N ;k’+T) /* un block de taille T */ for(i=0;i<N;i++) for(j=j’;j< min(j’+T-1,N-1);j++) for(k=k’;k< min(k’+T-1,N-1);k++) C[i][j]= C[i][j] + A[i][k] * B[k][i]; for(i=0;i<N;i++) for(j=0;j<N ;j++) for(k=0;k<N ;k++) C[i][j]= C[i][j] + A[i][k] * B[k][i]; Loop Tiling Transformation A, B, C ne rentrent pas dans le cache => décomposition par bloc dont la taille rentre dans le cache (Tile size). => Autre solution : modification du calcul d’adresse associé à un code de gray Tile 1 : A[0][0], A[0][1], A[1][0], A[1][1], Tile 2 : A[0][2], A[0][3], A[1][2], A[1][3], Tile 1 Tile 2 Tile 3 Tile 4

59 Réduction de la consommation : Architecture du système mémoire
Système embarqué : Architecture mémoire adaptée à l’application afin de diminuer le nombre de défaut de cache : degré d’associativité, niveau de cache, taille de ces différents niveaux de cache … => dépend de l’application ?

60 Réduction de la consommation : DVFS, ABB, modes repos
Pour les processeurs DVFS (Xscale, Transmetta, StrongArm, Lparm …) : on adapte la vitesse de fonctionnement en fonction des contraintes temporelles (problème d’ordonnancement). Modes repos : idle, sleep … IDLE SLEEP 50 mW 160 mW RUN 400 mW 10ms 160ms 90ms Processeur StrongArm : (59 Mhz, 0.8 V) -> (206 Mhz, 1.5 V) ABB (Adaptative Body Biaising) : VTH variable

61 Modes repos (Pénalités)
Quelques chiffres Echelle de V,F P(V,F) Modes repos (Pénalités) StrongArm SA110 0.8V,59Mhz 1.5V,206Mhz _ 400mW Idle : 160mW (10 µs) Sleep : 50mW (160 ms) LParm (base : ARM8) 1.1V,10Mhz) (3.3V,100Mhz) 1.8 mW 220 mW Idle : 500µW (1 cycle) PXA255(Xscale) 1V,200Mhz 1.3V,400Mhz 0.9 W 1.5 W Pidle(F,V) = 45 à 939 mW Sleep : (P=45µA) Arm1176 (130µm) De 330 Mhz à 550 Mhz 0.8mW/Mhz avec cache 0.6 mW sans cache Transmetta 0.8V, 300Mhz 1.3V,1GHz FPGA-Actel F<400Mhz 1000nW/MHz/porte stby : 100µA (800ns,200µs)

62 E processeur : DVFS ou mode repos ?
F1,V1 WCET (Worst Case Execution Time) Tâche1 Processeur inactif E = Etâche1,F1,V1 + Einactif DVFS Modes repos Tâche1 F1,V1 Processeur en mode repos WCET Tâche1 F2<F1,V2<V1 WCET E’’ = Etâche1,F1,V1 + Etransitionrepos + Emode repos E’’ > Etâche1,F1,V1(>E’) < E Ppic inchangé, Prepos => rechargement de la batterie ? E’ = Etâche1,F2,V2 + EtransitionDVS E’ < Etâche1,F1,V1 < E E et Ppic réduit.

63 DVFS ou modes repos Recherche des différentes vitesses de fonctionnement du ou des processeurs. Echéance Mode repos PE1 T1 (V,F) T6 (V,F) T3 (V3,F3) Exploitation des modes repos lorsque F n’est plus disponible. => Et la mémoire ???? F CPU (Mhz) ECPU Emem Etotal 50 1.04 37.71 38.75 200 1.58 9.51 11.09 600 3.63 3.25 6.88 1000 7.88 2.02 9.9 Exemple : décodeur MPEG (Processeur intel XSCALE) [Le00] P en mW, E en mJ

64 E processeur + Emémoire : DVFS ou mode repos ?
Modes repos Tâche1 F1,V1 Processeur en mode repos WCET Tâche1 F2<F1,V2<V1 WCET T1 T3 T1 T2 T3 E’proc = Etâche1,F2,V2 + EtransitionDVS Sans cache : E’mem = Pmactive . (T3-T1) Avec cache - sans défaut de cache E’mem = Pmstby . (T3 - T1) Avec cache - Avec défaut de cache E’mem = Pmstby . T.F1/F2 + Pmactive . T’’ E’’proc = Etâche1,F1,V1 + Etransition + Emode repos E’’mem = Pmactive . (T2-T1) + Pmstby . (T3 -T2) E’’mem = Pmstby . (T3 - T1) E’’mem = Pmactive.T’’ + Pmstby.T Pmstby.(T3 –T2)

65 DVFS + Gestion des modes repos du système mémoire (RDRAM) [Le00]
F CPU (Mhz) ECPU Emem Etotal 50 1.04 37.71 38.75 200 1.58 9.51 11.09 600 3.63 3.25 6.88 1000 7.88 2.02 9.9 P en mW, E en mJ Exploitation des modes STBY, NAP, PDN Exemple : décodeur MPEG (Processeur intel XSCALE) F CPU (Mhz) P CPU P mem ECPU Emem Etotal 50 16.5 31.5 1.04 1.98 3.02 200 98.5 35.6 1.58 0.57 2.15 600 639 43.5 3.63 0.25 3.88 1000 2169 50.1 7.88 0.18 8.06

66 Ordonnancement basse consommation (monoprocesseur)
Considérons un ensemble de tâches définies par : Ci (Worst Case Execution Time : WCET) : pire temps d’exécution d’une tâche i, AETi : temps effectif d’exécution d’une tâche i, Ai : Date d’activation d’une tâche i, Ti : Période d’une tâche i = Echéance d’une tâche i (Di). Principe de la politique RM (Rate Monotonic) [Gru02] : Priorité à la tâche qui a la plus petite période. (à priorité fixe) Pour N tâches :

67 Ordonnancement RM-LP hors ligne
Recherche d’un facteur de ralentissement global => Rechercher : S = Fref/F : facteur de ralentissement (S>1). On cherche un facteur de ralentissement Ci’=Ci*S tel que :

68 Ordonnancement RM-LP hors ligne
Hyperpériode t 3 4 6 8 9 12 Exemple : Ordonnancement RM Tâche WCET Période T1 1 3 T2 4 Hyperpériode P 3 4 6 8 9 12 t Choix de Emin (E = Eproc + Emem) Parmi EDVFS et Emoderepos Préemption [Ki04] Hyperpériode P 3 4 6 8 9 12 t Modes repos

69 Ordonnancement RM-LP hors ligne
Fnominale Fmin F DVFS DVFS+Modes repos Solution ? P 3 4 6 8 9 12 t Recherche d’un facteur de ralentissement local Si il reste du temps, recherche d’un facteur de ralentissement local. P 3 4 6 8 9 12 t

70 Ordonnancement en ligne
Principe : redistributions des gains Lorqu’une tâche termine, on calcule la différence entre le WCET et le AET et on redistribue le temps gagné soit : à la tâche qui débute son exécution, à toutes les tâches en attente. T1 (V1,F1) CPU Deadline Si T1 finit avant son WCET T2 (V2’,F2’) Idle Tâche WCET Période Exécution 1 T1 1 3 0.5 T2 4

71 Ordonnancement CC-RM [SH03]
Tâche WCET Période Exécution1 Execution2 Execution3 Exécution4 T1 1 3 0.5 T2 4 Dj : deadline P t D1 D2 D3 D4 D5 3 4 6 8 9 12 3/2 9/4 En ligne => EDF ... Modes repos ?? Prédiction ? Coût de l’ordonnancement en ligne Power-aware ???

72 DVFS et ABB [Je04] Modélisation de Pleakage (V) de façon à valider le gain attendu : P = Pdynamique(Vdd,F) + Pleakage (Vdd) à Vth constant. Gestion du DVFS et du ABB (Adaptive Body Biaising) P = Pdynamique(Vdd,F) + Pleakage (Vdd,Vth) avec Vth = Vth1 – K1. Vdd – K2.Vbs Pleakage = [Vdd. (K3. eK4Vdd.eK5Vbs) + |Vbs|.Ij. Exemple : processeur crusoe 70 µm Vdd=1V, Vbs =0V => E =93.5µJ, Vdd=0.85, Vbs =0V => E = 73.8µJ, Vdd=1V, Vbs =-0.66V => E =50.6µJ. Politique d’ordonnancement ?

73 Réduction de la consommation : Autres mémoires
Mémoire 1T-SRAM (proposée par MoSys [Mo]) : Cellule de base : un transistor et une capacité (MOS). Une petite taille de cellule (1/3-1/4 d’une cellule SRAM) Facilité de leur intégration de très grandes vitesses, 220Mhz pour une technologie 0.25 µm, plus de 300 Mhz pour une technologie 0.18 µm. Ces mémoires surpassent les mémoires DRAM en terme de densité ? Mémoire MRAM (proposée par Cypress) : Capacité : actuellement 2 Mo par chip, en 2006, 32Mo. Forte consommation en écriture, faible consommation en lecture, Quelques chiffres : Documentation cypress 32Kx8, Read and write access : 70 ns, active power : 495 mW, standby mode : 825 µW.

74 Autres mémoires Victim Buffer [Zh04] : mémorise les lignes récemment expulsées du cache. Frequent Value [Va04] : les données du cache sont divisées en deux catégories : FV pour « Frequent value » et « NFV » pour « Non frequent value ». Les FVs sont stockées sous un format encodé dans un petit bloc tandis que les NFVs occupent un bloc plus large sous un format non encodé. 20 Cycles 1 Cycle Cache Main Memory Processor Victim buffer

75 Conclusion Evolution des techniques d’ordonnancement hors ligne et en ligne afin de réduire la consommation processeur + système mémoire en tenant compte du DVFS/ABB et des modes repos du processeur et des mémoires, Impact de l’allocation mémoire ? Gestion du RTOS complexe => réalisation de certains services en HW. Systèmes Multiprocesseurs ? NOC (Network On Chip) ?

76 Conclusion : ITRS 2004 Manufacturable solutions exist.
année 03 04 05 06 07 08 09 12 15 18 SOC Dynamic power reduction 0.1 0.2 6 4.7 8.1 SOC Static power reduction 0.37 1.4 2.4 3.4 5.1 6.4 8.7 18.8 44.4 232 Manufacturable solutions exist. Manufacturable solutions are known. Manufacturable solutions are not known.

77 Bibliographie [Ac03] A. Acquaviva, T. Simunic, L. benini, « LP-ECOS : An energy efficient RTOS », HP Lanoratories, April 2003. [Be98] Luca Benini, Giovanni De Micheli , « Dynamic Power Management, Luca Benini, Giovanni De Micheli», Kluwer Academic Plublishers,1998. [Be00] L. Benini, A. Bogliolo, G. De Micheli, « A survey of design technique for system Level dynamic power Management », IEEE transactions on VLSi Systems, vol. 8, No. 3, Juin 2000, pp [Bo02] Bokar, [Ca04], B.H. Calhoun, F.A. Honoré, A. P. Chandrakasan, » A Leakage Reduction Methodology for distributed MTCMOS », proceeding of IEEE Joiurnal of Solid-state circuits, vol.39, no.5, may 2004. [Ch02] P. H.Chou, J. Liu, D. Li, N. Bagherzadeh, « IMPACCT : Methodology and tools for Power-Aware Embedded Systems », Design Automation for Embedded Systems, Kluwer Academic Plublishers, pp , 2002. [Da99] P. dave, G. Lakshminarayana, N. Jha, « COSYN: Hardware-Software Co-Synthesis of heterogeneous distributed Embedded Systems, IEEE Transactions on VLSI systems, Vol. 7, No. 1, mars 1999. [Do94] M. Doyle, J. Newman, J. Reimers, « A quick method for measuring the capacity versus the discharge rate for a dual Lithium-ion insertion cell undergoing cycling », Journal of pwoer sources, Vol. 52, No. 2, décembre 1994, pp [Ge01] Jun fei Geng, Battery Modeling: a Longer Lifetime, (duke University). [Gr02] F. Gruian, « Energy centric Scheduling for Real Time Systems », PhD thesis Lund Institute of Technology, 2002.

78 Bibliographie [Gu01] Guitton-Ouhamou Patri­cia, Belleudy Cécile, Auguin Michel, «Power consumption Model for the DSP OAK Processor», proceedings of 11th IFIP International Conference on Very Large Scale Integration-System-On Chip 2001, December , Montpellier, France, pp73-78. [Gu03] P. Guitton-Ouhamou, K. Ben Chehida, C. Belleudy, M. Auguin, «Automatical architecture exploration : Energy optimisations of a codesign tool for embedded HW/SW systems», first Northeast Workshop on Circuits and Systems (NEWCAS'2003), sponsored by IEEE June , 2003, in Montréal, Canada. [FEL03] Xiaobo Fan, Carla Ellis, and Alvin Lebeck. Interaction of power-aware memory systems and processor voltage scaling. In Proceedings of the Workshop on Power-Aware Computer Systems PACS'03, December 2003. [In01] T. Inukai, T. Hiramoto, T. sakurai, « VTCMOS in Seris Connected circuits », Proceedinf of ISPLED 2001. [Je04] R. Jejurikan, C. Pereira, R. Gupta, « Leakage Aware Dynamic Voltage Scaling For Real-Time Embedded Systems », Proceeding of Design Automation Conference 2004. [Ki04] W.Kim, J.Kim, S.L Min « Preemption-awware dynamic voltage scaling in hard real time systems », ISLPED 2004. [Le00] X. Fan, C. Ellis, A. Lebeck, «  The synergy between Power-Aware Ssystems and Processor Voltage Scaling », Proceedings of the International Symposium on Low-Power Electronics and Design ISLPED'01, August 2001. [Lu01] Jiong Luo, Niraj K. Jha "Battery-Aware Static Scheduling for Distributed Real-Time Embedded Systems", in proceedings of 38th Design Automation Conference 2001 [p. 444] June 18-22, Las Vegas. [Lu02] J. Luo and N. K. Jha, ‘‘Static and dynamic variable voltage scheduling algorithms for real-time heterogeneous distributed embedded systems,’’ Int. Conf. on VLSI Design, Jan

79 Bibliographie [Ma99] Thomas Martin and Daniel Seiwiorek, "Non-Ideal Battery Behavior and Its Impact on Power Performance Trade-offs in Wearable Computing," Proceedings of the 1999 International Symposium on Wearable Computers, San Francisco, October 18-19, 1999; pp [Ti98] V.Tiwari, Reducing power in High performance microprocessors, Design Automation Conference , 1998, pp [Va04] Chuanjun Zhang, Jun Yang and Frank Vahid, “ Low static power frequent value data caches” Date 2004. [Wu03] Dong Wu and Bashir M. Al-Hashimi, Petru Eles, "Scheduling and Mapping of Conditional Task Graphs for the Synthesis of Low Power Embedded Systems", in proceedings of Design Automation Test in Europe Munich, Germany, March 3-7, 2003, p [Zh03] D. Zhu, R. Melhem, and B. Childers; "Scheduling with Dynamic Voltage/Speed Adjustment Using Slack Reclamation in Multi-Processor Real-Time Systems", IEEE Trans. on Parallel & Distributed Systems, vol. 14, no. 7, pp , 2003. [Zh04] Chuanjun zhang, Frank Vahid, “ Using a victim buffer in application-specific memory hiearachy”, DATE 2004. AS-LP : [Ca] CACTI : [Mo] Mosys low power design –don’t forget about the memory,


Télécharger ppt "Modélisation et optimisation de la Consommation dans"

Présentations similaires


Annonces Google