Les offres de “Orange”

Expire bientôt Orange

Thèse Eco-conception des logiciels : modélisation de l'efficience énergétique des logiciels et conception d'outils

  • Thèse
  • Rennes (Ille-et-Vilaine)
  • Développement informatique

Description de l'offre

about the role

Votre rôle est d'effectuer un travail de thèse sur la modélisation de l'efficience énergétique des logiciels et la conception d'outils pour mesurer et réduire leur consommation d'énergie.

CONTEXTE

Selon "The Shift Project" [1], la consommation énergétique du Numérique augmente de 8,5% par an et sa part dans la consommation mondiale d'électricité pourrait être multipliée par 10 en 20 ans. Vu le mix électrique mondial, la part d'émissions de gaz à effet de serre va ainsi passer de 2,5% en 2015 à 5% en 2020. Cette croissance de la consommation énergétique du Numérique est liée :

* Aux smartphones : parc, sophistication et consommation électrique croissantes, renouvellement rapide ;

* Aux équipements numériques dans les foyers : parc croissant ;

* À l'essor de l'Internet of Things (IoT) ;

* À l'explosion du volume de données, qui surpasse les gains d'efficacité des réseaux et data-centers.

Face à cette forte croissance énergétique, 4 familles de stratégies sont possibles :

* Centres de données : refroidissement, utilisation de la chaleur produite, optimisation de l'alimentation, énergies renouvelables ;

* Equipements IT : amélioration de l'efficacité énergétique des composants matériels, adaptation de la puissance électrique aux contraintes des services [6] ;

* Infrastructure IT : prise en compte de l'énergie lors du placement des applications [8], virtualisation ;

* Eco-conception des logiciels : réduction de la consommation d'énergie des applications "Métier".

ÉTAT DE L'ART

En complément des travaux qui ont été initiés sur les 3 premières familles, la thèse se focalisera sur la quatrième en étudiant les stratégies qui contribueront à améliorer l'efficience énergétique des logiciels.

Plusieurs approches sont actuellement envisagées dans ce domaine [3] : auto-adaptation du logiciel à son contexte [10], techniques d'optimisation lors de la compilation [2] ou au niveau du code lors de la phase de conception et de développement, notamment via le refactoring.

Dans toutes ces approches la mesure de la consommation d'énergie d'un logiciel est un prérequis et fait l'objet de travaux, tels que la sonde conçue par l'Inria [5]. Cependant, pour les développeurs applicatifs, ces informations de consommation restent difficiles à obtenir et à analyser [4] ; les outils sont complexes, nécessitent une connaissance du matériel, et ne renseignent pas sur les causes de la consommation ni sur les pistes d'améliorations.

Si des travaux cherchent à analyser l'impact de pratiques de développement sur la consommation énergétique [7], il s'agit souvent d'études empiriques dont les résultats sont difficilement généralisables et ne permettent pas la création d'outils pour aider le développeur.

Un modèle de la consommation du logiciel qui prédirait les impacts d'une modification du code sur la consommation permettrait la création d'un outillage à destination des développeurs. A notre connaissance, les travaux visant sur ce modèle, tels que [9], sont encore au stade exploratoire.

L'article [4] fournit une vision éclairante de l'état de l'art de la recherche académique sur l'éco-conception logicielle.

Les résultats de cette thèse seront exploités par Orange à 3 niveaux :

* Mise à disposition d'outils et bonnes pratiques aux développeurs d'Orange pour permettre la production de logiciels à basse consommation ;

* Promotion de ces outils et bonnes pratiques dans la communauté des développeurs ;

* Contribution à l'objectif environnemental annoncé dans Essentiel 2020 au travers de l'optimisation de la consommation d'énergie de nos logiciels.

Se référer à la section 3 "Le plus de l'offre" pour des informations détaillés sur la mission scientifique et les principales activités associées à la thèse.

about you

Vous êtes diplômé.e d'un BAC+5 en informatique.

Compétences (scientifiques et techniques) et qualités personnelles souhaitées par le poste

·  Compétences en programmation orientée objet (Java en particulier) et forte appétence pour le développement logiciel
·  Compétences en génie logiciel : analyse statique de code, analyse dynamique, etc.
·  Connaissance de la théorie des graphes, idéalement aussi des bases de données orientées graphes
·  Sensibilité aux problématiques environnementales et à l'éco-conception

Vous avez de l'expérience dans le développement de logiciels Java complexes.

additional information

Objectif scientifique - verrous à lever

L'objectif principal de la thèse est de modéliser l'efficience énergétique des logiciels et développer des méthodes de mesure et de réduction de la consommation d'énergie des logiciels en phase de développement. Les logiciels ciblés dans la thèse sont les logiciels serveurs modernes destinés à être déployés sur les infrastructures cloud. Plus précisément, dans ce projet de thèse on vise à :

·  Concevoir un modèle d'efficience énergétique des logiciels identifiant l'ensemble des éléments qui contribuent à leur consommation (e.g., bibliothèques, composants, classes, méthodes, instructions).

Un travail préliminaire montre qu'il n'existe pas d'état de l'art relatif aux modèles d'efficience énergétique. Le premier verrou à lever consistera donc à définir un tel modèle : définir le niveau de granularité et les paramètres du modèle.

Une piste de recherche serait de travailler sur un modèle de graphe à construire à partir d'une analyse statique du code d'une application. Ce graphe sera ensuite complété par une analyse dynamique à l'exécution, prenant en compte la consommation. Cette phase permettra d'identifier les niveaux de granularité pertinents pour la mesure de la consommation énergétique du code (bibliothèque, composant, classe, méthode, instruction) et d'exécution (processus, thread).

·  Établir une cartographie des consommations d'énergie de l'ensemble des éléments des logiciels et proposer, via le modèle et l'analyse de la cartographie, une approche et un outillage pour optimiser la consommation d'énergie des logiciels. Il faudra donc réaliser un travail d'identification des dimensions pertinentes de la cartographie des consommations d'énergie de l'ensemble des éléments des logiciels.

Il faudra ensuite étudier comment exploiter cette cartographie pour dans les solutions d'optimisation de la consommation d'énergie des logiciels.

Les quatre contributions majeures vers la communauté scientifique des résultats de la thèse seront :

i. Un modèle d'efficience énergétique des logiciels qui s'abstrait du matériel ;

ii. Des outils de mesure adaptés aux éléments constitutifs des logiciels ;

iii. Une cartographie des consommations d'énergie de l'ensemble des composants des logiciels ;

iv. Des nouvelles pratiques d'éco-conception et de développement des logiciels

Approche méthodologique-planning

La progression au cours de la thèse se fera de manière incrémentale, en périodes de 6 à 8 mois. Chaque période couvrira un sous-objectif clair du sujet de thèse. comprendra un état de l'art dédié aux points traités et aboutira à un livrable pouvant éventuellement donner lieu à une publication scientifique. Ces étapes pourront être revus par le comité de pilotage de la thèse selon la progression et les résultats obtenus :

1. Inférence d'un graphe d'exécution de l'application de graphe via l'analyse statique du code

2.Enrichissement du graphe d'exécution par analyse dynamique et mesure de la consommation

3.Extraction d'un modèle de consommation d'une application à partir des travaux précédents

4.Cartographie applicative de la consommation à partir du modèle obtenu

5.Outils de recommandation et optimisation énergétique, basé sur le modèle et la cartographie (potentiellement via l'identification de sous modèles généralisables)

6.Rédaction du manuscrit de thèse de doctorat.

department

Au sein d'Orange Labs Service, Soft est l'entité dédiée développement logiciel. Les équipes Soft, composées de spécialistes du logiciels, travaillent sur aussi bien sur des applications mobiles, des plateformes de services que du développement pour systèmes embarqués. L'accent est mis sur la qualité du développement ainsi que sur l'ensemble des facteurs participant à cette qualité : méthodologie, outillage, etc.

Qu'est ce qui fait la valeur ajoutée de cette offre ?

Ce sujet de thèse fait le lien entre le monde du logiciel et l'un des enjeux majeurs de notre époque : l'impact écologique des activités humaines. En travaillant avec les équipes Orange spécialisées dans le développement, vous pourrez contribuer à une meilleure prise en compte des contraintes énergétiques du logiciel, tout en travaillant dans un environnement industriel moderne, soucieux d'appliquer les meilleures pratiques actuelles du développement.

Références :

[1] "Intelligence Artificielle, Numérique et Environnement", Ferreboeuf, H., Synthèse de l'audition du 12/10/2017 par la mission Villani, Octobre 2017. (http://www.theshiftproject.org/sites/default/files/files/note_danalyse_synthese_de_laudition_par_la_commission_villani-ia_the_shift_project.pdf)

[2] “The design, implementation, and evaluation of a compiler algorithm for CPU energy reduction” Hsu, C.-H., & Kremer, U., Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation, 2003

[3] "Understanding Green Software Development : A Conceptual Framework", Ardito, L., Procaccianti, G., Torchiano, M., IEEE Computer Society IT Pro, February 2015.

[4] "Energy Efficiency : A New Concern for Application Software Developers", Pinto, G., Castor, F., Communications of the ACM, Vol 60(12), December 2017.

[5] "Process-level power estimation in VM-based systems", Colmant, M., Kurpicz, M., Felber, P., Huertas, L., Rouvoy, R., Sobe, A., Proceedings of the 10th European Conference on Computer Systems, 2015.

[6] "Modeling energy-performance trade-offs in ARM big.LITTLE architectures", Vasilakis, E., Sourdis, I., Papaefstathiou, V., Psathakis, A., Katevenis, M.G.H., Proceedings of the 27th International Symposium on Power and Timing Modelling, Optimization and Simulation, 2017.

[7] "Investigating the effect of design patterns on energy consumption", Feitosa, D., Alders, R., Ampatzoglou, A., Avgeriou, P., Nakagawa, E. Y. Journal of Software Evolution and Process, 2017.

[8] “Energy-Efficient Virtual Machine Replication and Placement in a Cloud Computing System” Goudarzi, H., & Pedram, M. IEEE Fifth International Conference on Cloud Computing, 2012.

[9] “Monitoring energy hotspots in software: Energy profiling of software code” Noureddine, A., Rouvoy, R., & Seinturier, L., Automated Software Engineering, 2015.

[10] “Energy aware self-adaptation in mobile systems” Ardito, L., International Conference on Software Engineering, 2013.

contract

Thesis

Faire de chaque avenir une réussite.
  • Annuaire emplois
  • Annuaire entreprises
  • Événements