Thèse soutenue

Algorithmes de diffusion ordonnée dans les systèmes répartis dynamiques

FR  |  
EN
Auteur / Autrice : Daniel Wilhelm
Direction : Pierre SensLuciana Arantes
Type : Thèse de doctorat
Discipline(s) : Sciences et technologies de l'information et de la communication
Date : Soutenance le 17/05/2023
Etablissement(s) : Sorbonne université
Ecole(s) doctorale(s) : École doctorale Informatique, télécommunications et électronique de Paris
Partenaire(s) de recherche : Laboratoire : LIP6 (1997-....)
Jury : Président / Présidente : Maria Potop-Butucaru
Examinateurs / Examinatrices : Colette Johnen
Rapporteurs / Rapporteuses : Achour Mostefaoui, Matthieu Roy

Mots clés

FR  |  
EN

Résumé

FR  |  
EN

La diffusion causale est un élément fondamental de nombreux systèmes distribués et parallèles, où les processus collaborent pour effectuer des tâches communes, telles que le calcul à haute performance, les bases de données distribuées, les conférences, les réseaux sociaux ou d'autres services fournissant un service à de nombreux utilisateurs. Dans de tels systèmes, les processus ont souvent besoin d'une primitive de diffusion pour partager des informations qui doivent être ordonnées pour avoir un sens, et l'ordre causal a été prouvé être l'ordre le plus fort qui peut être implémenté dans des systèmes dans lesquels des partitionnements peuvent se produire. Les algorithmes de diffusion causale existants ne sont soit pas évolutifs, soit ils ne tolèrent pas toutes les dynamiques introduites par les processus qui rejoignent et quittent le système ou qui sont fautifs pendant l'exécution. Dans cette thèse, nous proposons des algorithmes de diffusion causale qui passent à l'échelle et qui tolèrent les dynamiques des systèmes distribués. Nous proposons d'abord des algorithmes de diffusion causale pour les réseaux mobiles. Ces réseaux ont des caractéristiques spécifiques : des capacités limitées des nœuds (calcul, stockage, énergie), des canaux de communication peu fiables et la dynamique des connexions due à la mobilité des nœuds, à l'échec des nœuds et aux nœuds qui rejoignent et quittent le système durant l'exécution. Dans la deuxième partie, nous abordons la diffusion causale fournie avec des horloges de taille constante. Les horloges de taille constante tolèrent les processus qui rejoignent et quittent le système, et ils ont une taille qui ne dépend pas du nombre de processus. Cependant, elles ne caractérisent pas la causalité et les algorithmes les utilisant ne garantissent l'ordre causal que de manière probabiliste. Nous proposons d'abord un détecteur d'erreurs, basé sur le hachage, qui analyse les horloges de taille constante des messages avant de les livrer afin de détecter les messages qui ont des dépendances causales que le processus n'a pas encore livré. Deuxièmement, nous proposons un algorithme pour récupérer les dépendances causales des messages, que nous utilisons pour assurer la livraison causale des messages marqués par le détecteur d'erreurs. Troisièmement, nous proposons une nouvelle horloge, dénommée horloge de taille dynamique, composée d'horloges probabilistes, et dont la taille peut être modifiée durant l'exécution. La taille de l'horloge peut plus particulièrement s'adapter à la quantité de messages concurrents à l'intérieur du système. Nous avons implémentés les contributions sur le simulateur OMNeT++. Les deux algorithmes de diffusion causale pour réseaux mobiles ont été implémentés dans le framework INET, qui est un simulateur de réseau réaliste implémenté sur le simulateur OMNeT++, et qui implémente entre autres les interférences sur le réseau sans fil, les couches de réseau et la mobilité des nœuds. Les résultats confirment que les algorithmes de diffusion causale présentés surpassent les algorithmes existants pour les réseaux mobiles tout en faisant des hypothèses de réseau plus réalistes que la majorité d'entre eux. Les contributions aux horloges de taille constante ont été implémentées sur le simulateur OMNeT++. Les résultats montrent que le détecteur d'erreurs basé sur le hachage a détecté tous les messages délivrés en dehors de l'ordre causal. En combinant le détecteur d'erreurs basé sur le hachage avec l'algorithme pour récupérer les dépendances causales des messages, nous avons pu livrer tous les messages dans l'ordre causal. Nous avons analysé les limites du détecteur d'erreurs basé sur le hachage et la récupération des dépendances causales. Enfin, les résultats montrent que la nouvelle horloge proposée s'adapte bien au nombre de messages concurrents à l'intérieur du système.