Estimation et Optimisation de la consommation dans les...

18
Estimation et Optimisation de la consommation dans les SOCs : Processeur & ordonnancement Master ESA 1 C. Belleudy ([email protected]) PLAN 1. Généralités sur la consommation électrique des circuits numériques 1. Introduction 2. Rappel des formules de base 3. Comment réduire la consommation 2 3. Comment réduire la consommation 2. Estimation et Optimisation de la consommation des processeurs et des mémoires 3. RTOS et ordonnancement Basse consommation 4. Systèmes de récupération d’énergie et traitement de données Système faible consommation : objectifs - Facture électrique = Energie - Autonomie - Echauffement thermique - aspects environnementaux : consommation mondiale, traitement des piles, équipement, … 2015 – 2020 : -Nombre de souscriptions au haut débit 3,6 -> 7,7 milliards - Volume de données Échangées : Multiplication par un facteur 10 Santé, Transport, Ville et Maison 3 Consommation des équipements portables (ITRS 2015) 0 500 1000 1500 2000 2500 3000 3500 2009 2010 2012 2014 2016 2018 2020 P en mW Année JNRDM 2016, 5G : Tendances et Perspectives pour la Conception d'Amplificateurs de Puissance, Florent Torres, Eric Kerhervé, Andreia Cathelin intelligente, …. Conception faible consommation Contrainte d’énergie et/ou de puissance Contrainte d’énergie et/ou de puissance : Autonomie souhaitée + contrainte taille/poids Batterie Systèmes de récupération d’énergie Par scénario applicatif => E, P Exemple téléphonie mobile : Exemple téléphonie mobile : Exigences ados : 1 journée, nb sms, accès réseau sociaux, jeux, Journée école ou vacances Senior : qq jours, info, application GPS, googlemaps, WAZE Packaging, … Packaging, … : Pmoyen, Ppeak à ne pas dépasser Aucune contrainte Aucune contrainte => déterminer la solution qui consomme le moins pour une application ou un jeu d’applications donné. 4

Transcript of Estimation et Optimisation de la consommation dans les...

Page 1: Estimation et Optimisation de la consommation dans les ...perso-etis.ensea.fr/lorandel/ESA/Belleudy.pdf · Estimation et Optimisation de la consommation dans les SOCs : Processeur

Estimation et Optimisation de la consommation dans les SOCs : Processeur & ordonnancement

Master ESA

1

C. Belleudy ([email protected])

PLAN

1. Généralités sur la consommation électrique des circuits numériques

1. Introduction2. Rappel des formules de base3. Comment réduire la consommation

2

3. Comment réduire la consommation

2. Estimation et Optimisation de la consommation des processeurs et des mémoires

3. RTOS et ordonnancement Basse consommation

4. Systèmes de récupération d’énergie et traitement de données

Système faible consommation : objectifs

- Facture électrique = Energie- Autonomie- Echauffement thermique- aspects environnementaux : consommation mondiale, traitement des piles, équipement, …

2015 – 2020 :-Nombre de souscriptions au haut débit 3,6 -> 7,7 milliards- Volume de données Échangées : Multiplication par un facteur 10 Santé, Transport, Ville et Maison

3

Consommation des équipements portables (ITRS 2015)

0

500

1000

1500

2000

2500

3000

3500

2009 2010 2012 2014 2016 2018 2020

P e

n m

W

Année

JNRDM 2016, 5G : Tendances et Perspectives pour la Conception d'Amplificateurs de Puissance, Florent Torres, Eric Kerhervé, Andreia Cathelin

Santé, Transport, Ville et Maison intelligente, ….

Conception faible consommation

�� Contrainte d’énergie et/ou de puissance Contrainte d’énergie et/ou de puissance ::� Autonomie souhaitée + contrainte taille/poids Batterie� Systèmes de récupération d’énergie

⇒ Par scénario applicatif => E, P⇒ Exemple téléphonie mobile :⇒ Exemple téléphonie mobile :

⇒ Exigences ados : 1 journée, nb sms, accès réseau sociaux, jeux,Journée école ou vacances⇒ …⇒ Senior : qq jours, info, application GPS, googlemaps, WAZE

�� Packaging, … Packaging, … : Pmoyen, Ppeak à ne pas dépasser�� Aucune contrainte Aucune contrainte => déterminer la solution qui consomme le moins pour

une application ou un jeu d’applications donné.

4

Page 2: Estimation et Optimisation de la consommation dans les ...perso-etis.ensea.fr/lorandel/ESA/Belleudy.pdf · Estimation et Optimisation de la consommation dans les SOCs : Processeur

Qui consomme - partie numérique ?

Exigence croissante en termes de traitements, de capacité de mémorisation, de transmission

Unités de traitement (Processeur,

5

Unités de traitement (Processeur, ASICs, FPGA) : ⇒ Course à la fréquence,⇒ ParallélismeLe nombre de coeur double tous les 2 ans (Patterson, 2007)

Mémoire externe : Capacité x 2 tous les 3 ans

Architecture multiprocesseur

La consommation ?

Conception faible consommation⇒ Répondre aux exigences applicatives

⇒ compromis performance/consommation

6Problème majeur

Autonomie prolongée, Rechargement moins

fréquent (1500 à 2000 cycles )

Quelques ordres de grandeurProcesseur type PC (7th génération) :

Core I7 : actif : 91 W, => portable : 15 W

Core I5 : actif : 65 W, => portable : 15 W

Capacité de la batterie : 220 Wh/Kg, poids : 400gr

Processeur Tablette/notebook :

ATOM : 5 W, TEGRA : 8 W

7

ATOM : 5 W, TEGRA : 8 W

Capacité de la batterie : 220Wh/Kg, poids : 200gr

Processeur téléphonie mobile :

Cortex A7, A9, A15, TEGRA, Exynos… : W – 28nm

Capacité de la batterie : 220Wh/Kg, poids : 60gr -> 140gr

Autonomie de ces équipements ?

Au bout de 1000 rechargements, perte de 30% de la capacité de charge,

Un site à visiter : http://www.eu-energystar.org/fr/fr_008b.shtml

Communication, débit et consommation : ordre de grandeur

Consommation de quelques protocoles de communication :

� LORA : 10kbps, Zigbee : 15 mW (250kbps), Bluetooth LE: 50 mW (1Mbps), WIFI : 300mW (-> 50Mbps),

� 3G : 870 mW, 4G : 430mW par Mbps ->(Gbps), 5G : (->10 Gbps)

QQ Batteries de mobile : 2300mAh (Galaxy A3) -> 2900 mAhQQ Batteries de mobile : 2300mAh (Galaxy A3) -> 2900 mAh(Galaxy A5), 4000mAh (Archos 50 Power)

Autres : Oukitel K10000, 1,4cm d’épaisseur, 316gr, 10 000mAh

Application SmartViser, simulation des usages (navigation Internet, appels, SMS, lecture de vidéos, calculs basiques et 3D...).

Galaxy A3 : 14h, Galaxy A5 : 18hArchos 50 Power : 17h, Oukitel K10000 : 40 h

http://www.lesnumeriques.com/telephone-portable/notre-selection-smartphones-android-plus-autonomes-a2365.html

8

Page 3: Estimation et Optimisation de la consommation dans les ...perso-etis.ensea.fr/lorandel/ESA/Belleudy.pdf · Estimation et Optimisation de la consommation dans les SOCs : Processeur

Les sources de dissipation : Puissance et Energie

P = Pstatique+ Pdynamique

9

Puissance de reposDue aux commutations

en sortie de la porte CMOS

Pdynamique ~ Cl.Vdd2.F

P = Vdd. Istatic

Istatic ~ Ileakage ~ (W/L) e(-VTH

/T)

Courant de fuites & type de circuit

Comment Réduire la consommation ?

�� Couper la tension d’alimentation : Couper la tension d’alimentation : P= (P= (IdynamicIdynamic++IstaticIstatic).).VddVdd

Mode repos Mode repos ((idleidle, , sleepsleep, , deepsleepdeepsleep) des ) des processeurs,processeurs, des mémoires, ...

Principe : séparer les tensions d’alimentation des circuits d ’E/S et du cœur du circuit => power domain

�� Adapter la tension d’alimentation (voltage Adapter la tension d’alimentation (voltage scalingscaling) ) T = K’. C .V /(/(/(/(V -V )2

0

10

T = K’. Cout.Vdd/(/(/(/(Vdd-Vth)2

Se traduit par des « operating point » sur les processeurs : couple tension/fréquence

� Baisser Baisser la fréquence du circuit la fréquence du circuit ((FrequencyFrequency scalingscaling) : ) :

PpicPpic et et PmoyenPmoyen diminuent, E reste inchangée diminuent, E reste inchangée => => permet de limiter la dissipation thermique et de maîtriser le pic de puissance (permet de limiter la dissipation thermique et de maîtriser le pic de puissance (PpicPpicdétermine le prix du packaging).détermine le prix du packaging).

0

5

10

15

20

25

30

1 2 3 4 5

Vdd(V)

Tem

ps d

e ré

pons

e

(nor

mal

isé)

Comment Réduire la consommation ?

� Réduction du nombre de commutations soit l’activité: processeur, bus et mémoire.

� Plusieurs VTH [In01] : Variable Treshold CMOS Transistor (VTCMOS)

11

Sub=1 : VTH haut

Sub=0 : VTH bas

Transistor off : VGS =0V, Transistor on : VGS = Vdd.

⇒ ABB (Adaptative Body Biasing)

⇒ Operating point : Vdd, F, Vth ?

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 :

12

A Typical Discharge Profile (Li/MnO2

DL2/3A Cells) [Ge01]

Quelle sera la durée de vie d’une batterie pour un courant de1 A et 0,125 A ?Seuil de tension : 2,5V.

C = In .Tl (formule de Peukert)n : constante propre à la batterie ,Tl : temps de décharge ,I : courant de décharge.

Page 4: Estimation et Optimisation de la consommation dans les ...perso-etis.ensea.fr/lorandel/ESA/Belleudy.pdf · Estimation et Optimisation de la consommation dans les SOCs : Processeur

La consommation dans un SOC

DSP

RISC

Fonction Matérielle

(IP)

FPGAFPGAS/DRAM

Bus/Réseau

T1

C1 C2

T5

T3 T4 T2

DSP

RISC

Bus

13

RISC USB

DSPASIC

PCI

DRAM

SRAM

Bibliothèques

Architecture du SOC

Ordonnancement

PLAN

1. Généralités sur la consommation électrique des circuits numériques

2. Estimation et Optimisation de la consommation des processeurs et des mémoires

14

1. Estimation de la consommation d’un core

2. Estimation de la consommation mémoire

3. Techniques de réduction de la consommation

3. RTOS et ordonnancement Basse consommation

4. Systèmes de récupération d’énergie et traitement de données

Processeur et mémoire

http://www.cse.wustl.edu/~jain/cse567-11/ftp/multcore/

15

E = Ecores + Ebus + E mémoires

Estimation niveau architecturale : Extension de la méthode probabiliste

Librairie pour les unités de traitement, de contrôle, registres, compteurs,

mémoires …

Estimation niveau logique

Estimation niveau

architecturale

Lois de composition de modèles

16

� P = Σi {unités fonctionnelles} Pi*AiAvec : Pi : énergie moyenne consommée par l’unité (dépend de Vdd, F),Ai : pourcentage moyen de commutations 0->1.Concepteur :

⇒ Exige de nombreuses simulations, ⇒ Simulation de l’ensemble

Pb : pas de description fine de l’architecture⇒ Autres solutions :

ILPA : Instruction Level Power Analysis

FLPA : FunctionalLevel Power Analysis

Page 5: Estimation et Optimisation de la consommation dans les ...perso-etis.ensea.fr/lorandel/ESA/Belleudy.pdf · Estimation et Optimisation de la consommation dans les SOCs : Processeur

Consommation logicielle : Instruction Level Power Analysis

E = Σi Ei Ni + Σi,j Oi,j Mi,j + Σk Ek

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)Mi,j : nombre de pair d’instruction de type i,j

17

Mi,j : nombre de pair d’instruction de type i,jEk : énergie due aux défauts de cache, et aux ruptures de pipeline.

Les données (les instructions) ne sont pas dans le cache. Le processor attend : Eproc ~ Enop

Decode I1I1 Fetch Execute I1 Rupture de Pipeline

Decode I2I2 Fetch Execute I2

Decode I4I4 Fetch Execute I4

Decode I3I3 Fetch Execute I3Programme :Instr 1Instr 2 : BNE Instr 4Instr 3Instr 4

Consommation logicielle : Instruction Level Power Analysis

Ni, Mi,j, EkProgramme C Assembleur

Simulation, Analyse

Isoler l’alimentation du processeur

18

A Ii, Ii,j Calcul de E, Ppic, Pmoyen

Pi = Ii.Vdd, Ei = Ii.Vdd.Nci.1/FNci : nombre de cycles nécessaire pour exécuter l’instruction i, F : fréquence du processeur.

Consommation logicielle : Instruction Level Power Analysis

Calculer l’énergie consommée par un filtre FIR :Y[n] = b0.X[n] + b1.X[n-1] + b2.X[n-2] + b3.X[n-3].

Dans le cas idéal (pas de pénalité)

Dans le cas pire (cache miss + rupture de pipeline, 5 étages de pipeline).

19

Hypothèse : les instructions s’exécutent en un cycle d’horloge.

On prendra F= 1Ghz, PCore= 500 mW

Deux cas de figure : - I constant, - I variable par instruction

Estimation logicielle

Ni, Mi,j, Ek?

Programme C Assembleur

IF …Then

instr …Else

instr’ …END IF;

N= AxB + C

20

A

Ii, Ii,j Calculer E et Ppic

N= AxB + CFor (I=1 TO N){ instr 1

instr …

}END FOR;

Problème : if … then… else… , Loop for, while … temps d’éxecution ? => problème identique aux estimateurs de performance.Exemple de solution : Profiling sur un ensemble de vecteurs de test. On détermine la probabilité d’exécuter un bloc d’instructions => Valeur moyenne de Ni, Mi,j, le nombre de Ek.

Page 6: Estimation et Optimisation de la consommation dans les ...perso-etis.ensea.fr/lorandel/ESA/Belleudy.pdf · Estimation et Optimisation de la consommation dans les SOCs : Processeur

Consommation logicielle : Instruction Level Power Analysis

Calculer l’énergie consommée dans les deux cas qui suiventFor n in 0 to 15 remplacer par Wait Y[n] < SeuilLoopY[n] = b0.X[n] + b1.X[n-1] + b2.X[n-2] + b3.X[n-3].

End loop

21

End loop

Dans le cas idéal (pas de pénalité cache, pipeline, …).

Hypothèse : les instructions s’exécutent en un cycle d’horloge.

On prendra F= 1 Ghz, PCore= 500 mW

Estimation logicielle : principe du FLPA

1- Analyse fonctionnelle de l’architecture => paramètres architecturaux qui interviennent dans le calcul de E et P.

22

calcul de E et P.

2 – Mesures Spécifiques

Functional Level Power Analysis (FLPA)

Estimation logicielle : FPLA – SoftExplorer (Labsticc)

� Paramètres algorithmiques:(valeurs à déterminer)

� Exemple pour 1 core classique :� α : taux de parallélisme, � β : taux d ’utilisation des

unités de traitement

23

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 de core I (α, β, τ, γ, ε, PSR )

Estimation logicielle : FLPA – SoftExplorer (Labsticc)

Calculer l’énergie consommée par un filtre FIR :Y[n] = b0.X[n] + b1.X[n-1] + b2.X[n-2] + b3.X[n-3].

Identifier les paramètres importants

24

P et E = ?

importantsExtraction de la valeur des paramètres pour le filtre FIR

Page 7: Estimation et Optimisation de la consommation dans les ...perso-etis.ensea.fr/lorandel/ESA/Belleudy.pdf · Estimation et Optimisation de la consommation dans les SOCs : Processeur

Influence du parallélisme sur la consommation

Calculer l’énergie consommée par un filtre FIR :Y[n] = b0.X[n] + b1.X[n-1] + b2.X[n-2] + b3.X[n-3].

Instructions parallèles : 2

25

Calculer le gain obtenu pour l’exécution de 8 instructions en parallèle en comparaison d’une exécution séquentielle.

Instructions parallèles : 2 lectures/écritures, 2 opérations Int/Float.

Evaluer la consommation d’énergie et de puissance entre un exécution séquentielle puis parallèle.

Architecture multicore et SIMD

Reprendre l’exemple du filtre FIR et calculer pour différents type d’exécution la consommation.

26

la consommation.

Evaluer le nombre d’opération par seconde.

Architecture du système mémoire et consommation

1 cycle, Temps d’accès: 3 ns,

5 à 10 cyclesTemps d’accès:20 ns, 5. 83 nJ

Data processing

L1 Cache

(SRAM)

L2 Cache(SRAM)

MémoirePrincipale

20 à 50 cycles

27

d’accès: 3 ns, 0. 565 nJ

20 ns, 5. 83 nJ 20 à 50 cyclestemps d’accès 105 ns, 100 mW

Cellule SRAM : 4 à 6Trs

Cellule DRAM : 2 Trs

E = Ecores + Ebus + E mémoires

Consommation de la hiérarchie mémoire

Ememorysystem = Ecaches + + Emain memory

� Ecaches = Σn Ecache i n : nombre de caches hors core (données + instructions)

Ecache i = Σm Ehit + Σp Emiss + Σl Enoaccess + E cache_repos

28

Ecache i = Σm Ehit + Σp Emiss + Σl Enoaccess + E cache_repos

� Emain memory = Σk Eaccess + Σj Enoaccess + Emodes_repos …

P+m+l = k+ i : durée d’exécution de l’application

=> Estimation du nombre d’accès en mémoire, du nombre de cache miss …

Page 8: Estimation et Optimisation de la consommation dans les ...perso-etis.ensea.fr/lorandel/ESA/Belleudy.pdf · Estimation et Optimisation de la consommation dans les SOCs : Processeur

Défauts de cache et principeTrois catégories :

- Obligatoires : Chaque premier accès à une ligne de cache (ou donnée) n’ai pas dans le cache.- De capacité : le cache ne peut pas contenir tous les blocs nécessaires. Au cours d’exécution d’un programme, des lignes de cache seront écrasées puis rappelées plus tard.- De conflit : Une ligne de cache est écartée (puis rappelée)

29

- De conflit : Une ligne de cache est écartée (puis rappelée) car elle est placée à des adresses similaires à d’autres, lignes de cache utilisées par un programme.

Char A[64][64], B[64][64], C[64][64]; /* char = 1 octet */for (j=0; j<64; j++)

{for (i=0; i<64; i++) {A[j][i] = B[j][i] * C[j][i]; }}

Indiquer le nombre de défaut de cache ainsi que le type de défaut pour une mémoire cache : 4Ko, taille de la ligne de cache =8 Octets.

Défauts de cache et pénalités sur T, P et E

Core de processeur : P= 500 mw à 1 Ghz,

Mémoire cache :

� Direct mapped, 4Kbytes,

� taille de la ligne de cache = 8 Octets,

Mémoire externe :

30

Mémoire externe :

� Paccès = 300 mW, Prepos =2,6 mW.

En cas de cache miss, l’accès à la mémoire externe nécessite 45 ns.

Pour le programme donné page précédente et le système complet core +mémoire décrits ci-dessus, donner l’expression de la consommationénergétique en introduisant le nombre de cache miss et de cache hitcomme paramètres. En déduire la consommation d’énergie.

Algorithme d’écriture

� write-through :

la donnée est écrite à la fois dans le cache et dans la mémoire principale. La mémoire principale et le cache ont à tout moment une valeur identique.

� write-back :

la donnée est écrite dans la mémoire principale lorsque la ligne la donnée est écrite dans la mémoire principale lorsque la ligne disparaît du cache. Un bit nommé dirty bit est activé quand une donnée de la ligne a été modifiée.

� write buffer :

� données à écrire stockées temporairement, � écriture différée pour ne pas bloquer le processeur

� Exercice : reprendre l’exemple précédent

31

Réduire la consommation

Choix architecturaux :

� Parallélisme intra/inter core : structuration en Power Domain, Clock Domain

� Pipeline� Configuration des caches 0,3

0,4

0,5

0,6

Ene

rgie

(nJ

)

� Configuration des caches

32

Ecache = F(taille de la ligne de cache, associativité, taille du cache, taille du mot, technologie).

0,64

0,65

0,66

0,67

0,68

0,69

16 32 64

Taille d'un mot du cache (Byte)

Ene

rgie

(nJ

)

0

0,2

0,4

0,6

0,8

1

1 2 4

Degré d'associativité

Ene

rgie

(nJ

)

0

0,1

0,2

2 4 8 16

Taille du cache (Kbyte)

Ene

rgie

(nJ

)

Page 9: Estimation et Optimisation de la consommation dans les ...perso-etis.ensea.fr/lorandel/ESA/Belleudy.pdf · Estimation et Optimisation de la consommation dans les SOCs : Processeur

Consommation des DRAM : SDRAM

La commande ACTIVATE ouvre une ligne pour une opération de lecture ou d’écriture. La commande PRECHARGE ferme la ligne.Typiquement le refresh intervient toute les XX ms.

33

les XX ms. ESDRAM =ESTBY + EREFRESH + EREAD + EWRITE

Consommation des DRAM : Mémoire multi_bancs

ProcessorCache

16 16 16 16

ProcessorCache

16 16 16 16

34

Chip 1 Chip 4Chip 3Chip 2Chip 1 Chip 4Chip 3Chip 2

16 16 16 16

Low power modePower down(3mW)

Active(300mW)

Standby(180mW)

Nap(30mW)

+6000ns +6ns

+60ns

Réduction de la consommation : transformation de code

for(i=0;i<N;i++) B[i]=A[i] +1;

for(i=0;i<N ;i++) C[i]=A[i] * 3;

for(i=0;i<N;i++) B[i]=A[i] +1; C[i]=A[i] * 3;

for(i=0;i<N-1;i+2)

Loop Fusion

Loop Unrolling

Cette transformation réduit le nombre de défauts de cache. Si A peut être affectée à un registre => une seule lecture mémoire.

35

for(i=0;i<N;i++) B[i]=A[i] + A[i+1];

for(i=0;i<N-1;i+2) B[i]=A[i] + A[i+1]; B[i+1]=A[i+1] + A[i+2];

Loop Unrolling

Si A[i+1] peut être affectée à un registre => une seule lecture mémoire. Pb : Augmente la taille du code (cache d’instruction).

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];

Tile 1 Tile 2

Tile 3 Tile 4

Loop Tilling

A, B, C ne rentrent pas dans le cache => décomposition par bloc.

PLAN

1. Généralités sur la consommation électrique des circuits numériques

2. Estimation et Optimisation de la consommation processeurs + mémoires

36

processeurs + mémoires

3. RTOS et ordonnancement faible consommation1. Principe d’un ordonnancement2. Ordonnancement faible consommation : DVFS, DPM3. Cas des architectures multicores

4. Systèmes de récupération d’énergie et traitement de données

Page 10: Estimation et Optimisation de la consommation dans les ...perso-etis.ensea.fr/lorandel/ESA/Belleudy.pdf · Estimation et Optimisation de la consommation dans les SOCs : Processeur

Système temps réel : Application => ensemble de tâches Ti

Système temps réel & débit

Téléphone mobile : lecture vidéo⇒ Audio : 96 kbps⇒ vidéo : 30 fps (QVGA)

Vidéo : Pv : 1/30 s, Cv : 20 msAudio : Pa : 1/44100 s, Ca : 7 µsAccrochage réseau :Pr : 1/21 s, Cr : 577 µs

37

Système temps réel : Application => ensemble de tâches Ti caractérisées par :

Ci : Worst Case Execution Time (WCET), Pi : Period of the task i,Ai : Actual (real) execution time of the task i,

Problème : Ordonnancer (définition des dates d’exécution) afin de satisfaire les contraintes temporelles.

Système temps réel : Application => ensemble de tâches ticaractérisées par :

Ci : Worst Case Execution Time (WCET), Pi : Period of the task i,Ai : Actual (real) execution time of the task i,Charge de travail/processeur : Ui = Ci/Pi

Exemple : Traitement vidéo : 10 ms pour décoder une frame,

Système temps réel faible consommation

38

Exemple : Traitement vidéo : 10 ms pour décoder une frame, Période pour 25 fps : 40ms => charge core : 10/40 = 25%

Problème : Ordonnancer (définition des dates d’exécution) afin de satisfaire les contraintes temporelles + minimiser la consommation.

Technique Hors ligne(Statique)

Technique En ligne(dynamique)

Contrainte temporelle Hard, soft, best effort

Ordonnancement EDF hors ligne

Principe de la politique (Earliest Deadline first) [Gr02] : Priorité à la tâche dont l’échéance est la plus proche.Pour N tâches :

1 :ment ordonnanced'Test 1

≤=∑=

N

i Pi

CiU

Unité : 10 ms

39

112

7

4

1

3

1 U <=+=

Tâche WCET Période

T1 1 3

T2 1 4

P Hyperpériode

t3 4 6 8 9 1211 22

Charge liée à T1 : 1/3Charge processeur liée à T2 : 1/4

Ordonnancement en ligne

Tâche WCET Période Exécution 1

T1 1 3 0.5

T2 1 4 1

40

P Hyperpériode

t3 4 6 8 9 1211 22

⇒Augmentation des périodes d’inactivités⇒ Quelles sont les techniques pour réduite la consommation ?

Page 11: Estimation et Optimisation de la consommation dans les ...perso-etis.ensea.fr/lorandel/ESA/Belleudy.pdf · Estimation et Optimisation de la consommation dans les SOCs : Processeur

Réduction de la consommation : DVFS, ABB, modes repos

� DVFS :

On adapte la vitesse de fonctionnement en fonction des contraintes temporelles => problème d’ordonnancement.

� Modes repos : idle, sleep …L’alimentation d’une partie plus ou moins importante des

41

L’alimentation d’une partie plus ou moins importante des unités qui composent le processeur est coupée.Idle : sauvegarde des données dans le cache,Sleep : pas de sauvegarde des données dans le cache.

� ABB (Adaptative Body Biasing) : Vdd et VBS (=>VTH) variables => problème qui se rapproche du DVFS.

DVFS et modes faible consommation de quelques processeurs

Scale of V,F P(V,F) LP Modes (Penalities)

StrongArm SA110 0.8V,59Mhz 1.5V,206Mhz

-400mW

Idle : 160mW (90 µs)Sleep : 50mW (160 ms)

LParm (base : ARM8)

1.1V,10Mhz3.3V,100Mhz

1.8 mW220 mW

Idle : 500µW (1 cycle)

Equivalent arm from 200 Mhz to 0.8mW/Mhz with cache Wait, Doze, State

42

Equivalent arm from 200 Mhz to 1 Ghz

0.8mW/Mhz with cache0.6 mW without cache

Wait, Doze, State retention, Deep Sleep,

Hibernate

Autre 0.8V, 300Mhz - 1.3V,1GHzPas de 25 mv

_ DeepSleep : 100mW

Pénalité pour le DVFS :

qq dizaine de µs => dizaine de ms

Mode faible consommation des processeurs

�� Couper la tension d’alimentation : Couper la tension d’alimentation : On coupe la tension d’alimentation de certaines parties du processeurOn coupe la tension d’alimentation de certaines parties du processeur

Exemple Exemple de mode repos :de mode repos :

Idle : les données dans le cache sont sauvegardées,

Sleep : les données dans le cache sont perdues.

Pénalités de réveilPénalités de réveil

43

�� Pénalités de réveilPénalités de réveil

T1 T2 T3 T1 …Pénalités

T > Tréveil + Tmise_en_reposDonnées dans le cache ?

.1 *S:DPM DVFS1

mod_1

≤++ ∑∑==

m

jejlp

N

i

CPi

Ci

Choix du couple V,F ou mode repos

Tâche1

F1,V1Processeur : nop

Echéance

E = Etask1,F1,V1 + Einactif

44

Task1

F1,V1

Processeur mode repos

Echéance

Task1

F2<F1,V2<V1Echéance

E’ = Etask1,F2,V2 + EtransitionDVSE’ < Etask1,F1,V1 < ERéduction de E et Ppic.

E’’ = Etask1,F1,V1 + Etransition + Elp mode reposE’’ > Etask1,F1,V1(>E’) < E

Ppic inchangé, PLP => rechargement de la batterie ?

Page 12: Estimation et Optimisation de la consommation dans les ...perso-etis.ensea.fr/lorandel/ESA/Belleudy.pdf · Estimation et Optimisation de la consommation dans les SOCs : Processeur

DVFS, Modes repos : exemple

IDLE SLEEP

50 mW160 mW

RUN

400 mW

10µs10µs 160ms

90µs

90µs

Core de processeur: (200 Mhz, 0.8 V) -> (800 Mhz, 1.5 V)

Tâche1 Tâche2

Vitesse nominale

45

50 mW160 mW

Tâche1 Tâche2

Tâche1 Tâche2Idle Idle

F, V = ?

0 1500 2550 4050 5100 cycles

Pour ces trois ordonnancements, Calculer E et P pic ?

Recherche des différentes vitesses de

fonctionnement du ou des cores.Exploitation des modes repos lorsque F n’est plus disponible.

Favorable pour les batteries

Linux et ACPI

Application

Operating System

ACPI : Advanced Configuration and Power Interface

Indépendant du système d’exploitation

46

Driver

Component HWCPU

Configuration and Power Interface

Initiative developped by Intel, Microsoft, Toshiba …

Représentation des “power states” dans l’ACPI

G3

Legacy

G1G1

G1S4

S3

Mechanical off

Working

Power failure Device 1 Device n CPU

D2D1

D4D3

D2D1

D4D3

C2C1

C4C3

P decreases, But the wake up time increases

47

LegacyG0(S0)

G2(S5)

G1G1

S2S1

S3

Soft off

SleepingPoint d’entrée sans ACPI Wake event

Gi : global stateSi : system state - Points de fonctionnement :

couples V,F (core + bus)- Gestion basée sur des statistiques du système (PMU),- Infrastructure générique- Gestion multicoeur

- Points de fonctionnement : couples V,F (core + bus)- Gestion basée sur des statistiques du système (PMU),- Infrastructure générique- Gestion multicoeurLinus : CPUfreq

Ordonnancement EDF hors ligne & VFS

Principe de la politique EDF (Earliest Deadline first) [Gr02] :

Priorité à la tâche dont l’échéance est la plus proche.

.1

S 1 S.U *S ' ≤=>≤== ∑∑

NN CiCiOn cherche un facteur de ralentissement Ci’=Ci*S tel que :

48

.U

S 1 S.U *S 11

≤=>≤== ∑∑== ii PiPi

Tâche WCET Période

T1 1 3

T2 1 4

7.10,583

1 S 1

12

7

4

1

3

1 U ≅≤=><=+=

P

t

Hyperpériode

P Hyperpériode

t3 4 6 8 9 12

3 4 6 8 9 12

Page 13: Estimation et Optimisation de la consommation dans les ...perso-etis.ensea.fr/lorandel/ESA/Belleudy.pdf · Estimation et Optimisation de la consommation dans les SOCs : Processeur

Ordonnancement en ligne &DVFS

Principe : redistributions des gainsLorqu’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.

49

Tâche WCET Période Exécution 1

T1 1 3 0.5

T2 1 4 1

T1 (V1,F1)CPU

Deadline

Si T1 finit avant son WCET

T2 (V2’,F2’)

Idle

Inconvénient du DVFS : préemption ?

42.10,583

0,828 S 1)-(2*2

12

7

4

1

3

1 U 1/2 ≅≤=><=+=

Tâche WCET Période

T1 1 3

T2 1 4Hyperpériode

P Hyperpériode

t3 4 6 8 9 12

50

P

t

Hyperpériode

3 4 6 8 9 12

Augmentation du nombre de préemption

Cout d’une préemption :

� Changement de contexte : sauvegarde des registres et mise à jour du TCB (Task Control Block)

� Exemple sous linux => qq µsec

� Cache et TLB (Translation Look-aside Buffers : translation d’adresses virtuelles en adresses physiques) => pertes des références locales => augmentation du nombre de défaut de cache.

Inconvénient du DVFS : Energie mémoire ?

Tâche1

F1,V1Processeur : nop

Echéance

Task1

F2<F1,V2<V1

Echéance

Activité prolongée de la mémoireDoit être couplée avec une gestion

51

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

F CPU (Mhz) ECPU Emem Etotal

50 1.04 1.98 3.02

200 1.58 0.57 2.15

600 3.63 0.25 3.88

1000 7.88 0.18 8.06

Doit être couplée avec une gestion des bancs mémoire

Avec RDRAM + mode repos par banc

Tex = Tcore (Fcore) + Tmem

Gestion des modes repos : Hors ligne

Tâche WCET Période

T1 1 3

T2 1 4

P Hyperpériode

t3 4 6 8 9 12

52

P Hyperpériode

t3 4 6 8 9 12

Prolonger la durée Prolonger la durée des modes reposdes modes repos

Modes repos plus profondModes repos plus profond

Trepos > Tdésactivation + Tréveil

.1 1

mod_1

≤+∑∑==

m

jejlp

N

i

CPi

Ci

Page 14: Estimation et Optimisation de la consommation dans les ...perso-etis.ensea.fr/lorandel/ESA/Belleudy.pdf · Estimation et Optimisation de la consommation dans les SOCs : Processeur

Gestion des modes repos : En ligne

Tâche WCET Période

T1 1 3

T2 1 4

P Hyperpériode

t3 4 6 8 9 12

53

Trepos > Tdésactivation + Tréveil

Tâche WCET Période Exécution1 Execution2 Execution3 Exécution4

T1 1 3 0.5 0.5 0.5 0.5

T2 1 4 1 0.5 1

⇒⇒ Prédiction des temps moyens de repos afin de choisir les modes repos Prédiction des temps moyens de repos afin de choisir les modes repos adaptésadaptés

Réduction de la puissance statique : VTCMOS [In01]

Variable Treshold CMOS Transistor (VTCMOS) : VTH variableIleak =K1.exp(K2.Vdd) .exp(K3.VBS)

Tinv = K/(VTH0 – K4.Vdd – K5.VBS)α

=> ABB (Adaptative Body Biasing)

Ileakage ~ K. e(-VTH

/T)

54

Exemple : processeur crusoe 70 nm [Je04]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

Problème : Ordonnancer afin de satisfaire les contraintes temporelles et de

Ordonnancement faible consommation & multicores

Application + contraintes Caractéristiques de l’architecture

55

Problème : Ordonnancer afin de satisfaire les contraintes temporelles et de minimiser la consommation en sélectionnant :� le nombre de processeur en mode actif,� la vitesse de fonctionnement des processeurs� le mode repos des processeurs non actifs.

Vitesse globale Vitesse Locale Modes repos

Systèmes multicores

� Systèmes homogènes :� Couple V,F identique pour chaque processeur� Architecture big-Little => groupe de cores� Couple V, F local à chaque processeur

Modes repos : local à chaque processeur . nPi

CiN

≤∑� Modes repos : local à chaque processeur

� Systèmes hétérogènes :� DPM,� Unités avec ou sans DVFS.

+ environnement de travail (charge de la batterie, état d’un réseau …)

56

. 1

nPii

≤∑=

Page 15: Estimation et Optimisation de la consommation dans les ...perso-etis.ensea.fr/lorandel/ESA/Belleudy.pdf · Estimation et Optimisation de la consommation dans les SOCs : Processeur

� Approche statique :� Ajustement des vitesses, � Réduction du pic de puissance, � Ordonnancement statique,� Allocation, ordonnancement statique

Multiprocesseurs et faible consommation

.1 1

≤∑=

P

j Pj

Cj

57

� Allocation, ordonnancement statique

�� Approche dynamique :Approche dynamique :

� Ordonnancement dynamique� Allocation, ordonnancement dynamique locale� Allocation, ordonnancement dynamique (migration de tâches)

. 1

nPi

CiN

i

≤∑=

Ordonnancement Global ou allocation + ordonnancement local

Exemple de multicore & Consommation

P en mW

0,95V300 MHz

1,08V600Mhz

1,2v900 Mhz

1,35V1200 Mhz

No activity

93 156 241 361

1 core 160 270 415 633

2 cores 225 380 587 885

Décodeur H264 - treize images par seconde :4 processeurs actifs,F=300Mhz (0.95V) P=335 mW, 2 processeurs actifs, F=1200Mhz (1.35V) P=880 mW.

58

2 cores 225 380 587 885

3 cores 276 462 701 1034

4 cores 335 561 841 1256

P = (K1. Vdd + K2 .V2DD. Fclk) + Ncpu. (K3. Vdd + K4. V2

dd .Fclk)

Nombre de processeurs en mode actif

Erreur < 10%

F=1200Mhz (1.35V) P=880 mW.

=> Stratégies faible consommation

�� Approche statique :Approche statique :

� Ordonnancement à fmax puis on raffine : � Ajustement des vitesses, � Réduction du pic de puissance,

� Ordonnancement statique faible consommation,

Ordonnancement Multicores faible consommation

59

� Ordonnancement statique faible consommation,� Allocation + ordonnancement statique

� Approche dynamique :� Ordonnancement dynamique� Allocation, ordonnancement dynamique locale

� Allocation, ordonnancement dynamique (migration de tâches)

Hypothèse :- ensemble de tâches Ti indépendantes définies par ci, pi

Allocation et ordonnancement dynamique & DVFS

T1 T2 T3 T4 T5 T6File : (globale)

(WCET décroissant)

Approche dynamiqueApproche dynamique

Exemple : T1(5), T2(4), T3(3), T4(2), T5(2), T6(2).

60

(globale)

La file des tâches exécutables est donnée par l’algorithme du list scheduling ou autre … 1 - Allocation des tâches aux processeurs => Ordonnancement local2 – Ordonnancement global

T1 T3

T6

Core 1

T2 T4

T5

Core 2Deadline

Core 1 : T1, T2

Core 2 : T3, T4, T5, T6

Page 16: Estimation et Optimisation de la consommation dans les ...perso-etis.ensea.fr/lorandel/ESA/Belleudy.pdf · Estimation et Optimisation de la consommation dans les SOCs : Processeur

Ajustement des vitesses processeur [Luo]

T1

E1

T2

T3

T4

E2

T1

E1 E2

T5

T3 T4 T2

PE1

PE2

Bus

D(T2) D(T5)

Ordonnancement vitesse nominale

6 3

6

3

4

3

Approche statiqueApproche statique

61

Deadline(T2)=19

T5Deadline(T5)=22

Ti : tâche iEi : Communication entre unités

Pour chaque chemin critique, calcul du Facteur de Ralentissement :

FRchemin critique = ((Tfin - Tdébut – Σi WCETi)/ Σi sur processeur WCETi ) + 1

3

T1

E1 E2

T5

T3 T4 T2

PE1

PE2

Bus

D(T2) D(T5)

T1 T2 T3 T4 T5

FR 8/6 8/6 5.5/3 5.5/3 7/3

Réduction du pic de puissance Ppicmin

T1

T2

T6

T7

T8

T3

T4 T5

e1 e2e3 e4

e5

Approche statiqueApproche statique

P en mW

0,95V300 MHz

1,08V600Mhz

1,2v900 Mhz

1,35V1200 Mhz

No activity

93 156 241 361

1 core 160 270 415 633

2 cores 225 380 587 885

62

2 cores 225 380 587 885

3 cores 276 462 701 1034

4 cores 335 561 841 1256

Evaluation de U global pour les différentes fréquences Calcul du nombre de coresOrdonnancement

Allocation, ordonnancement + VFS [Chen]

� Hypothèses : � Vitesse variable par processeur, Tâches indépendantes� Pas de migration, tous les jobs d’une tâche sont sur le même processeur

avec la même vitesse

� Deux phases (M processeurs) : � Phase de relaxation (programmation convexe) :

Minimize Σ Ei(ti), Subject to Σ ti/pi = M, avec 0 < ti ≤ pi (ti=ci*s)

Approche statiqueApproche statique

63

Minimize Σ Ei(ti), Subject to Σ ti/pi = M, avec 0 < ti ≤ pi (ti=ci*s)⇒ À l’issu de cette phase, on déduit le temps d’exécution ti (s=ci/ti) de

chaque tâche Ti qui minimise l’énergie

� Phase de rounding :

� algorithme LEUF (Largest-Estimated Utilization First) : les tâches sont affectées au core ayant le plus faible taux d’utilisation (Uj), on commence par les tâches ayant le plus grand taux d’utilisation (UTi = ti/pi).

� ordonnancement EDF par processeur à la vitesse correspondant à ti’ = ti x 1/Um

GAIN ?

Allocation, ordonnancement + VFS [Lan]

� Approche prenant en compte la consommation statique� Tâches dépendantes� Choix optimal du nombre de processeurs + voltage scaling

� Borne min (Mlwb) et max (Mupb) du nombre de processeur� Pour M =(Mlwb + Mupb)/2 processeurs, ordonnancement de type

list scheduling qui utilise les priorités de l’EDF => si l’ordonnancement est possible, exploration de Mlwb à M, sinon de

Approche statiqueApproche statique

64

list scheduling qui utilise les priorités de l’EDF => si l’ordonnancement est possible, exploration de Mlwb à M, sinon de M à Mupb.

� Recherche du nombre de processeur Mmin qui satisfait les échéances => Mmin

� Ensuite pour Mmin, Mmin+1, …, recherche du nombre de processeur et d’une fréquence de travaille qui minimise l’énergie (ordonnancement List scheduling + ralentissement global pour tous les processeurs). On arrête la recherche dès que l’énergie ne décroit plus.

� Rmq : n’utilise pas les modes repos sur les processeurs actifs (temps de réveil trop long).

Page 17: Estimation et Optimisation de la consommation dans les ...perso-etis.ensea.fr/lorandel/ESA/Belleudy.pdf · Estimation et Optimisation de la consommation dans les SOCs : Processeur

� Approche statique :� Ajustement des vitesses, � Réduction du pic de puissance, � Ordonnancement statique,� Allocation, ordonnancement statique

Multiprocesseurs et basse consommation

65

� Allocation, ordonnancement statique

�� Approche dynamique :Approche dynamique :

� Ordonnancement dynamique� Allocation, ordonnancement dynamique locale� Allocation, ordonnancement dynamique (migration de

tâches)Extension des approches statique => dynamiqueDanger des changements de couple V,F fréquents

Allocation, ordonnancement, Température [Mer]

� Problème couplé de la température et de l’énergie (P est liée à T).� Système homogène, chaque Core a sa propre file des tâches

exécutables� Basé sur la présence d’un compteur d’activité HW (souvent présent

dans les processeurs actuels) => mesures de température (différence de courant)=> profile d’énergie pour les tâches

Approche dynamiqueApproche dynamique

66

=> profile d’énergie pour les tâches

� Equilibre des tâches hot et cool sur les processeurs� Si un processeur s’approche de sa température haute (pour éviter le

throttling) => migration de la tâche hot vers un processeurs cool (soit idle, soit en train d’exécuter une tâche cool, dans ce dernier cas, échange des tâches)

� Coût de la migration : P est directement proportionnel à la composition de la file des tâches exécutables

� Intégration dans Linux� Temps réel ?

Stratégie d’ordonnancement faible consommation

Limitation du DVFS + Evolution de la technologie :• Pstatique en augmentation,• Vdd plus bas.

Recherche hors ligne du couple ou par scenario:• points de fonctionnement (V,F) • nombre de processeurs qui minimise l’énergie.

67

• nombre de processeurs qui minimise l’énergie.

Stratégie d’ordonnancement faible consommation

Module MPSched (Minimun Processors for Schedulability) adjoint à l’ordonnanceur : décide si les tâches prêtes peuvent entrer dans la file d’attente d’exécution de l’ordonnanceur.

68

Principe du MPsched : - extraction des intervalles d’inactivité des processeurs, - groupement de ces intervalles sur une partie des processeurs :

=> augmenter la taille des intervalles d’inactivité, voir ne pas activer certains processeurs.

- module indépendant de la politique d’ordonnancement globale utilisée.

Page 18: Estimation et Optimisation de la consommation dans les ...perso-etis.ensea.fr/lorandel/ESA/Belleudy.pdf · Estimation et Optimisation de la consommation dans les SOCs : Processeur

Exemple à 6 six taches (EDF)

Couples (V,F)

Application à 6 tâches

69

EDF

EDF-ASDPM

Conclusion : ITRS 2015

année 03 04 05 06 07 08 09 12 15 18

SOC Dynamic power reduction

0 0.1 0.1 0.2 0.2 0.2 0.2 6 4.7 8.1

SOC Static power 0.37 1.4 2.4 3.4 5.1 6.4 8.7 18.8 44.4 232

70

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.