Thèse soutenue

Eco-développement : une approche empirique pour réduire la consommation énergétique des logiciels

FR  |  
EN
Auteur / Autrice : Mohammed Chakib Belgaid
Direction : Romain RouvoyLionel Seinturier
Type : Thèse de doctorat
Discipline(s) : Informatique et applications
Date : Soutenance le 14/12/2022
Etablissement(s) : Université de Lille (2022-....)
Ecole(s) doctorale(s) : Ecole doctorale Mathématiques, sciences du numérique et de leurs interactions (Lille)
Partenaire(s) de recherche : Laboratoire : Centre de Recherche en Informatique, Signal et Automatique de Lille - Centre Inria de l'Université de Lille
Equipe de recherche : SPIRALS - Self-adaptation for distributed services and large software systems (France)
Jury : Président / Présidente : Pierre Boulet
Examinateurs / Examinatrices : Thomas Degueule, David Olivier
Rapporteurs / Rapporteuses : Olivier Barais, Chantal Taconet

Résumé

FR  |  
EN

Le secteur des TIC serait responsable de 2% des émissions mondiales. Même si ce chiffre peut paraître faible, le succès des technologies TIC entraînera toujours une augmentation des émissions de gaz à effet de serre. En 2019, le nombre de centres de données dans le monde était de 1,5 million, et devrait atteindre 2,5 millions d'ici 2025. Dans cette situation, la diminution des émissions du secteur des TIC dépend de la réduction de la consommation énergétique des centres de données. Il existe trois méthodes principales pour atteindre cet objectif : améliorer l'efficacité du matériel, faire baisser la consommation énergétique des systèmes de refroidissement, ou diminuer la consommation énergétique des serveurs eux- mêmes. Cette thèse se focalise sur la dernière approche, qui me semble être la plus abordable, car elle ne nécessite aucun changement physique dans les centres de données.Mon objectif est d'aider les développeurs à créer des logiciels plus écologiques en leur fournissant des outils et des directives pour créer des applications qui tournent sur des serveurs tout en consommant moins d'énergie. Pour ce faire, j'ai décidé d'adopter une approche empirique en trois étapes : tester, mesurer et optimiser.La raison d'une telle décision est de suivre le rythme rapide de l'industrie du logiciel. En fait, le secteur du logiciel connaît l'un des taux de croissance les plus rapides, ce qui rend difficile de suivre les nouvelles technologies. Ainsi, au lieu de me contenter de rapporter juste mes réflexions, j'ai fourni aux praticiens les moyens et les protocoles nécessaires pour leur permettre de tester leurs hypothèses. Je suis convaincu que certaines des conclusions partagées dans le cadre de cette thèse pourraient déjà être obsolètes au moment de leur publication.Vue l'urgence de la question du changement climatique, j'ai décidé d'abord d'exploiter le langage de programmation le plus populaire et pourtant le plus gourmand en énergie, Python. J'ai donc commencé par analyser le comportement énergétique du code Python dans ses utilisations les plus courantes. J'ai ensuite proposé une technique non intrusive pour réduire sa consommation énergétique. Ensuite, j'ai étendu cette stratégie à un autre langage de programmation célèbre pour sa base de code ancienne, Java, pour montrer que nous pouvons encore réduire la consommation d'énergie d'applications déjà en cours d'exécution sans payer un prix considérable. Enfin, j'ai adopté une approche plus systémique. Au lieu d'optimiser une seule application, peut-on réduire la consommation d'énergie du centre de données dans son ensemble ? Grâce à l'architecture micro-services, une application peut être construite à l'aide de nombreux services, tous indépendants les uns des autres. Ce type d'architecture nous libère de l'obligation d'adopter un seul langage de programmation comme le fait l'application monolithique. Et avec cela, on peu employer plusieurs langages de programmation et profiter des forces de chacun d'eux pour un scénario spécifique. Le dernier chapitre a analysé le com- portement énergétique de plusieurs langages de programmation concernant les services Web tout en ouvrant une nouvelle voie vers la durabilité au sein des applications intemporelles.