Thèse soutenue

De l'identification des problèmes de performance dans les systèmes distribués multi-tiers

FR  |  
EN
Auteur / Autrice : Maha Alsayasneh
Direction : Noël de Palma
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 15/05/2020
Etablissement(s) : Université Grenoble Alpes
Ecole(s) doctorale(s) : École doctorale mathématiques, sciences et technologies de l'information, informatique (Grenoble ; 199.-....)
Partenaire(s) de recherche : Laboratoire : Laboratoire d'informatique de Grenoble
Jury : Président / Présidente : Sihem Amer-Yahia
Rapporteurs / Rapporteuses : Daniel Hagimont, Pierre Sens

Résumé

FR  |  
EN

De nos jours, les systèmes distribués sont constitués de nombreuxcomposants logiciels ayant des interactions complexes et de nombreusespossibilités de configurations. Dès lors, localiser les problèmes deperformance est une tâche difficile, nécessitant une expertisehumaine et de nombreux essais. En effet, la même pile logicielle peutse comporter différemment en fonction dumatériel utilisé, de la logique applicative, des paramètres deconfiguration et des conditions de fonctionnement. Ce travail a pourobjectif (i) d’identifier un ensemble demétriques de référence, générales etfiables, pour localiser les problèmes de performance, (ii) d’identifierles caractéristiques de ces indicateurs, et (iii) deconstruire un outil qui puisse déterminer de manière automatiquesi le système a atteint sa capacité maximale en terme dedébit.Dans cette thèse, nous présentons trois contributionsprincipales. Premièrement, nous présentons une étude analytique d’ungrand nombre de configurations réalistes d’applications distribuéesmulti-tiers, se concentrant sur les chaînes de traitements desdonnées. En analysant un grand nombre de métriques au niveau logicielet matériel, nous identifions celles dont le comportement change aumoment où le système atteint sa capacité maximale. Deuxièmement, nousexploitons les techniques d’apprentissage machine pour développer unoutil capable d’identifier automatiquement les problèmes deperformance dans la chaîne de traitement de données. Pour ce faire,nous évaluons plusieurs techniques d’apprentissage machine, plusieurssélections de métriques, et différentscas de généralisation pour de nouvelles configurations. Troisièmement,pour valider les résultats obtenues sur la chaîne de traitement dedonnées, nous appliquons notre approche analytique et notre approchefondée sur l'apprentissage machine au cas d’une architecture Web.Nous tirons plusieurs conclusions de nos travaux. Premièrement, il estpossible d’identifier des métriques clés qui sont des indicateursfiables de problèmes de performance dans les systèmes distribuésmulti-tiers. Plus précisément, identifier le moment où le serveur aatteint sa capacité maximale peut être identifier grâce à cesmétriques fiables. Contrairement à l’approche adoptée par de nombreuxtravaux existants, nos travaux démontrent qu'une combinaison demétriques de différents types est nécessaire pour assurer uneidentification fiable des problèmes de performance dans un grandnombre de configurations. Nos travaux montrent aussi que les approchesfondées sur des méthodes d’apprentissage machine pour analyser lesmétriques permettent d’identifier les problèmes de performance dansles systèmes distribués multi-tiers. La comparaison de différentsmodèles met en évidence que ceux utilisant les métriques fiablesidentifiées par notre étude analytique sont ceux qui obtiennent lameilleure précision. De plus, notre analyse approfondie montre larobustesse des modèles obtenues. En effet, ils permettent unegénéralisation à de nouvelles configurations, à de nouveaux nombres declients, et à de nouvelles configurations exécutées avec de nouveauxnombres de clients. L'extension de notre étude au cas d'unearchitecture Web confirme les résultats principaux obtenus à traversl’étude sur la chaîne de traitement de données. Ces résultats ouvrentla voie à la construction d'un outil générique pour identifier demanière fiable les problèmes de performance dans les systèmesdistribués.