Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
Donnez votre avis !                   Depuis votre smartphone, sur :                    http://notes.mstechdays.fr    De n...
Eco Conception logicielle :           Jean-Philippe Gouigoux jp.gouigoux@free.fr                Olivier Philippot ophilipp...
Agenda        • Définition et vision / Etat de l’art        • Des exemples concrets pour le Web        • Des exemples conc...
Présentation               Groupe dutilisateurs qui souhaite rendre le développement logiciel plus               durable e...
L’innocent Chat potté     – 70 Millions d’heure de calcul, 25 TJoules     – http://dwave.wordpress.com/2011/11/20/fun-with...
Analyse du cycle de vie du matérielSource
Constat sur l’empreinte des technologies                                      Source ADEME
L’éco-conception des logiciels ?Limiter l’empreinteenvironnementale etsociale tout au long ducycle de vie du logiciel     ...
Un peu de lecture
Des travaux de R&D en cours• Projet Code Vert  – Mise en place d’un référentiel JAVA et WEB  – Outil de détection de « dir...
Des retours d’expériences des « grands »• Facebook   – Hip Hop for PHP   – passage dune technologie PHP vers C++ côté serv...
Des retours d’expériences des « plus petits »• Banque cantonale de Fribourg   – Mise en place d’un référentiel WEB• Audits...
Exemple d’un pattern sur le besoin         A-t-on besoin de tout cela ?
Comment mesure t’on l’impact du logiciel ?« Ce qui ne peut pas être mesuré ne peut pas être géré».Peter Drucker• Mesure ph...
Exemple d’un pattern qui peut rapporter                                     +1W !
Impact des bonnes pratiques de développementRÉDUIRE L’IMPACT DU WEB
Méthodologie de mesure    Informations    plateforme     Modélisation     énergétique
Démo – 1: Power API                Sera réalisé                  en live
Démo – 1: WEB Energy Archive                Sera réalisé                  en live
Version 1 : Images un peu lourde
Version 2 : Images et CSS optimisées                       Réduction de la taille des images                       Compres...
Version 1 et 2 : Comparaison            Même rendu            30% de gain sur l’énergie            15% de gain sur la mémo...
Version 3 : Page statique                        Passade de Drupal à une page                        statique
Version 1 et 3 : Comparaison            Même rendu            45% de gain sur l’énergie            44% de gain sur la mémo...
Analyse d’une page lourde
Analyse d’une page lourde                      1 000 000 pages par jours                      Soit pour la partie client s...
Suppression des images                     • Suppression des images                     • Suppression des publicités      ...
Au final sur 60 sites mesuré par WEA• Meilleur site mesuré : 5Wh pour 1000p• Pire site mesuré : 250 Wh pour 1000p• Une mar...
Save the date !Sortie de Web Energy Archive imminente !Pour vous tenir, informé allez surhttp://webenergyarchive.com/
Impact des bonnes pratiques de développementSUIVI DE LA CONSOMMATION
Démo – 0: Le matériel… simplissime                 Sera réalisé                   en live
Démo – 1: Plugwize et l’enregistreur shell                   Sera réalisé                     en live
Démo – 2: Wizard KST                Sera réalisé                  en live
Démo – 3: Attendre le point idle                  Sera réalisé                    en live
Démo – 4: Application PROFI - Personnes                 Sera réalisé                   en live
Démo – 5: Application PROFI - Contrats                 Sera réalisé                   en live
Démo – 6: Résultats dans KST                 Sera réalisé                   en live
Démo – 7: Rejeu de test du pauvre                 Sera réalisé                   en live
Portabilité… et efficience énergétique !
On passe à l’arme lourde…
L’heure de véritéAvant profilage     Après profilage
Effet de tempsAvant profilage                 Après profilage                  11 secondes                     6 secondes
Effet de puissanceAvant profilage      Après profilage         20 W                  6W
Un peu de calcul intégral• 45% gain de temps• 70% gain de puissance• En tout, 83% gain de consommation  – (1 – 0.45) x (1 ...
Un peu de calcul• Economie de 0.051 Wh  – 14 W sur 6 secondes  – 20 W sur les 5 secondes non utilisées• Electricité à 0.12...
Et ça vaut le coup ?•   Durée de vie applicative de 5 ans•   ~3000 € gagnés•   Inutile s’il faut une semaine de formation•...
Différences de code – 1: gestion des chaînesConcaténation de chaînes   Utilisation du StringBuilder
Différences de code – 2: services web / BDAppels multiples (chatty)   Appels regroupés (chunky)
Différences de code – 3: gestion des boucles      • Early breakAppels multiples (chatty)
Différences de code – 4: seulement si besoin      • Lazy executionAppels multiples (chatty)
Différences de code – 5: exceptions      • Une exception porte bien son nom !Appels multiples (chatty)
Au final• Pareto sur les pratiques  – 5 bonnes pratiques montrées  – 97% de l’amélioration constatée• Suivi simplissime• P...
Remarque sur l’efficience énergétiqueMoustique                      Gorille• Pic de conso : 13.5 W        • Pic de conso :...
Synthèse/ouverturePrendre du recul                    Pourquoi le code• ACV globale                       • Le code permet...
En conclusion, l’éco-conception  Est simple  Apporte des gains   immédiats sur l’énergie  et l’obésiciel  Permet d’agir su...
Prochain SlideShare
Chargement dans…5
×

Eco Conception logicielle : Comment réduire par deux la consommation d’énergie d’une application ou d’un site web

916 vues

Publié le

Sites web qui n’en finissent plus de se charger, obligation de renouveler des ordinateurs parfaitement fonctionnels, problèmes de réactivité et de performance des applications métier, autonomie décroissante des tablettes... : l’obésité des logiciels et des données handicape les entreprises tout en augmentant inexorablement le coût de fonctionnement de leur système d’information. Un gâchis qui se chiffre à plusieurs milliards de dollars chaque année ! Cette situation n’est, heureusement, pas une fatalité. L'éco-conception des logiciels a pour but de résoudre ces problèmes de performance tout en réduisant l’empreinte écologique des systèmes d’information. Cette session sera l'occasion de vous montrer comment réduire par 2 la consommation d'un site web ou d'une application. Chaque bonne pratique sera démontrée et mesurée en temps réel lors de la session. En bonus : Nous benchemarkerons la consommation d'énergie de vos sites web en live ! Qui sera le plus éco-conçu ?

  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Eco Conception logicielle : Comment réduire par deux la consommation d’énergie d’une application ou d’un site web

  1. 1. Donnez votre avis ! Depuis votre smartphone, sur : http://notes.mstechdays.fr De nombreux lots à gagner toutes les heures !!! Claviers, souris et jeux Microsoft… Merci de nous aider à améliorer les TechDayshttp://notes.mstechdays.fr
  2. 2. Eco Conception logicielle : Jean-Philippe Gouigoux jp.gouigoux@free.fr Olivier Philippot ophilippot@kaliterre.fr Eric Mittelette ericmitt@microsoft.comGreen IT
  3. 3. Agenda • Définition et vision / Etat de l’art • Des exemples concrets pour le Web • Des exemples concrets pour .NetGreen
  4. 4. Présentation Groupe dutilisateurs qui souhaite rendre le développement logiciel plus durable et plus vertueux http://greencodelab.fr/ Jean-Philippe GOUIGOUX jp.gouigoux@free.fr Responsable Architecture / Formation / Innovation Olivier PHILIPPOT ophilippot@kaliterre.fr 06 63 09 06 90 Consultant éco-conception Eric MITTELETTE ericmitt@microsoft.com Relation Technique Développeur & IT
  5. 5. L’innocent Chat potté – 70 Millions d’heure de calcul, 25 TJoules – http://dwave.wordpress.com/2011/11/20/fun-with-puss-n-boots/If you could eat 500 bananas per day, 23 minutesit would take you 327 years
  6. 6. Analyse du cycle de vie du matérielSource
  7. 7. Constat sur l’empreinte des technologies Source ADEME
  8. 8. L’éco-conception des logiciels ?Limiter l’empreinteenvironnementale etsociale tout au long ducycle de vie du logiciel Source KALITERRE
  9. 9. Un peu de lecture
  10. 10. Des travaux de R&D en cours• Projet Code Vert – Mise en place d’un référentiel JAVA et WEB – Outil de détection de « dirty » pattern• Reflexion de normalisation – AFNOR / ISO• Green Software Engineering – Mesure du web• Travaux des ‘major’ – Microsoft Google FaceBook..
  11. 11. Des retours d’expériences des « grands »• Facebook – Hip Hop for PHP – passage dune technologie PHP vers C++ côté serveur• Linked In – Changement d’architecture – Réduction de 30 à 3 serveurs
  12. 12. Des retours d’expériences des « plus petits »• Banque cantonale de Fribourg – Mise en place d’un référentiel WEB• Audits de sites web – Nombreuses améliorations identifiées Des actions simples à la porté de tous les acteurs Un ROI probant
  13. 13. Exemple d’un pattern sur le besoin A-t-on besoin de tout cela ?
  14. 14. Comment mesure t’on l’impact du logiciel ?« Ce qui ne peut pas être mesuré ne peut pas être géré».Peter Drucker• Mesure physique – Wattmètre nécessaire mais pas suffisant – Green Plugwise• Mesure logicielle – Intel Energy Checker – INRIA Power API
  15. 15. Exemple d’un pattern qui peut rapporter +1W !
  16. 16. Impact des bonnes pratiques de développementRÉDUIRE L’IMPACT DU WEB
  17. 17. Méthodologie de mesure Informations plateforme Modélisation énergétique
  18. 18. Démo – 1: Power API Sera réalisé en live
  19. 19. Démo – 1: WEB Energy Archive Sera réalisé en live
  20. 20. Version 1 : Images un peu lourde
  21. 21. Version 2 : Images et CSS optimisées Réduction de la taille des images Compression avec Yahoo SmushIT Minification du CSS
  22. 22. Version 1 et 2 : Comparaison Même rendu 30% de gain sur l’énergie 15% de gain sur la mémoire
  23. 23. Version 3 : Page statique Passade de Drupal à une page statique
  24. 24. Version 1 et 3 : Comparaison Même rendu 45% de gain sur l’énergie 44% de gain sur la mémoire
  25. 25. Analyse d’une page lourde
  26. 26. Analyse d’une page lourde 1 000 000 pages par jours Soit pour la partie client sur 1 an 200 MWh Ou 30 teq CO² 154 000 kM voiture
  27. 27. Suppression des images • Suppression des images • Suppression des publicités • Avec (sur Chrome et Firefox) – 56 Wh pour 1000 pages vues • Sans – 30 Wh pour 1000 pages vues
  28. 28. Au final sur 60 sites mesuré par WEA• Meilleur site mesuré : 5Wh pour 1000p• Pire site mesuré : 250 Wh pour 1000p• Une marge de manœuvre importante• Un gain d’échelle énorme
  29. 29. Save the date !Sortie de Web Energy Archive imminente !Pour vous tenir, informé allez surhttp://webenergyarchive.com/
  30. 30. Impact des bonnes pratiques de développementSUIVI DE LA CONSOMMATION
  31. 31. Démo – 0: Le matériel… simplissime Sera réalisé en live
  32. 32. Démo – 1: Plugwize et l’enregistreur shell Sera réalisé en live
  33. 33. Démo – 2: Wizard KST Sera réalisé en live
  34. 34. Démo – 3: Attendre le point idle Sera réalisé en live
  35. 35. Démo – 4: Application PROFI - Personnes Sera réalisé en live
  36. 36. Démo – 5: Application PROFI - Contrats Sera réalisé en live
  37. 37. Démo – 6: Résultats dans KST Sera réalisé en live
  38. 38. Démo – 7: Rejeu de test du pauvre Sera réalisé en live
  39. 39. Portabilité… et efficience énergétique !
  40. 40. On passe à l’arme lourde…
  41. 41. L’heure de véritéAvant profilage Après profilage
  42. 42. Effet de tempsAvant profilage Après profilage 11 secondes 6 secondes
  43. 43. Effet de puissanceAvant profilage Après profilage 20 W 6W
  44. 44. Un peu de calcul intégral• 45% gain de temps• 70% gain de puissance• En tout, 83% gain de consommation – (1 – 0.45) x (1 – 0.70) = 0.165• Calcul automatique
  45. 45. Un peu de calcul• Economie de 0.051 Wh – 14 W sur 6 secondes – 20 W sur les 5 secondes non utilisées• Electricité à 0.1211 € le KWh• Scénario répété – 100 fois par jour – 200 jours ouvrés – par ~100 gestionnaires – par ~50 clients• 5100 KWh/an, soit 618 €/an
  46. 46. Et ça vaut le coup ?• Durée de vie applicative de 5 ans• ~3000 € gagnés• Inutile s’il faut une semaine de formation• Mais…
  47. 47. Différences de code – 1: gestion des chaînesConcaténation de chaînes Utilisation du StringBuilder
  48. 48. Différences de code – 2: services web / BDAppels multiples (chatty) Appels regroupés (chunky)
  49. 49. Différences de code – 3: gestion des boucles • Early breakAppels multiples (chatty)
  50. 50. Différences de code – 4: seulement si besoin • Lazy executionAppels multiples (chatty)
  51. 51. Différences de code – 5: exceptions • Une exception porte bien son nom !Appels multiples (chatty)
  52. 52. Au final• Pareto sur les pratiques – 5 bonnes pratiques montrées – 97% de l’amélioration constatée• Suivi simplissime• Performance²  Consommation !
  53. 53. Remarque sur l’efficience énergétiqueMoustique Gorille• Pic de conso : 13.5 W • Pic de conso : 250 W• Durée du scénario : 9 s • Durée du scénario : 6 s• Coût énergétique : 121 W.s • Coût énergétique : 1500 W.s
  54. 54. Synthèse/ouverturePrendre du recul Pourquoi le code• ACV globale • Le code permet d’agir sur tout• Rapport entre construction fin la chaine de vie et conso endurant sa vie – Clim• 80% – Conso• Facteur d’échelle des – Nb machine datacenter ou des parcs – (PUE) machines • Corrélation Perf et Green
  55. 55. En conclusion, l’éco-conception Est simple Apporte des gains immédiats sur l’énergie et l’obésiciel Permet d’agir sur toute la chaine (Clim, serveur…) Est applicable pour tout type de logiciel ou site web

×