Évaluer l'impact de la conception des systèmes de streaming sur la performance des applications
Auteur / Autrice : | Alessio Pagliari |
Direction : | Fabrice Huet, Guillaume Urvoy-Keller |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance le 17/02/2021 |
Etablissement(s) : | Université Côte d'Azur |
Ecole(s) doctorale(s) : | École doctorale Sciences et technologies de l'information et de la communication (Sophia Antipolis, Alpes-Maritimes) |
Partenaire(s) de recherche : | Laboratoire : Laboratoire Informatique, signaux et systèmes (Sophia Antipolis, Alpes-Maritimes) - Safe Composition of Autonomous applications with Large-SCALE Execution environment |
Jury : | Président / Présidente : Pietro Michiardi |
Examinateurs / Examinatrices : Fabrice Huet, Guillaume Urvoy-Keller, Pietro Michiardi, Guillaume Pierre, Jean-Marc Pierson | |
Rapporteurs / Rapporteuses : Guillaume Pierre, Jean-Marc Pierson |
Mots clés
Résumé
Le traitement des flux de données (DSP) est un paradigme établi de Big Data qui permet de traiter et d'analyser les données en temps réel. Les applications de streaming sont composées d'une série de tâches, répliquées et réparties sur un cluster, qui effectuent des opérations sur les données entrantes, fournissant des mises à jour continues des résultats. Un large éventail de travaux a abordé plusieurs aspects du DSP : le placement des tâches, la tolérance aux pannes et la gestion des états ne sont que quelques exemples parmi tant d'autres. Dans cette thèse, on étudie les limites des plates-formes DSP actuelles, en se concentrant sur les performances du point de vue de l'application.Dans la première partie, nous analysons les mécanismes de fiabilité des messages dans les plateformes de streaming. On découvre l'étroite interdépendance entre les mécanismes des plates-formes et les algorithmes d'ordonnancement des tâches. En particulier lorsque ces mécanismes sont mis en œuvre en tant que tâches non fonctionnelles. Ainsi, on présente deux algorithmes de planification pour optimiser les performances des applications, en tenant compte de l'impact du placement des tâches non fonctionnelles.Dans la deuxième partie, on présente NAMB, un générateur de prototypes d'applications pour pallier les insuffisances des tests actuels d'applications de streaming. Tout d'abord, on introduit les principes fondamentaux sur lesquels repose NAMB, en présentant les modèles de description de haut niveau utilisés pour définir les applications de streaming. Ensuite, on illustre notre générateur de prototypes d'applications, en détaillant les défis de sa mise en œuvre. Enfin, on effectue une large évaluation, où l'on illustre de nombreux cas d'utilisation possibles de notre outil, en démontrant ses caractéristiques en tant que solution générique et flexible.