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.
Composition du jury proposé M. Romain ROUVOY Université de Lille Directeur de thèse M. Olivier BARAIS Université de Rennes 1 / IRISA Rapporteur M. Pierre BOULET Université de Lille Examinateur Mme Chantal TACONET Télécom SudParis Rapporteure M. Lionel SEINTURIER Université de Lille Co-directeur de thèse M. Thomas DEGUEULE CNRS Examinateur M. David OLIVIER Société Davidson Consulting Invité
Thesis of the team Spirals defended on 14/12/2022