Thèse en cours

Traitement de Données par Flux et par Lot sous Stéroïdes : Optimisation du Pipeline de Traitement des Données, du Noyau à l'Intergiciel

FR  |  
EN
Auteur / Autrice : Killian Castillon du perron
Direction : Fabrice HuetDINO Lopez Pacheco
Type : Projet de thèse
Discipline(s) : Informatique
Date : Inscription en doctorat le 01/11/2021
Etablissement(s) : Université Côte d'Azur
Ecole(s) doctorale(s) : École doctorale Sciences et technologies de l'information et de la communication
Partenaire(s) de recherche : Laboratoire : I3S - Informatique, Signaux et Systèmes de Sophia-Antipolis

Mots clés

FR  |  
EN

Résumé

FR  |  
EN

La quantité toujours croissante de données numériques produites chaque année nécessite des pipelines de traitement de données optimisés. De nombreux outils open source ont été imaginés et optimisés en permanence pour faire face à cette avalanche de données. On peut citer Storm et Flink pour le traitement de flux ou Spark pour le traitement par lots. Alors que d'énormes efforts ont été déployés pour améliorer les performances de ces outils par la communauté, nous identifions deux limitations clés de ces outils. Premièrement, si ces outils offrent une grande liberté dans leur configuration initiale, leur reconfiguration dynamique est en général limitée. Deuxièmement, un certain nombre d'optimisations pour augmenter l'évolutivité et la reconfigurabilité du middleware ont été développées et injectées directement au niveau du middleware, ignorant les mécanismes déjà présentés au niveau des couches inférieures. C'est le cas de l'équilibrage de charge et de la mise à l'échelle des fonctions sans état. De tels mécanismes existent déjà au niveau de la couche inférieure, par ex. Kubernetes ou Docker Swarm. Le point de départ de cette thèse est l'existence de plusieurs intergiciels qui peuvent être empilés lors du déploiement d'un pipeline de streaming de données : ce que l'on peut appeler un intergiciel applicatif (par exemple Storm) et un intergiciel système comme Kubernetes pour déployer des micro-services conteneurisés. À partir de l'intergiciel applicatif, avec une approche descendante, nous identifierons les fonctions disponibles au niveau du intergiciel système et du noyau pour évaluer la possibilité de décharger les couches supérieures de certaines fonctions qui pourraient être effectuées plus efficacement aux couches inférieures. De manière plus ambitieuse, nous visons à étendre les capacités actuelles du noyau avec de nouvelles fonctions qui répondent mieux aux besoins des intergiciels applicatif. Cela nécessitera à l'inverse d'introduire une interface claire entre l'Application, les Intergiciels et les OS, tout en préservant une architecture modulaire.