Causal Broadcast algorithms for dynamic distributed systems - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 2023

Causal Broadcast algorithms for dynamic distributed systems

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

Daniel Wilhelm
  • Fonction : Auteur
  • PersonId : 1071683
  • IdRef : 272585637

Résumé

Causal broadcast is a fundamental building block of many distributed and parallel applications, where processes collaborate to perform common tasks, such as high performance computing, distributed databases, conferencing, social networks or other services providing a service to many users. In such systems, processes often require a broadcast primitive to share information that must be ordered to be meaningful, and causal order has been proven to be the strongest order that can be implemented in systems where partitioning can occur. Existing causal broadcast algorithms are either not scalable or they do not tolerate all the dynamics introduced by processes that join and leave the system or fail during execution. Some works append on messages all the information required to causally order them at destination. However, it has been proved that a structure with one entry per process in the system is the minimal structure required to ensure the causal delivery of broadcast messages. Hence, algorithms that append all the causal information on messages do not scale. Some other works make assumptions on the system, such as the network topology or the FIFO property of the communication channels. Such works do not handle well the dynamics caused by processes that join and leave the system or fail. Hence, these works do not handle all the possible dynamics of distributed systems. In this thesis, we provide causal broadcast algorithms that do scale and tolerate the dynamics of distributed systems. We first provide causal broadcast algorithms for Mobile Networks. Such networks have specific features: limited capacities of nodes (computation, storage, energy), unreliable communication channels, and the dynamics of connections due to node mobility, node failure, and join/leave operations of nodes. In the second part, we address causal broadcast provided with constant size clocks. Constant size clocks tolerate process churn and have a size that does not depend on the number of processes. However, they do not characterize causality and algorithms using them only ensure causal order probabilistically. We first propose an error detector, based on hashes, which analyzes the constant size clocks of messages before delivering them in order to detect messages which have causal dependencies that the process did not deliver yet. Second, we propose an algorithm to retrieve the causal dependencies of messages, which we use to ensure the causal delivery of messages tagged by the error detector. Third, we propose a new clock build with constant size clocks and which adapts its size to the number of concurrent messages inside the system. We implemented the contributions on the OMNeT++ simulator. Both causal broadcast algorithms were implemented on the framework INET, which is a realistic network simulator implementing interferences on the wireless network, network layers and node mobility among others. Results confirm that the presented causal broadcast algorithms outperform existing algorithms done for Mobile Networks while making realistic network assumptions. The contributions to constant size clocks were implemented on the OMNeT++ simulator. Results show that the hash-based error detector detected all messages whose causal dependencies have not been delivered yet. Combining the hash-based error detector with the algorithm to retrieve the causal dependencies of messages allowed to deliver all messages in causal order. We analyzed the limits of the hash-based error detector and the retrieval of causal dependencies. Finally, results show that the proposed clock adapts itself well to the number of concurrent messages inside the system.
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.
Fichier principal
Vignette du fichier
WILHELM_Daniel_these_2023.pdf (1.38 Mo) Télécharger le fichier
Origine : Version validée par le jury (STAR)

Dates et versions

tel-04243915 , version 1 (26-08-2023)
tel-04243915 , version 2 (16-10-2023)

Identifiants

  • HAL Id : tel-04243915 , version 2

Citer

Daniel Wilhelm. Causal Broadcast algorithms for dynamic distributed systems. Distributed, Parallel, and Cluster Computing [cs.DC]. Sorbonne Université, 2023. English. ⟨NNT : 2023SORUS135⟩. ⟨tel-04243915v2⟩
117 Consultations
116 Téléchargements

Partager

Gmail Facebook X LinkedIn More