L’empreinte écologique des équipements informatiques se concentre lors de leur fabrication et leur fin de vie. La fabrication d’un ordinateur émet par exemple 70 à 100 fois plus de CO2 qu’un an d’utilisation en France (source : GreenIT.fr, 2011). Le geste essentiel du Green IT consiste donc à allonger la durée d’utilisation des équipements.
Au-delà d’une durée de garantie trop courte, la couche logicielle est le principal facteur d’obsolescence des équipements informatiques. En effet, la puissance nécessaire pour exécuter un logiciel double d’une version sur l’autre. Si bien qu’en 25 ans, la durée moyenne d’utilisation d’un ordinateur a été divisée par 3, passant de 10 à 3 ans (source : GreenIT.fr, 2011).
Réduire les besoins en ressources matérielles (cycles CPU, mémoire vive, etc.) des logiciels est incontournable pour réduire leur consommation électrique (et donc les émissions de CO2 liées) et allonger la durée de vie active des équipements informatiques (qui concentrent les nuisances environnementales).
Le livre « Green Patterns, Manuel d’éco-conception logicielle » décrit les moyens de réduire l’empreinte environnementale des logiciels. Dans l’extrait que nous vous proposons ici, il évoque l’exemple du projet OLPC.
Le projet OLPC a pour objectif de fournir un ordinateur comme outil éducatif aux enfants les plus pauvres de la planète. Pour cela, la fondation OLPC a conçu un ordinateur spécifique, le XO, qui est l’ancêtre des Netbooks.
L’ordinateur XO est d’une couleur verte très « flashy », ce vert rappelle la volonté de la fondation OLPC de proposer un produit éco-conçu. Le cahier des charges intègre en effet les 3 piliers du développement durable:
- Social car l’ordinateur cible les enfants des pays en voie de développement dans l’objectif d’accéder à une meilleur éducation (un des objectifs du millénaire pour l’ONU),
- Ecologique car le XO limite l’utilisation de matières polluantes, qu’il est conçu pour avoir une durée de vie de 5 ans et que sa consommation d’énergie a été réduite au maximum comme nous allons le voir ci-dessous,
- Economique puisqu’il s’adresse à des pays qui par définition ont peu de ressources et que son coût de production est donc prévu pour être le plus faible possible (prévu à 100$ à l’origine).
La conception d’un tel outil, initiée par Nicholas Negroponte et d’autres chercheurs du MIT à Boston, s’est notamment attachée à limiter la consommation énergétique. En effet, si dans les pays occidentaux, la prise de conscience de la rareté de l’énergie ne fait que commencer, dans les pays où l’ordinateur XO est déployé, l’électricité est encore une denrée rare. Le plus souvent d’ailleurs, dans les pays utilisant le XO, l’école est le premier endroit à disposer de l’électricité.
La recherche d’économie énergétique menée par les équipes du projet OLPC a été un travail à la fois matériel (choisir des composants de faible consommation) et logiciel (piloter efficacement la consommation de ces composants).
Sur le plan matériel, le choix des composants s’est fait au niveau macro (conception d’un écran bi-mode pouvant fonctionner sans rétro-éclairage, choix d’un processeur AMD Geode ayant une fréquence de fonctionnant faible, disque NAND flash, …) mais aussi dans le détail (port PS/2 alimenté en 3.3v seulement car il n’est pas prévu de pouvoir alimenter un clavier externe).
Sur le plan logiciel, le pilotage consiste à être capable de réduire la consommation ou de stopper un composant du système lorsqu’il n’est pas utile. Cela a nécessité un travail important d’écriture ou d’adaptation des pilotes des composants matériels car aucun système à base de Linux n’était allé aussi loin jusqu’à présent.
Le premier axe d’optimisation logiciel a été de réduire voire d’éliminer complètement les attentes actives (ou « polling ») dans le système. La totalité des attentes du système doivent être basées sur des événements ce qui permet de réduire la consommation énergétique entre 2 actions du système.
Pour réduire cette consommation, un module de gestion d’énergie spécifique appelé OHM a été développé au dessus de la distribution Linux Fedora utilisée sur le XO. Il ne s’appuie pas sur ACPI pour des raisons d’optimisation. ACPI est par définition un standard permettant de gérer des équipements très différents, son implémentation est donc très générique. Il a été préféré la réécriture d’un système dédié aux composants spécifiques se trouvant dans l’ordinateur XO. Cela a permis de réduire la complexité et la taille du logiciel de pilotage.
Quelques exemples de fonctionnalités intégrées dans la gestion d’énergie du XO:
- Le système baisse la fréquence de rafraichissement de l’écran à 25hz (au lieu de 50hz) lorsque le server X Window n’a pas été sollicité pendant 20s.
- Le système réduit le rétro-éclairage lorsque le server X Window n’a pas été sollicité pendant 1 minute.
- Lorsque l’ordinateur est en mode « e-book » (clavier derrière l’écran), la CPU est suspendue tant qu’un bouton de contrôle n’est pas appuyé.
- L’écran et son contrôleur peuvent fonctionner alors que la CPU est suspendue. Le contrôleur gère alors uniquement le rafraichissement régulier de l’écran.
- La vitesse de passage en mode veille de la CPU est de 160ms ce qui permet de mettre en veille la CPU entre deux frappes claviers.
- Le composant gérant le WiFi est capable de fonctionner de manière isolé. Comme l’ordinateur XO propose un WiFi mesh où chaque XO sert automatiquement de relai WiFi aux autres XO à proximité, le composant fonctionne même lorsque l’ordinateur est en veille. Il fait alors uniquement du routage de trame et « réveille » le processeur lorsqu’une trame nécessite un traitement.
Une autre particularité du XO est l’interface graphique Sugar. Sugar propose un bureau et un lanceur d’applications (appelées « Activités ») simplifiée. Le fenêtrage dans Sugar est très limité, une seule application est utilisable et active à fois. Cette absence de réel multitâche évite de charger intensément la mémoire et la CPU de l’ordinateur . Il évite également d’avoir des applications qui tournent en tâche de fond et qui sont souvent une source de déperdition d’énergie (c’est une des raisons principale pour laquelle iOS et Windows Phone 7 ne proposaient pas de multitâches à leur lancement). A défaut de faire plusieurs applications en même temps, Sugar propose par contre simplement, en utilisant le WiFi de partager une application à plusieurs (un peu comme Google App).
Au final l’ensemble de ces éléments permet aujourd’hui au XO d’avoir une consommation moyenne de 5 Watt est d’à peine 1 Watt lorsque l’ordinateur est en veille avec le WiFi actif. C’est 10 fois moins qu’un ordinateur portable standard !