En l’espace de quelques années, les services numériques ont envahi notre quotidien. Notre dépendance aux nombreux avantages qu’ils nous procurent s’accroît un peu plus chaque jour. Que ce soit depuis un ordinateur, un smartphone, une télévision ou une enceinte connectée, nous sollicitons constamment de nombreux serveurs dispersés à travers le monde pour accomplir diverses tâches personnelles et professionnelles.

Si l’impact environnemental des ordinateurs et téléphones est de plus en plus perceptible par leurs usagers, l’impact des serveurs pose encore régulièrement question. En particulier, les data centers — immenses entrepôts hébergeant plusieurs milliers de serveurs — sont souvent décriés pour leur impact négatif sur l’environnement.

Tous les acteurs de l’écosystème des services numériques — des constructeurs de matériel informatique et opérateurs du cloud aux clients et citoyens — peuvent s’atteler à ce problème en encourageant l’émergence de pratiques plus sobres dans l’utilisation, la conception et l’hébergement des services en ligne.

Les entreprises ont favorisé l’efficacité énergétique des data centers

Au fil des ans, les entreprises ont délégué la gestion des serveurs qu’elles hébergeaient auparavant à des data centers. Cet hébergement mutualisé a alors stimulé la recherche et l’innovation dans le domaine de l’efficience de ces bâtiments (systèmes de refroidissement, réflexions sur la situation géographique des data centers, etc.) et a contribué à développer des solutions d’hébergement de moins en moins énergivores, mises en compétition au travers d’un standard de facto : le Power Usage Effectiveness ou PUE.

Ainsi, entre 2007 et 2021, les data centers français ont amélioré leur efficience énergétique par 47 %.

Dans le même temps, sous l’impulsion d’acteurs internationaux majeurs comme Google, Microsoft ou Amazon, ces data centers sont devenus le socle d’un nouveau paradigme qui a gommé les nombreuses contraintes imposées par le matériel : le « cloud computing ».

L’adoption du cloud annule les efforts faits sur les data centers

En introduisant la notion de « virtualisation », le cloud computing a offert l’illusion d’une abondance de ressources, rendue accessible depuis n’importe quel endroit, pour n’importe quelle entreprise et à n’importe quel moment.

La virtualisation consiste notamment à permettre l’exécution concurrente de plusieurs systèmes d’exploitation (dénommées « machines virtuelles ») sur une même machine physique. Cette innovation technologique majeure permet de se dédouaner de la contrainte matérielle pour rapidement mettre à disposition de nombreux services en ligne. En quelques clics, de coûteux et encombrants serveurs sont remplacés par la location de machines virtuelles, facturées à l’usage, qu’il est possible de répliquer à l’infini et de manière quasiment instantanée.

La fabrication de ressources informatiques coûte cher, y compris en eau, minéraux et énergie. Alors que certaines machines sont sous-utilisées, les mutualiser peut permettre d’optimiser leur utilisation. Laura Ockel/Unsplash, CC BY

Mais, comme souvent, l’émergence de nouvelles technologies améliorant l’efficacité avec laquelle une ressource est employée, a inévitablement contribué à une augmentation de la consommation totale de cette ressource en place de la réduction escomptée, c’est l’effet rebond ou paradoxe de Jevons.

Notamment, la plupart des opérateurs du cloud constate encore que les machines virtuelles qu’ils hébergent dans leurs data centers sont nettement sous-utilisées : leurs clients commandent des serveurs en ligne pour des sommes modiques, sans nécessairement les utiliser sur la durée. Ainsi, l’espoir d’une réduction de la consommation énergétique par la mutualisation des ressources matérielles s’avère être en réalité une gangrène pour ces infrastructures, car ces machines virtuelles abandonnées gâchent une importante quantité de ressources matérielles qui ne peuvent plus être utilisées pour répondre aux besoins pressants d’autres clients.

En d’autres termes, les économies réalisées en efficacité dans les data centers ont été rapidement contrebalancées par une exploitation sous-optimale des ressources matérielles à l’échelle du cloud.

De nouveaux outils pour contrer l’effet rebond : du recyclage au surbooking

Pour contrer cet effet rebond, de nouveaux outils identifient automatiquement les machines virtuelles abandonnées afin de les « recycler », c’est-à-dire de libérer les ressources matérielles (processeur, mémoire) des serveurs physiques qu’elles mobilisent inutilement.

Cette solution logicielle permet notamment de récupérer les ressources matérielles réservées mais non utilisées, pour qu’elles puissent être de nouveau allouées à des tiers, maximisant ainsi l’usage effectif des machines physiques par les solutions de virtualisation.

Au-delà de la simple « traque » des machines virtuelles abandonnées à travers le cloud, il est possible de détecter des plages de temps durant lesquelles une machine virtuelle n’est jamais utilisée pour recycler temporairement ses ressources. Par exemple, une machine virtuelle utilisée uniquement en journée peut être temporairement recyclée la nuit, et uniquement sur cette période, pour déployer une machine virtuelle chargée d’une sauvegarde ou d’une analyse. Cependant, encore à l’état de prototype de recherche, le recyclage des ressources du cloud doit encore être adopté par les principales solutions de virtualisation.

En revanche, la surallocation constitue une option complémentaire pour accroître l’usage des ressources matérielles déjà intégrées. Cette technique, dénommée overbooking (ou overcommitment ou oversubscription), est proche de ce qui se pratique dans les transports. Elle consiste, pour chaque processeur physiquement disponible, à proposer plusieurs processeurs virtuels à la réservation, forçant ainsi un ensemble de machines virtuelles à se partager les ressources matérielles, ce qui minimise le risque d’inutilisation de celles-ci.

Cependant, en l’absence de mécanisme de contrôle approprié, la surallocation des ressources matérielles peut aussi conduire à une surutilisation de ces dernières dans certains cas, avec un impact perceptible sur la qualité de service, à l’image du surbooking dans les avions, et les opérateurs de cloud sont peu enclins à adopter largement ce mécanisme de surallocation.

Le problème de la gestion mémoire et sa surallocation

De plus, la surallocation des ressources s’avère être particulièrement difficile dans le cas de la gestion de la mémoire, organe tout aussi important que le processeur, en charge de la manipulation et du stockage des données.

En effet, si des approches comme Kernel Samepage Merging (KSM) permettent de mutualiser la mémoire physique occupée par les systèmes d’exploitation de plusieurs machines virtuelles, la majeure partie des informations manipulées par les machines virtuelles ne peuvent être partagées, ne serait-ce que pour préserver les secrets des usagers.

De plus, il est souvent difficile pour les clients d’estimer précisément la mémoire nécessaire à la bonne exécution de leurs services. Ces derniers préfèrent donc généralement surestimer cette quantité nécessaire afin de ne pas pénaliser la qualité de service. Notamment, il s’agit généralement de la ressource la plus utilisée, faisant d’elle la première ressource critique d’une infrastructure cloud, celle dont la faible disponibilité empêche l’exploitation d’autres ressources, comme le processeur.

Plusieurs pistes pour mieux utiliser la mémoire

La réduction de l’empreinte mémoire des services numériques revêt donc d’une importance toute particulière dans la perspective d’opérer des infrastructures cloud plus sobres.

En premier lieu, l’estimation plus fine et plus précise de l’empreinte mémoire des services déployés en ligne doit s’accompagner d’une révision des offres de machines virtuelles. Ces offres sont généralement décrites via des catalogues fixant les ressources allouables. À titre d’exemple, un service nécessitant 17 Go de mémoire peut actuellement imposer la réservation de 32 Go chez un opérateur cloud, faute d’offres disponibles entre 16 Go et 32 Go et conduisant donc au gâchis de près de la moitié des ressources qui ne pourront pas être allouées à d’autres clients.

Au-delà des améliorations escomptables dans les couches matérielles et logicielles des infrastructures cloud, les choix des clients doivent également être mieux accompagnés. Les quantités de ressources réservables pourraient notamment être recommandées avec une plus grande transparence des opérateurs cloud, de manière à optimiser l’efficience énergétique de bout en bout, tout en atteignant les performances attendues, et ainsi limiter le gaspillage de ressources inutilisées.

En conclusion, ces dernières années, l’industrie du logiciel a surtout privilégié le développement rapide de services numériques. Notamment, les contraintes économiques de développement — conjuguées avec l’abondance de ressources offertes par le cloud — et son apparente efficience énergétique — ont plutôt eu pour effet de négliger l’empreinte écologique des services développés au profit de la rapidité de mise en ligne et du retour sur investissement. Développer et opérer des services en ligne plus frugaux, respectant les contraintes de production industrielle, constitue donc un enjeu particulièrement critique pour les années à venir.

Pierre Jacquet, Doctorant en informatique, Inria; Romain Rouvoy, Chercheur et professeur en informatique, Université de Lille et Thomas Ledoux, Chercheur dans l’équipe Stack de Inria/IMT Atlantique et professeur, IMT Atlantique – Institut Mines-Télécom

Cet article est republié à partir de The Conversation sous licence Creative Commons. Lire l’article original. crédit photo couverture: depositphotos.com