0% ont trouvé ce document utile (0 vote)
49 vues10 pages

Resumer ch3

Ce document traite des calculs énergétiques pour les applications informatiques, en abordant les concepts de consommation énergétique, les sources de consommation dans les systèmes informatiques, et les méthodes de mesure de l'empreinte énergétique des logiciels. Il présente également des métriques d'efficacité énergétique, des techniques d'optimisation, et des études de cas sur l'impact des optimisations sur la consommation d'énergie. Enfin, il souligne l'importance d'un cycle d'amélioration continue pour réduire l'empreinte carbone dans le domaine informatique.

Transféré par

oussama mouhouchi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
49 vues10 pages

Resumer ch3

Ce document traite des calculs énergétiques pour les applications informatiques, en abordant les concepts de consommation énergétique, les sources de consommation dans les systèmes informatiques, et les méthodes de mesure de l'empreinte énergétique des logiciels. Il présente également des métriques d'efficacité énergétique, des techniques d'optimisation, et des études de cas sur l'impact des optimisations sur la consommation d'énergie. Enfin, il souligne l'importance d'un cycle d'amélioration continue pour réduire l'empreinte carbone dans le domaine informatique.

Transféré par

oussama mouhouchi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Fiche de Révision

Chapitre 3 : Calculs Énergétiques pour les


Applications Informatiques

Module : Informatique Résponsable

Prof. ABOUABID Hamza

15 janvier 2025

1
1 Concepts de Base de la Consommation Énergétique
en Informatique
1.1 Fondamentaux Physiques
— Énergie (E) : Capacité d’un système à effectuer un travail. → Unité : Joules (J).
— Puissance (P) : Taux de consommation ou de production d’énergie. → Unité :
Watts (W = J/s).
— Efficacité Énergétique :

Énergie utile
Efficacité = × 100%
Énergie consommée
Indique la proportion de l’énergie réellement convertie en travail utile par rapport à
l’énergie totale consommée.

1.2 Application en Informatique


— Mesures Directes : Utilisation de wattmètres, compteurs d’énergie physiques ou
moniteurs systèmes.
— Mesures Logicielles : Outils comme RAPL (Intel), PowerTOP, CodeCarbon,
PowerAPI, etc., qui estiment la consommation en se basant sur des modèles internes.

1.3 Unités et Conversions


— kWh (kilowattheure) : Unité courante pour la facturation d’électricité. → 1 kW h =
3,6 × 106 J.
— kW (kilowatt) : → 1 kW = 1 000 W .
— Exemple de Conversion : Convertir la puissance d’un serveur (400 W) en kWh
sur une journée (24 h) :

E = P × t = 400 W × 24 h = 9,6 kW h

2 Sources de Consommation Énergétique dans les


Systèmes Informatiques
2.1 CPU (Unité Centrale de Traitement)
— Modèle de Consommation :

P =C ×V2×f

où C est la capacitance, V la tension et f la fréquence.


— Impact des Variables :
— Tension (V ) : Impact quadratique. Réduire V de 20% → consommation réduite
d’environ 36%.
— Fréquence (f ) : Impact linéaire. Réduire f de 50% → consommation réduite
de 50%, mais baisse des performances.

2
— C-states (États de Puissance) :
— C0 : Actif (100% puissance).
— C1 à C6 : États de veille progressivement plus économes, allant jusqu’à C6
(Deep Power Down) avec 0,1% de puissance.

2.2 GPU (Unité de Traitement Graphique)


— Architecture : Nombre élevé de cœurs pour le traitement parallèle. Mémoire
partagée, caches L1/L2, unités de texture.
— Consommation Typique :
— Idle : 5-15 W.
— Gaming : 150-300 W.
— Machine Learning : 250-350 W.
— Mining : 200-400 W.
— Optimisations :
— DVFS (Dynamic Voltage/Frequency Scaling) : Ajustement dynamique
de la tension et de la fréquence.
— Power Gating : Désactivation des parties inutilisées du GPU.
— Compression de la Mémoire : Réduction de la bande passante nécessaire.

2.3 Mémoire (RAM, Cache, etc.)


— Consommation Dynamique :
— Lectures : 0,8-1,2 W/GB.
— Écritures : 1,0-1,5 W/GB.
— Rafraîchissement : 0,3-0,5 W/GB.
— Consommation Statique :
— DRAM : 0,1-0,3 W/GB.
— SRAM : 0,2-0,4 W/GB.
— Cache L3 : 0,5-0,8 W/MB.
— Optimisations :
— Favoriser la localité des données (spatiale et temporelle).
— Réduire la taille des structures de données.
— Optimiser la gestion du cache et l’allocation dynamique.

2.4 Stockage (SSD vs HDD)


— SSD (Solid State Drive) :
— Consommation :
— Idle : 0,05-0,1 W.
— Lecture : 1,7-2,5 W.
— Écriture : 2,3-3,0 W.
— Latence : 0,1 ms.

3
— HDD (Hard Disk Drive) :
— Consommation :
— Idle : 0,8-1,3 W.
— Lecture : 4,0-5,5 W.
— Écriture : 4,5-6,0 W.
— Latence : 5-10 ms.
— Impact sur le Choix du Stockage :
— SSD : Applications critiques, accès rapides.
— HDD : Archives, backups, grandes capacités à moindre coût.
— Hybride : Combinaison des deux pour tiering automatique des données.

2.5 Réseau
— Ethernet :
— 100 Mbps : 0,1-0,2 W.
— 1 Gbps : 0,3-0,5 W.
— 10 Gbps : 2,5-4,0 W.
— Wi-Fi :
— Idle : 0,05-0,1 W.
— Transmission/Réception : 0,6-1,2 W.
— Facteurs Influents : Distance, interférences.
— Optimisations :
— Compression des données.
— Mise en cache.
— Batching des requêtes.
— Protocoles efficaces (HTTP/2, QUIC).

3 Méthodes de Mesure de l’Empreinte Énergétique


des Logiciels
3.1 Outils de Mesure
— PowerAPI :
— Profilage en temps réel via API.
— Mesure par processus avec précision ±5%.
— GreenAlgorithms :
— Basé sur CPU et temps.
— Analyse rapide avec impact géographique.
— CodeCarbon :
— Intégration CI/CD.
— Rapports automatiques sur le suivi des émissions de CO2 .
— SPECpower :
— Benchmark standardisé pour serveurs.
— Mesures certifiées et comparaisons fiables.

4
3.2 Méthodologie de Benchmark
— Conception d’Expériences :
— Isolation des processus.
— Charge constante et contrôlée.
— Durée suffisante des tests.
— Environnement stable (température, alimentation).
— Analyse Statistique :
— Tests d’hypothèses.
— Intervalles de confiance.
— Répétabilité et validation croisée.
— Bonnes Pratiques :
— Documentation détaillée.
— Reproductibilité des tests.
— Gestion des métadonnées.
— Contrôle des versions des outils et des scripts.

3.3 Exercices et Cas Pratiques


— Analyse d’Algorithmes de Tri : Comparaison de QuickSort vs InsertionSort
en termes de consommation énergétique et de performance.
— Étude de Cas : Application Web : Mesure de la consommation d’une application
[Link] avec 1000 requêtes/minute, 3 serveurs de production et une base MongoDB.
— Optimisations possibles : caching, load balancing, indexation de la base de
données, optimisation du code.

4 Métriques d’Efficacité Énergétique


4.1 FLOPS/Watt
— Définition : Floating Point Operations Per Second par Watt.
— Utilisation : Mesure l’efficacité des calculs, particulièrement en calcul scientifique,
IA et rendu 3D.
— Performances Typiques :
— CPU : 1-10 GFLOPS/W.
— GPU : 10-50 GFLOPS/W.
— TPU : 30-180 GFLOPS/W.

4.2 PUE (Power Usage Effectiveness)

Ptotal
PUE =
PIT
— Définition : Ratio de l’énergie totale consommée par le data center sur l’énergie
consommée par les équipements IT.

5
— Interprétation :
— Excellent : 1,1-1,2.
— Moyen : 1,5-1,7.
— Mauvais : >2,0.

4.3 CUE (Carbon Usage Effectiveness)

kg CO2
CUE =
kWh IT
— Définition : Mesure les émissions de CO2 par kWh consommé par les équipements
IT.
— Facteurs Influents : Mix énergétique local (énergies renouvelables vs charbon).
— Exemples :
— France : 0,1 kg CO2 /kWh.
— Pologne : 0,8 kg CO2 /kWh.

5 Calcul de l’Empreinte Carbone


5.1 Formule Générale

CO2 = kWh consommés × Facteur d’émission

5.2 Facteurs d’Émission


— Varient selon le pays et la source d’énergie (ex. renouvelables, nucléaire, charbon).

5.3 Exemples Pratiques


— 10 kWh en France (0,1 kg CO2 /kWh) :

10 × 0, 1 = 1 kg CO2

— 10 kWh en Pologne (0,8 kg CO2 /kWh) :

10 × 0, 8 = 8 kg CO2

6 Optimisations Énergétiques et Exemples d’Appli-


cation
6.1 Optimisation Algorithmique
— Complexité Algorithmique : Algorithmes plus efficaces (moins d’opérations)
réduisent le temps d’exécution et la consommation énergétique.
— Gestion Mémoire : Limiter les accès inutiles et structurer les données pour
maximiser l’utilisation du cache.

6
— Parallélisme Efficace : Utilisation de pools de threads et équilibrage de charge
(work stealing).
— Exemple : QuickSort vs InsertionSort
— QuickSort : O(n log n) → Plus performant et économe.
— InsertionSort : O(n2 ) → Moins performant, plus énergivore.

6.2 Optimisation des Data Centers


— Virtualisation : Consolidation des machines virtuelles pour optimiser l’utilisation
des ressources et migration à chaud pour maintenir une efficacité énergétique optimale.
— Cloud Vert : Utilisation de ressources réparties géographiquement pour minimiser
la consommation énergétique. Prédiction et gestion dynamique des charges de travail
pour optimiser l’efficacité.
— Refroidissement : Systèmes de refroidissement efficaces (souvent assistés par IA)
et optimisation de l’agencement physique pour améliorer le PUE.

6.3 Optimisation Web


— Compression et Mise en Cache : Utilisation de formats de compression modernes
(Brotli vs Gzip) et mise en cache efficace via headers HTTP et Service Workers.
— Réduction du Poids des Pages : Optimisation des images (formats modernes,
compression), minification des fichiers JavaScript et CSS, code splitting et lazy
loading pour charger uniquement ce qui est nécessaire.
— Utilisation des CDN : Répartition géographique du contenu pour réduire la
latence et la consommation réseau. Stratégies de caching avancées pour minimiser
les requêtes répétées.

6.4 Concepts avancés


— "Energy-aware software design" :
— Principes et méthodologies : Concevoir des logiciels en intégrant la consom-
mation énergétique dès la phase de développement. Cela inclut l’optimisation
des algorithmes, la gestion efficace des ressources et l’adaptation dynamique en
fonction des conditions d’exécution pour minimiser l’empreinte énergétique.
— Approches bio-inspirées pour l’efficacité énergétique en informatique :
— Inspiration de la nature pour optimiser la consommation : Utiliser des
modèles inspirés par des processus naturels, tels que les algorithmes génétiques
ou les colonies de fourmis, pour résoudre des problèmes complexes d’optimisation
énergétique. Ces approches permettent d’améliorer la gestion des ressources et
de réduire la consommation énergétique des systèmes informatiques.
— IA pour l’optimisation énergétique des systèmes informatiques :
— Utilisation de l’intelligence artificielle pour gérer et optimiser la
consommation énergétique : Déployer des techniques d’apprentissage auto-
matique et de réseaux neuronaux pour prédire les besoins en énergie, ajuster
dynamiquement les paramètres système et optimiser la répartition des tâches.
L’IA permet une gestion proactive et adaptative de la consommation énergétique,
contribuant ainsi à une efficacité accrue.

7
7 Techniques de Programmation Éco-responsables
7.1 Gestion Mémoire
— Pool d’Objets : Réutilisation des objets pour éviter la surcharge de création/des-
truction.
— GC Optimisé : Choix d’algorithmes de garbage collection efficaces (G1GC, ZGC).
— Recyclage : Réutilisation des ressources mémoire de manière efficace.

7.2 E/S Efficaces


— Buffering Intelligent : Accumulation des données avant transmission pour réduire
le nombre de requêtes.
— Compression à la Volée : Réduction du volume des données transmises.
— Batch Processing : Traitement des tâches par lots pour optimiser les ressources.

7.3 Parallélisme Optimal


— Thread Pooling : Réutilisation des threads existants pour éviter les coûts de
création/destruction.
— Work Stealing : Répartition dynamique des tâches pour équilibrer la charge.
— Load Balancing : Distribution équitable des tâches entre les ressources disponibles.

7.4 Exemples Pratiques


— Optimisation de Traitement d’Images en Python :
from [Link] import ThreadPoolExecutor

# Version séquentielle
for img in images:
process(img)

# Version parallèle
with ThreadPoolExecutor(max_workers=4) as executor:
[Link](process, images)

Réduction potentielle de 40-60% en énergie grâce à une meilleure utilisation des


ressources.

7.5 Optimisation au Niveau Système


7.5.1 Architecture Verte
— Virtualisation : Consolidation des serveurs pour optimiser l’utilisation des ressources
et migration à chaud pour équilibrer la charge et réduire la consommation.
— Cloud Computing Vert : Utilisation de ressources réparties géographiquement
pour minimiser la consommation énergétique. Prédiction et gestion dynamique des
charges de travail pour optimiser l’efficacité.

8
— Edge Computing : Traitement des données au plus proche de l’utilisateur pour
réduire la latence et la consommation réseau via le caching intelligent.

7.5.2 Techniques de Refroidissement


— Systèmes de Refroidissement Assistés par IA : Optimisation des températures
pour réduire la consommation énergétique.
— Agencement Physique Optimisé : Placement stratégique des équipements pour
maximiser l’efficacité du refroidissement.

7.6 Études de Cas et Success Stories


7.6.1 Google Data Centers
— Réalisations :
— PUE atteint : 1,2.
— Utilisation de l’IA pour optimiser le refroidissement.
— Économies d’énergie de 40%.

7.6.2 Applications Mobiles


— Optimisations :
— Background Optimization : Réduction des tâches en arrière-plan pour
économiser la batterie.
— Smart Sync : Synchronisation intelligente des données.
— Résultats : Augmentation de l’autonomie des appareils de +30%.

7.6.3 Impact Global


— Réduction des Émissions de CO2 : Jusqu’à 1million de tonnes/an grâce aux
optimisations.
— Économies Financières : Environ 100 millions d’euros/an.
— Innovation Continue : Adoption de nouvelles technologies et pratiques pour
améliorer l’efficacité énergétique.

Phrase Finale
“Mesurer → Analyser → Optimiser → Valider” Ce cycle est indispen-
sable pour améliorer l’efficacité énergétique et réduire l’empreinte carbone de
l’informatique de manière durable et responsable.

8 Résumé des Points Clés


— Sources de Consommation : CPU, GPU, mémoire, stockage, réseau.
— Métriques Importantes : FLOPS/Watt, PUE, CUE.
— Outils de Mesure : PowerAPI, CodeCarbon, SPECpower, PowerTOP.
— Optimisations :

9
— Algorithmiques : Réduire la complexité, améliorer la gestion mémoire, paral-
léliser efficacement.
— Data Centers : Virtualisation, cloud vert, refroidissement optimisé.
— Web : Compression, mise en cache, optimisation des ressources front-end et
back-end.
— Calcul de l’Empreinte Carbone : Basé sur la consommation énergétique et le
facteur d’émission local.
— Études de Cas : Google Data Centers, applications mobiles optimisées.
— Techniques de Programmation : Gestion mémoire, E/S efficaces, parallélisme
optimal.
— Impact Global : Réduction des coûts énergétiques et de l’empreinte carbone,
amélioration de la performance et de la durabilité.

10

Vous aimerez peut-être aussi