Thèse soutenue

Évaluer l'impact de la conception des systèmes de streaming sur la performance des applications
FR  |  
EN
Accès à la thèse
Auteur / Autrice : Alessio Pagliari
Direction : Fabrice HuetGuillaume 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

Résumé

FR  |  
EN

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.