Passer au vert, rester au vert et s’améliorer chaque jour ! La préservation de l’énergie et l’efficacité énergétique sont désormais au cœur des préoccupations des DSI. Cette session est l’opportunité de mieux comprendre l’ensemble des dernières fonctionnalités disponibles au sein de Windows 7 et de Windows Server 2008 R2 et au sein des processeurs les plus récents pour mettre en place une politique d’entreprise préservant l’énergie de la manière la plus efficace possible.
2. Comment passer au vert
? Session : GRE203
Code
De la gestion de l’énergie au sein de
Windows
Bernard Ourghanlian
Directeur Technique et Sécurité
Microsoft France
3. Sommaire
Introduction
La situation telle qu’elle est (bien souvent…)
Ce qu’elle devrait être…
Les développement du hardware
L’exemple d’Intel
Les développement de logiciels
L’exemple de Microsoft
Les technologies de gestion de l’énergie de Windows
La gestion de l’énergie en entreprise
System Center Configuration Manager 2007 R3
5. La situation telle qu’elle est (bien
souvent…)
Pas ou peu de considération pour le gâchis d’énergie
• Les machines restent allumées 24h sur 24
• Les écrans sont laissés allumés
• Déploiement du logiciel, maintenance, etc.
• Piètre autonomie sur les terminaux mobiles / les PC portables
• Manque d’outils de gestion de l’énergie pour les entreprises
• Ignorance de la quantité d’énergie gâchée
• Le facteur « je m’en foustiste » car « ce n’est pas moi qui paye la
facture »
• Les impacts économiques ne sont jamais pris en compte (facture
énergétique)
• Manque de gouvernance, d’obligations
6. Pour se faire peur…
Savez-vous qu’il faut une moyenne de 438 Kg de charbon
pour alimenter un ordinateur par an ?
Faronics.com
7. Le bureau moyen…
“After lighting, computers and
monitors have the highest energy
consumption in office
environments. Studies have shown
that power management of
computers and monitors can
significantly reduce their energy
consumption, saving hundreds or
thousands of dollars a year on
electricity costs.”
www.ddsw.co.uk
8. Quelle est la solution ?
o Gestion manuelle de l’énergie, qui repose sur l’éducation
des utilisateurs afin qu’ils éteignent leur ordinateurs quand
ils n’en ont plus besoin : permet d’obtenir des résultats
impressionnants sous réserve d’une sensibilisation
permanente et de la mise en œuvre d’obligations
o Gestion automatique de l’énergie, qui repose sur le
logiciel ou sur les fonctionnalités standard d’économie
d’énergie. Théoriquement la gestion automatique de
l'énergie peut atteindre un objectif de 100 % de gestion de
l’énergie, tous les ordinateurs étant éteints quand ils n’en
ont pas besoin et en mode de consommation basse quand
10. Mode Turbo avant la
microarchitecture Intel® Core™
(Nehalem)
Horloge arrêtée
Réduction de l’énergie
dans les cœurs inactifs
Pas de Turbo
Fréquence (F)
Fréquence (F)
Travail peu chargé en thread
Cœur 0
Cœur 1
Cœur 0
Cœur 1
11. Mode Turbo avant la
microarchitecture Intel® Core™
(Nehalem)
Horloge arrêtée Mode Turbo
Réduction de l’énergie En réponse à la charge
dans les cœurs inactifs ajoute des incréments de
Pas de Turbo performance dans l’espace
libre
Frequency (F)
Fréquence (F)
Travail peu chargé en thread
Cœur 0
Cœur 1
Cœur 0
12. Microarchitecture Mode Turbo
Intel® Core™ (Nehalem)
Intel® Turbo Boost 2.0 permet automatiquement aux cœurs
de tourner plus rapidement que la fréquence opératoire de
base tout en respectant des limites des spécifications
(puissance, courant et température)
La technologie Intel Turbo Boost 2.0 est activée quand l’OS
demande l’état de plus haute performance du processeur (P0)
La fréquence maximale de la technologie Intel Turbo Boost
2.0 est dépendante du nombre de cœurs actifs
Le temps dans lequel le processeur passe dans ce mode
Turbo dépend de la charge et de l’environnement de travail
13. Microarchitecture Mode Turbo
Intel® Core™ (Nehalem)
Eléments fixant la limite haute de la technologie Intel Turbo Boost 2.0
pour une charge de travail donnée :
Nombre de cœurs actifs
Consommation de courant estimée
Consommation de puissance estimée
Température du processeur
Quand le processeur opère en deçà de ces limites et que la charge de
travail demande une performance additionnelle, le fréquence du
processeur augmentera dynamiquement jusqu’à ce que la limite haute de
la fréquence soit atteinte
La technologie Intel Turbo Boost 2.0 permet au processeur d’opérer à un
niveau de puissance qui est plus élevé que sa puissance limite
documentée (TDP – Thermal Design Power) pour des périodes courtes
afin de maximiser la performance
14. Qu’est-ce que le standard ACPI
? ACPI (Advanced Configuration and Power Interface)
Spécification d’interface standard
L’OS peut effectuer la gestion de l’énergie en utilisant cette API
Le hardware et des drivers logiciels supportent cette API
La mise en correspondance entre les mécanismes CPU et ACPI
est fournie par le BIOS et les drivers logiciels
Applications
Gestion de l’énergie par l’OS
ACPI
Drivers logiciels
Hardware : CPU, BIOS etc.
15. L’état global du système ACPI
Global system states (g-state)
G0 : Working
G1 : Sleeping (c.à.d.. suspendu, hiberné)
G2 : Soft off (c.à.d., éteint mais pouvant être
redémarré par des interruptions en provenance
des périphériques d’entrée)
G3 : Mechanical off
Le numéro le plus faible indique la puissance la plus élevée
16. Les états d’énergie ACPI
Global system states (g-state)
G0 : En fonctionnement
Etats d’énergie du processeur (C-state)
C0 : Exécution normale
C1 : Ralenti (idle)
C2 : Energie moindre mais plus de temps pour sortir de la latence que C1
C3 : Energie moindre mais plus de temps pour sortir de la latence que C2
C4E/C5: Réduit le voltage CPU encore plus et éteint le cache mémoire
C6: Réduction en profondeur de l’énergie. Réduit le voltage interne du CPU à toute valeur, y compris 0 V
G1 : En sommeil (c.à.d. suspendu, hiberné)
Sleep State (S-state)
S0: En fonctionnement
S1: Tous les caches du processeur sont vidés, et le(s) CPU(s) cesse(nt) d’exécuter des instructions.
L’alimentation des CPU(s) et de la RAM est maintenue
S2: Le CPU est éteint
S3: Suspendu
S4: Hiberné
G2 : Soft off (S5)
G3 : Mechanical off
17. Les états d’énergie ACPI
G0 : En fonctionnement
Etats d’énergie du processeur (C-state)
C0 : exécution normale
Performance state (P-State)
P0: Plus hautes performances, énergie la plus importante
P1: inférieur à P0, voltage/fréquence mises à l’échelle
Pn: inférieur à P(n-1), voltage/fréquence mises à l’échelle
C1, C2, C3, C45e/C5, C6
G1 : En sommeil (c.à.d. suspendu, hiberné)
Sleep State (S-state) : S0, S1, S2, S3, S4
G2 : Soft off (S5)
G3 : Mechanical off
18. Etat ralenti basse énergie
Ce sont les états ralentis C-State : C1, …
Le CPU n’exécute pas d’instruction
dans ces états C-states
Mécanismes de préservation
de l’énergie
Arrêt du signal d’horloge
Vidage et arrêt du cache
Arrêt des cœurs
19. C-State au sein du processeur Intel Core
i7
Etat C0 du cœur
L’état normal d’opération d’un cœur au sein duquel le code est exécuté.
Etat C1/C1E du cœur
Le cœur s’arrête ; il parcourt ses lignes de cache
Etat C3 du cœur
Le cœur vide le contenu son cache instructions L1,
le cache données L1 et le cache L2 dans le cache
partagé L3, tout en maintenant son état
architectural. Toutes les horloges du cœur sont
arrêtées à ce point. Plus d’opération de parcours
des lignes de cache
Etat C6 du cœur
Avant d’entrer en état C6, le cœur sauvegarde son état architectural au sein
d’une SRAM dédiée sur le chip. Une fois cette sauvegarde réalisée, le cœur
voit son voltage passer à 0 volt
20. Technologies Deep Power Down
(DPD)
La technologie de l’état C6 est appelée Deep Power Down
Sur un Mobile Core 2 Extreme X9100, en mode normal (C0),
son CPU consomme avec une horloge à pleine vitesse
un maximum de 59 A, qui tombe à 11 A quand le CPU
est en état C6, soit une réduction de consommation
de 81,35%
Sur un mobile Core 2 Duo T9400 ou T9600, qui ont une
consommation maximum de courant de 47 A, la consommation de
courant maximal tombe à 5,7 A quand le CPU est en mode C6, soit
une diminution de 87,87% de la consommation
www.hardwaresecrets.com
22. L’OS peut économiser de l’énergie
avec les processeurs modernes Intel /
AMDExemple: Politique énergétique de l’état du processeur
Réduire la fréquence si la performance le permet
Etat Freq % Type
0 2800 100 Performance Etat minimum du processeur
1 2520 90 Performance
2 2142 85 Performance
3 1607 75 Performance
4 964 60 Performance
5 482 50 Performance
http://www.amd.com
23. On peut « voir » les états avec
Perfmon
Etat maximum du
processeur
Etat minimum du processeur
Besoins en performance
25. Gestion de l’énergie de Windows
Focalisation sur l’efficacité énergétique avec Windows 7
Réduction de la consommation énergétique en mode idle
Brillance adaptative de
Détection à grain fin de Démarrage des l’affichage
l’inactivité
services sur Gestion de l’énergie HD
Réglage des politiques de déclencheur Audio
gestion de l’énergie du
processeur et mise à jour Support du Bluetooth
des politiques par défaut Ordonnanceur de Sniff Mode
tâches
Distribution intelligente Wired LAN D3 on
des Timer Ticks Disconnect (diminution de
Migration des l’énergie en déconnexion)
Core Parking tâches d’arrière
Notification asynchrone
Réducation Idle Activity
plan vers AHCI (Advanced Host
Reduction for Hyper-V l’ordonnanceur Controller Interface)
Plateforme de base Activité d’arrière-plan Périphériques
26. Comment Windows gère
l’énergie
Gestion du système Gestion des Maintenance du
périphériques système
Windows Service Control Windows Task La base de registre de
Manager (SCM) Scheduler Windows
27. La voie vers l’efficacité
Ralentir et rester au ralenti…
énergétique
Minimiser les services et les tâches en cours d’exécution
Eviter les traitements d’arrière plan
Laisser les processeurs logiques et les sockets rester inactif de telle façon qu’il
puissent passer en « sommeil profond » (C states)
Energie électrique vs. utilisation CPU
(Idle)
Energie totale du système
40.00
35.00
30.00
(Watts)
25.00
20.00
+10 % CPU = +1.25 W
15.00
10.00 +1,25 W = -8.3 %
5.00 batterie
-
0 50 100
Utilisation CPU (%)
28. Regroupement des timers
Rester inactif requiert de minimiser les interruptions de timers
Avant, les timers périodiques avaient des cycles indépendants même
quand la période était la même
De nouvelles API pour les timers permettent le regroupement de timers
Les applications ou les drivers spécifient le délai acceptable
Le système de gestion des timers décale le déclenchement des timers
pour aligner les périodes sur des fréquences naturelles
Timer tick
15,6 ms Vista
Evénements
de timer
périodiques
Windows 7
29. Distribution intelligente des Timer
Ticks l’interruption du primary timer sur le PL 0 propageait le
Avant,
timer à tous les autres processeurs logiques
Le timer du PL 0 met à jour le system tick count et l’horloge
L’interruption timer pour tous les PL met à jour les runtimes
processus et thread, contrôle le quantum end des threads
Même si le PL était inoccupé, il devait servir l’interruption
Maintenant, le système de timer ne propage les timers que
vers les processeurs qui ne sont pas inactifs
Aussi appelé tick skipping
Les interruptions non relatives aux timers continuent de
réveiller les PL
30. Autres améliorations sur le plan
de l’efficacité énergétique
Réduction des timers :
Elimination du timer TCP DPC qui était généré à chaque interruption du
system timer
Réduction de la fréquence des timers de maintenance des drivers USB
Gestion énergétique des périphériques :
Support des dernières spécifications basse consommation d’Intel pour HD
Audio
La radio Bluetooth entre en mode de suspension sélective quand les
connexions sont en sniff mode
Les NIC entrent automatiquement en mode D3 (basse consommation) quand
le médium est déconnecté
L’outil Powercfg est utilisé pour gérer les politiques de performance et
de consommation énergétique
Utilisation de l’option /energy pour identifier les problèmes d’efficacité
énergétique
31. Analyse : Longueur des intervalles
d’inactivité
Windows* Vista SP1A
Windows* 7 Build
Windows* 7 Build B
Plus on est à droite,
%idle time (moyenne par
mieux c’est
cœur)
32. Core Parking
Avant, la charge de travail CPU était distribuée équitablement
et uniformément sur les processeurs logiques
Même si le taux d’utilisation était faible
La fonctionnalité de Core Parking tente de maintenir la charge
sur le plus petit nombre possible de processeurs logiques
Permet aux autres de passer en sommeil
A conscience de la topologie des sockets
Les nouveaux processeurs placent les sockets en sommeil profond sir les
cœurs sont inactifs
La fonctionnalité de Core Parking est active sur les serveurs et
les machines SMT (systèmes supportant la notion
d’hyperthread)
Meilleurs retours pour les charges de travail médianes
Les clients tendent à fonctionner aux extrêmes (0 ou 100)
33. Conception de Core Parking
Le timer du Power Manager se déclenche périodiquement (30 – 50 ms)
Effectue la gestion des P-states (Power States) et des C-states (Core States)
pour chacun des processeurs
Calcule l’utilisation moyenne et implémente la politique de core parking
Détermine quel processeur logique (PL) « parquer » ou « déparquer » :
Déparque les cœurs si la moyenne pour les non parqués est > seuil
d’augmentation
Parque les cœurs si la moyenne pour les non parqués est < seuil de diminution
Les cœurs parqués au-dessus du seuil de parking sont également déparqués
Au moins un CPU dans chacun des nœuds NUMA est laissé non parqué
Le Power manager notifie le scheduler de la mise à jour d’une décision
de parking
Le scheduler évite les cœurs parqués
On passe outre si l’on utilise la hard affinity et le thread ideal processor si aucun autre
n’est disponible
Interruptions et DPC ne sont pas affectés
35. Le Task Scheduler Windows
Le Task Scheduler :
Maintient une base de
données des tâches
installées
Démarre et arrête les tâches
Gère les tâches en
exécution
Gère les informations d’état
relatives aux tâches
ubpm.dll = DLL Unified
Background Process
Manager
Les tâches peuvent être
dans les états :
Ready - Running – Queued
– Disabled
36. Unified Background
Process
L’infrastructure UBPM unifie les mécanismes pour le
Manager l’arrêt desService Control Manager afin d’éviter la
démarrage et (UBPM)
Implémenté au sein du
processus fondés sur des événements
création d’un autre processus
Tous les événements sont basés sur des événements ETW (Event
Tracing for Windows)
UBPM est le gestionnaire central pour l’enregistrement de clients et la
notification ETW
Clients UBPM :
Task scheduler : nouveaux processus Taskhost
Service Control Manager : services déclenchés
37. Le Service Control Manager
(SCM)
Déclencheur
connexion
périphérique
Service 1
Déclencheur Souscrit pour démarrer sur
adresse IP un déclencheur de
connexion de périphérique
Déclencheur
Service Control
domaine
Manager (SCM) Service 2
Souscrit pour
démarrer sur un
Déclencheur déclencheur
Group Policy (GP) « Domain join »
s’arrêter sur
« Domain disjoin » et
démarrer sur un
Déclencheur déclencheur GP
personnalisé
38. Services déclenchés
Avant, les services démarraient typiquement lors du démarrage du
système et s’exécutaient jusqu’au shutdown
Les Services peuvent maintenant spécifier des conditions de démarrage
et d’arrêt (déclencheurs - triggers):
Survenue et suppression d’une classe de périphérique
Bthserv : démarrage lors de la survenue d’une classe de périphérique bluetooth
Survenue et suppression d’une adresse IP
Lmhosts : démarrage lors de l’apparition de la première adresse IP et arrêt lors de la
suppression de la dernière adresse IP
Evénement port pare-feu
Browser Service : ouverture des ports Netbios NS (Name Service) et DGM
(datagrammes)
Rejoindre ou quitter un domaine
W32Time : démarrage quand on rejoint, arrêt quand on quitte
Evénement ETW custom
EFS: démarrage lors du premier accès à un fichier chiffré
Les déclencheurs sont stockés dans une clé de la base de registre
service
Utiliser « sc qtriggerinfo » pour visualiser les déclencheurs des services
39. Gérer ACPI avec Windows 7 / 2008
Déclencher la lancement de Services
R2 Les service s’enregistrent pour être démarrés
ou stoppés quand un événement déclencheur
survient, éliminant ainsi la nécessité que les
services démarrent quand le système démarre
Les services peuvent aussi choisir ou être en
attente active sur un événement
Un Service peut démarrer quand c’est
nécessaire au lieu de démarrer
automatiquement
Exemples d’événements déclencheurs :
Arrivée d’un périphérique d’une classe
d’interface spécifique ou disponibilité d’un
port spécifique de pare-feu
Un service peut aussi s’enregistrer pour un
événement déclencheur spécifique généré
par un fournisseur Event Tracing for
Windows (ETW)
40. Power saver (Max power saving) SET _Max_Power=A1841308-3541-4FAB-
Politiques énergétiques
BC81-F71556F20B4A
Balanced (Typical)
SET _Med_Power=381B4222-F694-41F0-
9685-FF5BB260DF2E
WindowsHigh performance (Min power saving)
Name SET _Min_Power=8C5E7FDA-E8BF-4A96-
GUID
9A85-A6E23A8C635C
Description
Default (Balanced)
AC DC
Determines the amount of inactivity time before the system
Unattended sleep 7bc4a2f9-d8fc-4469-
Examples
timeout b07b-33eb785aaca0
automatically sleeps if the computer resumed without a user 2 minutes 2 minutes
present
Powercfg -getactivescheme
Powercfg94d3a615-a899-4ac5-
System cooling -devicequery wake_armed if Active or Passive cooling should be favored for
Determines
Active Active
policy ae2b-e4d8f634367f
Powercfg -h on thermal zones
Reserve Powercfgf3c5027d-cd16-4930-
battery -Change -monitor-timeout-ac 20
Configures the percentage of battery capacity remaining
n/a 7%
Powercfgaa6b-90db844a8f00
level -Change -disk-timeout-ac displaying the reserve battery warning
before 30
Powercfg -deviceEnableWake "Microsoft USB power modes Explorer"
Configures AHCI link
IntelliMouse
AHCI link power 0b2d69d7-a2a1-449c- HIPM,
(HIPM, DIPM) and link power states HIPM, Partial
mode 9680-f91c70521c60 Slumber
(Partial, Slumber, Active)
SET _Max_Power=A1841308-3541-4FAB-BC81-F71556F20B4A
Powercfga4b195f5-8225-47d8-
Allow System -SETACTIVE %_Max_Power%
Enable applications to prevent the system from idling to
Enabled Enabled
Required Policy 8012-9d41369786e2 sleep
SET _Custom_Power=B1234567-SS64-SS64-SS64-F00000111AAA the system
Determines the amount of inactivity time before
Powercfg17aaa29b-8b43-4b94-
Dim Display After -DUPLICATESCHEME automatically reduces the brightness of the display on a
aafe-35f64daaf1ee
%_Max_Power% %_Custom_Power% 5 minutes 2 minutes
mobile PC
Powercfg -CHANGENAME %_Custom_Power% "Custom1"
Powercfg -SETACTIVE %_Custom_Power%
42. Diagnostics d’efficacité énergétique
Windows
Windows 7 fournit des diagnostics
qui permettent d’identifier les
problèmes au sein de l’entreprise
L’utilitaire PowerCfg.exe permet
de déterminer rapidement les
problèmes classiques qui peuvent
affecter l’efficacité énergétique
Il est aussi possible d’identifier les
applications et les fichiers ouverts
sur le réseau qui empêchent un
ordinateur d’entrer dans les états
de sommeil ou d’hibernation
PowerCFG instrumente l’event
tracing pour la gestion de
l’énergie et les services associés
43. La gestion de l’énergie en
entreprise SCCM 2007 R3
4
44. Gestion du cycle de vie de
l’énergie
Phase 1 – Comprendre l’état courant
• Collecter les données de base
• Evaluer l’état courant et déterminer les
possibilités
Phase 2 – Planifier la politique énergétique
• Analyser les modèles d’utilisation et les
paramétrages énergétiques existants
• Définir les plans énergétiques et les
paramétrages
Phase 3 – Appliquer les politiques
énergétiques
• Mettre en service les politiques énergétiques
• Récolter les données de mise en application
Phase 4 – Conformité et rapports
• Vérifier la conformité et prendre les éventuelles
actions de remédiation
• Rapporter les coûts et les économies en CO2
46. Rapports standards : Activité
de l’ordinateur
Ordinateur allumé Ecran allumé Utilisateur actif
Avant la mise en application Après la mise en application