Comment passer au vert ? De la gestion de l’énergie au sein de Windows
 

Like this? Share it with your network

Share

Comment passer au vert ? De la gestion de l’énergie au sein de Windows

on

  • 520 views

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 ...

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.

Statistics

Views

Total Views
520
Views on SlideShare
520
Embed Views
0

Actions

Likes
0
Downloads
3
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Comment passer au vert ? De la gestion de l’énergie au sein de Windows Presentation Transcript

  • 1. palais descongrèsParis7, 8 et 9février 2012
  • 2. Comment passer au vert? Session : GRE203CodeDe la gestion de l’énergie au sein deWindowsBernard OurghanlianDirecteur 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
  • 4. Introduction1
  • 5. La situation telle qu’elle est (biensouvent…) 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
  • 9. Exemple de développement duhardware : Intel2
  • 10. Mode Turbo avant lamicroarchitecture 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 lamicroarchitecture 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 TurboIntel® 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 TurboIntel® 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 Corei7 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 consommationwww.hardwaresecrets.com
  • 21. Les changements du BIOS
  • 22. L’OS peut économiser de l’énergieavec 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 avecPerfmon Etat maximum du processeur Etat minimum du processeur Besoins en performance
  • 24. Exemple de développement dulogiciel : Microsoft3
  • 25. Gestion de l’énergie de WindowsFocalisation sur l’efficacité énergétique avec Windows 7Ré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èrel’é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 naturellesTimer tick15,6 ms VistaEvénementsde timerpériodiques Windows 7
  • 29. Distribution intelligente des TimerTicks 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 plande 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’estcœ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
  • 34. Les opérations de Core Parking Coeur Coeur Core Coeur Core Coeur 0 1 0 0 1 1 Socket 0 Socket 1 Charge
  • 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 BackgroundProcess L’infrastructure UBPM unifie les mécanismes pour leManager 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 / 2008Déclencher la lancement de ServicesR2 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-FF5BB260DF2EWindowsHigh 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%
  • 41. Gérer les plans énergétiques avec les GroupPolicies
  • 42. Diagnostics d’efficacité énergétiqueWindows 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 enentreprise SCCM 2007 R34
  • 44. Gestion du cycle de vie del’énergiePhase 1 – Comprendre l’état courant• Collecter les données de base• Evaluer l’état courant et déterminer les possibilitésPhase 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étragesPhase 3 – Appliquer les politiquesénergétiques• Mettre en service les politiques énergétiques• Récolter les données de mise en applicationPhase 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
  • 45. Rapports standards Enforcement Enforcement
  • 46. Rapports standards : Activitéde l’ordinateur Ordinateur allumé Ecran allumé Utilisateur actif Avant la mise en application Après la mise en application
  • 47. Utilisation du tableau de bord ConfigMgr: Rapport de consommation
  • 48. MERCI !
  • 49. Microsoft France39, quai du président Roosevelt 92130 Issy-Les-Moulineaux www.microsoft.com/france