Débattre

Le syndrome de l’obésiciel : des applications énergivores

Toujours plus d’appareils connectés, toujours plus de données collectées… les logiciels n’échappent pas non plus aux besoins en énergie toujours croissants.

Cet article est le 4e volet de Sciences du numérique et développement durable : des liens complexes.

obesiciel2

Dessin : Éric Drezet.

Une enquête de 2014 montre que les possesseurs de smartphones ont en moyenne 35 applications installées, dont 11 seulement sont utilisées toutes les semaines et 12 ne le sont jamais (ce nombre est en augmentation par rapport à 2010). Les autres applications ne sont utilisées qu’occasionnellement.

Cependant, toutes ces applications installées consomment des ressources de calcul et de stockage. Effectivement, même une application qui n’est jamais utilisée peut être programmée pour envoyer des notifications périodiques à des serveurs distants (des données de géolocalisation par exemple) et ainsi avoir une consommation énergétique non négligeable. Plusieurs techniques peuvent être mises en œuvre pour réduire l’impact des applications. Certaines relèvent de bonnes pratiques, notamment lorsqu’il s’agit d’être attentif et de personnaliser la configuration des applications. D’autres techniques s’inscrivent dans les domaines du génie logiciel et de l’éco-conception logicielle.

Obésiciels ou éco-conception ?

La loi de Moore caractérise l’évolution de la puissance des ordinateurs dans le temps et montre une augmentation constante de leur complexité. Cette augmentation des capacités des appareils a conduit à une augmentation des demandes des applications. Ceci a engendré l’apparition d’applications de plusieurs millions de lignes de code, utilisant des quantités de ressources dont le coût aujourd’hui peu élevé ne justifie plus que l’on investisse du temps pour chercher l’efficience. Ainsi sont apparus les obésiciels. Ces applications, souvent complexes, intègrent de plus en plus de fonctionnalités installées par défaut dont l’utilisateur n’a pas toujours l’utilité. Pour améliorer l’efficacité énergétique de ces applications, il est nécessaire de les rendre plus modulaires et configurables, de sorte que l’utilisateur puisse désactiver les fonctionnalités superflues.

À l’extrême, certains appareils électroniques sont vendus avec des applications préinstallées, dont certaines ne peuvent pas être enlevées. Par exemple, des applications pour télécharger des vidéos ou des démonstrations de jeux peuvent être préinstallées sur des smartphones. Or ces applications imposées peuvent s’avérer totalement inutiles pour certains utilisateurs.

Les obésiciels ont également un appétit croissant en ressources matérielles. Par exemple, en 8 ans, les besoins en cadence processeur du système d’exploitation Windows ont été multipliés par 15 et ceux en mémoire vive par 42. Ainsi, ces obésiciels sont de plus en plus énergivores.

Cette voracité en ressources se retrouve également dans les volumes de données générées par les applications. Outre le code et l’exécution des logiciels, il est nécessaire d’optimiser le format des données qu’ils produisent, afin de consommer moins de ressources matérielles et donc moins de matières premières et d’énergie. L’optimisation du taux de compression des vidéos réduit par exemple la bande passante nécessaire à leur diffusion à travers le réseau.

L’éco-conception des logiciels consiste à optimiser leur empreinte écologique et permet de réels gains en énergie. Elle s’appuie notamment sur l’utilisation d’algorithmes plus efficaces en énergie, la réduction des temps d’exécution (et donc d’utilisation des processeurs), l’élaboration de cahiers des charges précis visant à éliminer les fonctionnalités inutiles et l’optimisation des volumes de données générés. Par exemple, une modification des scripts de la version mobile du site Wikipédia réduit de 30% l’énergie nécessaire au téléchargement et au rendu de ses pages. Il conviendrait de revenir aux pratiques des temps où l’on optimisait le code en raison du coût élevé des ressources disponibles sur le marché (mémoire vive, cadence des processeurs).

L’obsolescence

La voracité en ressources matérielles des obésiciels contribue fortement à la chute de la durée moyenne d’utilisation des appareils électroniques (ordinateurs, smartphones, etc.) avant remplacement. En effet, ils ne sont pas capables de s’adapter à plusieurs générations successives de logiciels. C’est le phénomène de l’obsolescence : l’appareil est dépassé en raison de l’évolution des logiciels.

L’obsolescence concerne aussi et d’abord le matériel. Ainsi, lorsque les pièces détachées nécessaires à la réparation d’un appareil ne sont plus disponibles, l’appareil doit être remplacé en totalité.  De même, lorsqu’une touche de clavier informatique est défaillante, tout le clavier doit être changé ; ou lorsque la batterie d’un ordinateur portable est soudée à sa structure, elle ne peut pas être remplacée séparément. Il serait alors préférable d’avoir une conception plus modulaire des appareils et une disponibilité accrue des pièces détachées.

L’obsolescence s’applique également aux logiciels et peut alors prendre plusieurs formes. Elle concerne notamment le fait de rendre incompatibles deux versions d’un logiciel, ou encore de contraindre à une mise à jour nécessitant plus de ressources informatiques que la configuration minimale requise initialement. Elle peut également se traduire par l’annonce de la fin du support d’un logiciel à une certaine date, contraignant les utilisateurs à acheter une version plus récente. Par exemple, la fin du support de Windows XP est effective depuis 2014. Cela signifie que les machines équipées de ce système d’exploitation deviendront potentiellement vulnérables aux nouvelles failles de sécurité et ne peuvent donc plus être utilisées sans risque pour la sécurité. Selon une enquête réalisée en mars 2014, 28% des ordinateurs dans le monde, soit 500 millions d’unités, utilisaient encore Windows XP. Que faire de tous ces ordinateurs dont la majorité n’a pas les capacités requises par les versions plus récentes de ce système d’exploitation ?

S’ils n’ont pas bénéficié de l’éco-conception, les logiciels peuvent entraîner une consommation énergétique non nécessaire ou un renouvellement de matériel prématuré. Dans ces deux cas, ils ont des impacts négatifs sur l’environnement. Mais, dans d’autres cas, les logiciels peuvent jouer un rôle positif dans cette problématique.

Vers des logiciels et des utilisateurs éco-responsables

À l’image des logiciels de visioconférence, qui contribuent à éviter des déplacements professionnels, certaines applications peuvent réduire la consommation énergétique dans d’autres secteurs industriels. Par exemple, des applications optimisent les transports et les déplacements de marchandises et de personnes, proposent l’achat en ligne d’articles immatériels, dématérialisent les procédures administratives, optimisent les réseaux électriques des bâtiments voire des villes (réseaux électriques intelligents), proposent des formations en ligne ou permettent la télésurveillance médicale.

Ainsi, un rapport de 2008 estimait que les sciences du numérique peuvent  faire économiser de 1 à 4 fois leurs propres émissions de gaz à effet de serre mais, à l'inverse, elles constituent désormais le premier poste de consommation d'électricité des ménages français. Elles doivent donc également agir sur leur propre impact direct sur le développement durable, en particulier au niveau logiciel, car d’importants effets leviers peuvent être mis en œuvre à ce niveau. En effet, la couche logicielle est responsable du dimensionnement de l’infrastructure matérielle chargée de la supporter, elle conditionne la durée de vie active des appareils électroniques et elle a un impact conséquent sur la consommation énergétique et plus généralement sur l’empreinte écologique, bien que cet impact soit rarement pris en compte.

Pour être économes en énergie, les systèmes d’exploitation devraient favoriser la mise automatique en modes économie d’énergie ou veille des appareils électroniques (notamment des écrans), lors des périodes significatives d’inutilisation. Ils devraient prévoir l’extinction des composants inutilisés (tels que les ports USB ou les lecteurs CD des serveurs dans les centres de données, par exemple). L’utilisation des ressources pourrait être optimisée via des algorithmes de gestion et de placement des tâches.

Contrairement au cas des centres de données, l’utilisateur peut agir directement sur les logiciels qu’il utilise. Il a donc un rôle essentiel à jouer dans la réduction de leurs impacts sur le développement durable. Pour cela, il est nécessaire qu'il soit informé de la consommation réelle de ses applications. Certains services logiciels permettent de mesurer en temps réel la consommation énergétique des processeurs, comme par exemple le service Intel Power Gadget. Il serait intéressant d’étendre cette fonctionnalité pour que les utilisateurs puissent estimer la consommation énergétique de chacune de leurs applications en incluant toutes les ressources utilisées (processeur, mémoire vive, carte réseau, disques durs, etc.).

Le logiciel PowerTOP (pour Linux) va encore plus loin dans ce sens : il permet un diagnostic de la consommation énergétique d’un ordinateur, il fournit des conseils de configuration pour réduire cette consommation et offre un mode interactif à l’utilisateur, dans lequel il peut tester les différentes configurations possibles. Un tel logiciel peut entraîner une véritable prise de conscience des utilisateurs concernant les impacts sur la consommation d’électricité de leur utilisation des technologies de l’information et de la communication. À ce titre, l’approche proposée par ce logiciel mériterait d’être étendue à d’autres appareils électroniques énergivores (écrans, smartphones, etc.). Elle pourrait ainsi favoriser la responsabilisation des utilisateurs.

Niveau de lecture

Aidez-nous à évaluer le niveau de lecture de ce document.

Il vous semble :

Si vous souhaitez expliquer votre choix, vous pouvez ajouter un commentaire (qui ne sera pas publié).