Green IT
Couche logicielle : élément clé du Green IT


                  Logo




              Fred Bordage
            info @         .




    2 – Impact de la couche logicielle




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

A6 green it.fr_couche_logicielle

  • 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 lecycle 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 dumaté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 effetsgraphiques • 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