55
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 TechDays http://notes.mstechdays.fr

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

Embed Size (px)

Citation preview

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 TechDays

http://notes.mstechdays.fr

Eco Conception logicielle :

Jean-Philippe Gouigoux [email protected]

Olivier Philippot [email protected]

Eric Mittelette [email protected]

Green IT

Green

• Définition et vision / Etat de l’art

• Des exemples concrets pour le Web

• Des exemples concrets pour .Net

Agenda

Présentation

Olivier PHILIPPOT [email protected] 06 63 09 06 90

Consultant éco-conception

Groupe d'utilisateurs qui souhaite rendre le développement logiciel plus durable et plus vertueux http://greencodelab.fr/

Jean-Philippe GOUIGOUX [email protected]

Responsable Architecture / Formation / Innovation

Eric MITTELETTE [email protected]

Relation Technique Développeur & IT

Analyse du cycle de vie du matériel

Source

Constat sur l’empreinte des technologies

Source ADEME

Limiter l’empreinte

environnementale et

sociale tout au long du

cycle de vie du logiciel

L’éco-conception des logiciels ?

Source KALITERRE

Un peu de lecture

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

Des travaux de R&D en cours

• Facebook– Hip Hop for PHP

– passage d'une technologie PHP vers C++ côté serveur

• Linked In– Changement d’architecture

– Réduction de 30 à 3 serveurs

Des retours d’expériences des « grands »

• Banque cantonale de Fribourg– Mise en place d’un référentiel WEB

• Audits de sites web– Nombreuses améliorations identifiées

Des retours d’expériences des « plus petits »

Des actions simples à la porté de tous les acteurs

Un ROI probant

A-t-on besoin de tout cela ?

Exemple d’un pattern sur le besoin

« 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

Comment mesure t’on l’impact du logiciel ?

Exemple d’un pattern qui peut rapporter

+1W !

RÉDUIRE L’IMPACT DU WEB

Impact des bonnes pratiques de développement

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

Compression avec Yahoo SmushIT

Minification du CSS

Version 1 et 2 : Comparaison

Même rendu

30% de gain sur l’énergie

15% de gain sur la mémoire

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émoire

Analyse d’une page lourde

1 000 000 pages par jours

Soit pour la partie client sur 1 an

200 MWhOu 30 teq CO²

154 000 kM voiture

Analyse d’une page lourde

• 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

Suppression des images

• Meilleur site mesuré : 5Wh pour 1000p

• Pire site mesuré : 250 Wh pour 1000p

• Une marge de manœuvre importante

• Un gain d’échelle énorme

Au final sur 60 sites mesuré par WEA

Sortie de Web Energy Archive imminente !

Pour vous tenir, informé allez sur

http://webenergyarchive.com/

Save the date !

SUIVI DE LA CONSOMMATION

Impact des bonnes pratiques de développement

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…

Avant profilage Après profilage

L’heure de vérité

Avant profilage Après profilage

Effet de temps

11 secondes 6 secondes

Avant profilage Après profilage

Effet de puissance

20 W 6 W

• 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

Un peu de calcul intégral

• 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

Un peu de calcul

• Durée de vie applicative de 5 ans

• ~3000 € gagnés

• Inutile s’il faut une semaine de formation

• Mais…

Et ça vaut le coup ?

Concaténation de chaînes Utilisation du StringBuilder

Différences de code – 1: gestion des chaînes

Appels multiples (chatty) Appels regroupés (chunky)

Différences de code – 2: services web / BD

Appels multiples (chatty)

Différences de code – 3: gestion des boucles

• Early break

Appels multiples (chatty)

Différences de code – 4: seulement si besoin

• Lazy execution

Appels multiples (chatty)

Différences de code – 5: exceptions

• Une exception porte bien son nom !

• Pareto sur les pratiques – 5 bonnes pratiques montrées

– 97% de l’amélioration constatée

• Suivi simplissime

• Performance² Consommation !

Au final

Moustique

• Pic de conso : 13.5 W

• Durée du scénario : 9 s

• Coût énergétique : 121 W.s

Gorille

• Pic de conso : 250 W

• Durée du scénario : 6 s

• Coût énergétique : 1500 W.s

Remarque sur l’efficience énergétique

Prendre du recul

• ACV globale

• Rapport entre construction fin

de vie et conso endurant sa vie

• 80%

• Facteur d’échelle des

datacenter ou des parcs

machines

Pourquoi le code

• Le code permet d’agir sur tout

la chaine

– Clim

– Conso

– Nb machine

– (PUE)

• Corrélation Perf et Green

Synthèse/ouverture

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

En conclusion, l’éco-conception