Thèse CIFRE - Exploration de graphes appliquées à l'optimisation de l'orchestration des infrastructures micro-services
SMILE est le leader du "sourire" au travail, mais aussi de l'intégration de solutions Open-Source. Enthousiastes, agiles et performants, notre vocation est de libérer le potentiel d'innovation des entreprises, à travers l'Open-Source !
Nos Smiliens experts accompagnent les entreprises dans des domaines aussi variés que le Digital, les Business Apps, l'Embarqué & l'IoT et l'Infrastructure : 1800 collaborateurs présents dans 9 pays, avec 17 agences réparties en France et à l'international. Nos marques expertes : SensioLabs, Neopixl, Alter Way, UX-Republic, Creativestyle et Synotis.
Nous sommes certifiés “Happy at Work” 2023 !😍
Au sein de l'agence située à Asnières, rejoignez une équipe dynamique de passionnés du monde Open Source en intégrant le service R&D de Smile, dans une ambiance à taille humaine.
Le sujet :
Alors que l’industrie se tourne de plus en plus vers des solutions d’exécution dites en
micro-services (comme Kubernetes ou Docker), la nécessité d’offrir des moyens d’optimisation des consommations de ressources, tout en respectant des critères métiers spécifiques, est critique.
Dans le cadre de l'application open source HOTS (Hybrid Optimization for Time Series), nous cherchons à assurer une gestion optimisée en continu des conteneurs (notamment leur placement) sur une infrastructure. Au sein du processus développé, les conteneurs sont aujourd’hui regroupés en clusters en fonction de leurs profils de consommation. Or, des contraintes de colocalisation supplémentaires peuvent être spécifiées entre conteneurs (conteneurs appartenant à une même stack applicative, à un même client, à une même machine, ...). Ces informations pourraient, elles aussi, être représentées sous forme de graphes, où les nœuds représentent des conteneurs et les arêtes représentent des relations de similarité ou de colocalisation.
Dans notre solution, des graphes sont déjà utilisés au sein de la méthode de mise à jour des solutions de clustering et de placement des conteneurs. En effet, des graphes de conflit représentent les solutions actuelles : une arête entre deux sommets représente l’appartenance à un même cluster (clustering) / serveur (placement) de deux conteneurs. Une liste de conteneurs à réassigner est construite en récupérant les sommets de degré pondéré plus élevé sur ces graphes.
En combinant ces différents graphes (tout ou partie), nous pouvons former un super graphe dont l’objectif est de trouver des pôles indépendants au sein du nouveau graphe, permettant l’obtention d’une solution pour le cas d’usage étudié. Dans le cas du placement de conteneurs : un pôle représente un groupe de conteneurs dont les profils de consommation offrent une bonne colocalisation et dont les contraintes applicatives permettent cette colocalisation. Un pôle représente donc un nœud possible, et la représentation multipolaires du super graphe la solution de placement globale.
L'objectif de cette thèse serait d'explorer l’exploitation combinée de la théorie des graphes et de l'apprentissage automatique pour optimiser le déploiement et la gestion des conteneurs sur une infrastructure Cloud.
Possibilités d’extension : cette représentation en graphes hiérarchiques permet également de pouvoir influer facilement sur un aspect du problème global (e.g. modification du clustering, trouver une coupe pour réduire la taille d’un cluster important ; ajouter / retirer des contraintes applicatives) avant de reformer le graphe global.
Objectifs de la thèse :
-
Modélisation des graphes de clustering et de contraintes de colocalisation :
Développer des modèles de graphes pour représenter de manière efficace les clusters de conteneurs et les contraintes de colocalisation, en prenant en compte les différentes caractéristiques et relations entre les conteneurs.
- Analyse de la structure des graphes : Utiliser des techniques d'analyse des graphes pour identifier les motifs, les clusters et les sous-structures significatives dans les graphes de clustering et de contraintes de colocalisation, ce qui pourrait révéler des opportunités d'optimisation pour le placement des conteneurs.
- Développement d'algorithmes d'optimisation : Concevoir des algorithmes basés sur la théorie des graphes et l'apprentissage automatique pour optimiser le placement et la gestion des conteneurs sur l'infrastructure. Cela pourrait inclure des techniques d'optimisation combinatoire, de clustering et de classification pour trouver des configurations optimales tout en respectant les contraintes de colocalisation.
- Intégration de données en temps réel : Explorer des méthodes pour intégrer des données en temps réel sur la consommation des ressources et les performances des conteneurs dans le processus d'optimisation, afin d'adapter dynamiquement les déploiements en fonction des conditions changeantes de l'infrastructure.
- Validation expérimentale et étude de cas : Évaluer les performances des algorithmes proposés à l'aide de simulations et d'expérimentations sur des cas d'utilisation réels, en comparant les résultats avec des approches de déploiement traditionnelles pour démontrer leur efficacité et leur applicabilité pratique. Un environnement de test en données réelles est déjà développé, ce qui facilite l’intégration et l’évaluation de la solution par le/la candidat(e).
Contributions attendues :
Cette thèse devrait aboutir à des avancées significatives dans la manière dont les conteneurs sont déployés et gérés sur une infrastructure, en exploitant les informations de clustering et de colocalisation pour optimiser les performances, la fiabilité et l'efficacité des systèmes basés sur les conteneurs. Les résultats obtenus pourraient avoir un impact significatif sur la manière dont les infrastructures cloud sont conçues et exploitées dans un large éventail de domaines d'application.
De plus, l’analyse simultanée de plusieurs graphes peut déboucher sur différentes avancées techniques, propres à la théorie des graphes ou liées à l’exploration / la visualisation en plusieurs dimensions de plusieurs graphes.
Profil :
Vous venez d'être diplômé et êtes en recherche d'un financement de thèse CIFRE ou vous êtes en dernière année d'école d'ingénieur et envisagé de continuer sur une thèse l'année prochaine.
Vous avez de solides connaissances en optimisation et en théorie des graphes. Une maîtrise de la programmation, notamment Python, est également requise. Des connaissances de base en machine learning seraient un atout supplémentaire.
- Marque
- Smile
- Poste
- Développement
- Localisations
- Asnières-sur-Seine
- Statut à distance
- Hybride
- Type de contrat
- Fixed term contract / CDD
Thèse CIFRE - Exploration de graphes appliquées à l'optimisation de l'orchestration des infrastructures micro-services
Téléchargement du formulaire de candidature