1. Green IT
Couche logicielle : élément clé du Green IT
Logo
Fred Bordage
info @ .
2 – Impact de la couche logicielle
1
2. Présentation
Fred Bordage
info @
• Expert Green IT – TICs durables
• Conseil et formation
• Collaborations nationales
– Afnor (comité d’Orientation Stratégique),
– Ademe (guide sectoriel TNIC)
– Cigref (groupe de travail Green IT),
– Syntec (groupe de travail Green IT),
– WWF (Guide).
• Livres, conférences, GreenIT.fr
Empreinte écologique des TIC
16.000:1 MIPS d’une puce électronique
– Mesure l’intensité en ressources d’un produit fini
– Essentiellement des ressources non renouvelables
– 100:1 pour un ordinateur
– 54:1 pour une voiture
2 % des émissions mondiales de GES
– Participe au dérèglement climatique
– Autant que l’aviation civile
– 7,5 % à 13,5 % kWh à l’échelle des TIC en France
75 milliards kg DEEE en 2014
– Risques sanitaires, écroulement de la biodiversité
– 1g mercure pollue 1m3 de terre pendant 50 ans
– 24 kg / français / an - 5 kg collectés
– EEE / DEEE entre 2006 et 2009 = 14%
2
3. Empreinte sur le cycle de vie
Emissions CO2 fabrication PC en Chine :
57 à 123x + que 1 an d’utilisation en France
MIPS
Toxicité
• Fabrication et fin de vie des composants électroniques
– PC, réseau, téléphonie : conso. énergie utilisation = non déterminante
– Impression : consommables
– Serveur : impact conso. énergie dépend du mix énergétique national
• Réduire les volumes fabriqués et en fin de vie
• donc… Allonger la durée de vie d’utilisation
Source : extrait d’ACV présenté sur EcoInfo
Durée d’utilisation
Durée de vie Durée de vie
électronique 10 à 15 ans électronique 5 à 12 ans
Durée de vie divisée par 4 en 25 ans
1985 2000 2005 2007 2011
Source :
10,7 ans 5,5 ans 3,6 ans 2,5 ans 4 ans
Facile à réparer, Difficile à réparer,
reconditionner, recycler reconditionner, recycler
3
4. Principaux facteurs d’obsolescence
• Différents type d’obsolescence
– Programmée (fin du support technique d’un logiciel)
– Indirecte (impact de la couche logicielle, etc.)
– par incompatibilité (la nouvelle version du logiciel utilise un nouveau format)
– perçue (un simple GSM moins « hype » qu’un iPhone)
– …
• Facteurs
1. Couche logicielle
2. Faible évolutivité du matériel
• Conception ne privilégiant pas la mise à jour du matériel
• Indisponibilité des composants
3. Durée de garantie et support technique du matériel
4. Coût du service informatique (entretien et réparation)
5. Qualité des composants : prix toujours plus bas = moindre qualité
Couche logicielle - renouvellement
Durée d’utilisation du
matériel est directement liée
71x + de mémoire vive
aux besoins en ressources de
en 12 ans la couche logicielle
Source :
Puissance matérielle
nécessaire x2 tous les 3 ans
4
5. Les progrès du matériel ne compensent pas
• Un microprocesseur
moderne consomme
40x moins d’énergie
qu’en 1946 pour une
même capacité de
traitement.
• Mais la capacité de
traitement
nécessaire (au
fonctionnement des
logiciels) augmente
continuellement…
Source : Intel
Couche logicielle - consommation
Consommation électrique
Source :
du matériel directement liée
62 % aux besoins en ressources
de la couche logicielle
Source : Gartner, 2007
• Conso. électrique d’un CPU divisée par 40 en 60 ans
– Les progrès du matériel (efficience énergétique) ne compensent pas l’augmentation de
la puissance
• +10% par an : consommation électrique des TIC
• x2 : consommation des data centers entre 2000 et 2005
5
6. Constats couche logicielle
• Les formats de données sont de plus en plus lourds
(multimédia, XML, etc.)
• Le développeur a horreur du vide
• Empilement de frameworks et autres composants pour gagner
en productivité
• Recherche d’une plus grande portabilité performance du
code compilé
Adapter les fonctionnalités au besoin
• Définir le besoin au plus proche de l’utilisateur
– Méthodologies Agiles : SCRUM, Lean, …
• S’assurer qu’il n’y a pas de déperdition d’énergie pour des
besoins inexistants
– 45% des fonctionnalités demandées ne sont jamais utilisées
– 10 à 50 % des applications sont redondantes
– 25 % des applications ne sont plus utilisées depuis 3 ans !
Source : Standish Group, 2006
6
7. Gouverner
• La technologie ne résout pas une mauvaise gestion du système
d’information
– 25% des applications ne sont plus utilisées
– 45% des fonctionnalités jamais utilisées
– 15% des serveurs sont allumés pour rien
– Combien de données stockées ne seront plus jamais accédées ?
• Efficience Vs Efficacité
• Virtualiser sans gouverner revient à mettre un pansement sur une
plaie infectée : ça ne résout pas le problème de fond.
• Effet cascade
– 1 kWh économisé au niveau informatique
– = 2,84 kWh économisés en entrée du DC
• Sauter des versions de logiciel ?
Adapter le SLA au besoin
• Définir précisément le niveau de service requis :
– Temps de réponse attendu ?
– Disponibilité ?
– Niveau de précision des résultats ?
• Exemple:
– Etude Microsoft Research
– Approximation des résultats recherche Bing
– 15% de gain énergétique en diminuant QoS 0,27%
• Exemple:
– Précision traitement et encodage son/vidéo
– 32 bits versus 64 bits
7
8. Privilégier l’exécution côté serveur
• Les traitements serveurs sont dans des conditions énergétiques
idéales:
– Machines mutualisées
– Puissance à disposition
– Performance énergétique optimisée
• Exemple: Green Challenge USI 2010
– Consommation énergétique divisée par 6 en « poussant » les traitements vers le serveur
Source : GreenIT.fr
Paralléliser l’exécution du code
• Optimiser l’utilisation des CPU/Core
– 2 cpu != 2 fois plus rapide
– Energy (n) core < Energy (n) cpu
– Energy (n) cpu <=(>) cpu pour une tache donnée
• Les outils sont prêts, pas les développeurs !
• Exemple :
Procs Watt (IDLE) Watt (PIC) Temps (ms) KwH CO2
Algo Sequ 1 382 394 17250 0,05750 4,09E-02
Algo Sequ Optim 1 382 394 15253 0,05083 3,62E-02
Algo Parallel 6 382 413 3800 0,03272 2,33E-02
Algo Parallel 12 382 423 2594 0,02961 2,11E-02
Algo Parallel 24 382 453 1650 0,03353 2,39E-02
8
9. Limiter les effets graphiques
• Limiter l’utilisation du Flash et Javascript au strict nécessaire
– Très consommateur de CPU
• Exemple: Flash
– Utilisation CPU avec/sans
accélération graphique
• Exemple: Green Challenge USI
Source : Hardware Insight
– Mesure consommation
navigateur avec / sans Javascript
Source : GreenIT.fr
Adapter l’interface aux options l’alimentation
• Prendre en compte la consommation pour limiter la richesse
graphique en mode « économie »
• Exemple: Windows 7 économie
– Désactivation automatique Aéro
– Optimiser lecture Vidéo
– …
• Exemple: Windows Phone 7
– Un écran OLED consomme 2x moins qu'un
écran LCD lorsqu'il affiche du noir mais
3x plus lorsqu'il affiche du blanc
9
10. Peaufiner les algorithmes
• IBM : 100x moins de ressources pour exécuter un même traitement
grâce à un algorithme optimisé
– http://www.greenit.fr/article/logiciels/green-patterns-ibm-demontre-un-effet-de-levier-de-100-
2557
• Le temps passé à optimiser un algo. c’est autant de :
– kWh en moins à payer,
– de puissance de calcul disponible dans le data center,
– d’années de gagnées avant de renouveler les postes de travail
(re)compiler
• Pourquoi ne pas compiler une bonne fois pour toute le code sur le
serveur ?
• Facebook
• compilation de code PHP en C
• divisé par 2 ses besoins en ressources matérielles (serveurs)
• et par 2 sa facture électrique
• http://www.greenit.fr/tag/facebook.
• Emergence de HTML5 et Javascript
• Allons nous dans la bonne direction ?
• Framework (productivité) et JIT Compilation
• Cas de Java et .NET
10
11. Retour d’expérience
• Facebook
Même expérience
utilisateur
Réduction de 50% de la
consommation des ressources
en compilant du code PHP
=
2x moins kWh / CO2
2x à 3x moins DEEE
2x à 3x moins $
Source : GreenIT.fr
Bas niveau
• Plus on utilise une fonction disponible en bas niveau
• et moins les ressources matérielles nécessaires sont importantes.
• C'est notamment le cas entre une fonction Javascript
• et son équivalent directement disponible dans l'API HTML 5.0.
• ASM
• Compilateurs et optimisation (C/C++)
• Productivité / debug
11