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 causale pour les systèmes répartis dynamiques

Résumé

Causal broadcast is a fundamental building block of many distributed or parallel applications such as distributed databases, pub-sub, or social networks, which all need to share information among all participants (e.g., processes, machines, etc...) while respecting the causality among exchanged messages. Existing causal broadcast algorithms for distributed systems either do not scale, or they do not tolerate the system dynamics caused by processes which, during execution, join and leave the system, fail, or change their set of communication channels. Some works append to messages all the information required to causally order them at destination. However, it has been proved that to track causality when broadcasting messages, the minimal required structure has one entry per process in the system. Hence, causal broadcast algorithms using such a structure to track causality do not scale. Some other works scale by making assumptions on the system, such as the network topology or the FIFO property of communication channels. On the other hand, they do not tolerate all possible dynamics of distributed systems. In this thesis, we propose causal broadcast algorithms that both scale and tolerate the dynamics of distributed systems. The first proposed algorithm provides a causal broadcast for Mobile Networks, composed of mobile hosts and support stations. Mobile hosts are connected to support stations through a wireless network, and support stations are connected with each other by wired channels. Mobile networks have specific features: limited capacities of mobile nodes (computation, storage, energy), unreliable communication channels, and the dynamics of connections due to the mobility of node, failures, and join/leave operations. The second part of this thesis addresses causal broadcast implemented with clocks of $M$ ($M\leq N$) entries, where $N$ corresponds to the number of processes in the system. Such clocks tolerate process churn and scale since their size is independent to the number of processes in the system. However, they do not characterize causality and algorithms using them may deliver messages out of causal order. We first propose an error detector, based on hashes, which analyzes the clock of messages before delivering them in order to detect those messages that are not causally ordered. We then propose an algorithm that ensures that messages tagged by the error detector as not causally ordered are delivered in causal order. Second, we propose Dynamic Clock Sets (DCS clocks), a new logical clock composed of a set of clocks with $M\leq N$ entries (where $N$ is the number of process of the system), and whose size can be changed during execution. All the proposed algorithms were implemented in C++ and executed on the OMNeT++ simulator. The causal broadcast algorithm for Mobile Networks was implemented on the framework INET of OMNeT++ which provides a realistic network simulation such as interferences on the wireless network, network layers and node mobility among others. Results confirm that our broadcast algorithm for Mobile Networks outperforms existing ones while making realistic network assumptions. Concerning the hash-based error detector, results show that it detects all not causally ordered messages. Finally, experiments conducted with a causal broadcast implemented with DCS clocks demonstrate that DCS clocks adapt their size well and fast to the number of concurrent messages of the system.
La diffusion causale est un élément fondamental de nombreux applications distribuées ou parallèles, telles que les bases de données distribuées, les publications-abonnements, ou les réseaux sociaux, qui ont tous besoin de partager des informations entre tous les participants (par exemple, les processus, machines, etc...), tout en respectant la causalité entre les messages échangés. Les algorithmes de diffusion causale existants ne passent soit pas à l'échelle, soit ne tolèrent pas toute la dynamicité introduite par les processus qui rejoignent ou quittent le système, qui échouent pendant l'exécution, ou qui modifient leur ensemble de canaux de communication. Certains travaux ajoutent aux messages toutes les informations nécessaires pour les ordonner causalement à la réception. Cependant, il a été prouvé que caractériser la causalité de messages de diffusion nécessite une structure avec au minimum une entrée par processus dans le système. Par conséquent, les algorithmes qui utilisent une telle structure pour caractériser la causalité ne passent pas à l'échelle. D'autres travaux passent à l'échelle en faisant des hypothèses sur le système, comme la topologie du réseau ou la propriété FIFO des canaux de communication. En revanche, ils ne tolèrent pas toutes les dynamiques possibles des systèmes distribués. Dans cette thèse, nous proposons des algorithmes de diffusion causale qui passent à l'échelle et tolèrent les dynamiques des systèmes distribués. Le premier algorithme fournit une diffusion causale pour les réseaux mobiles, composés de nœuds mobiles connectés par un réseau sans fil et de stations de support connectées par des canaux filaires. Ces réseaux ont des caractéristiques spécifiques: des nœuds mobiles avec des capacités limitées (calcul, stockage, énergie), des canaux de communication non fiables, et de la dynamicité de connexions dues à la mobilité et aux pannes de nœuds, ainsi qu'à leur opérations d'entrée et sortie du système. La deuxième partie de la thèse aborde la diffusion causale mise en œuvre avec des horloges de $M$ ($M\leq N$) entrées, où $N$ correspond au nombre de processus. Ces horloges tolèrent la variation du nombre de processus dans le système car leur taille ne dépend pas du nombre de processus dans le système. Cependant, elles ne caractérisent pas la causalité et les algorithmes les utilisant ne peuvent assurer l'ordre causal qu'avec une forte probabilité. Nous proposons tout d'abord un détecteur d'erreurs, basé sur des hachages, qui analyse l'horloge des messages avant de les délivrer afin de détecter les messages qui ne sont pas causalement ordonnés. Nous proposons ensuite un algorithme qui garantit que les messages marqués par le détecteur d'erreurs sont livrés dans l'ordre causal. Ensuite, nous proposons les Dynamic Clock Sets (DCS clocks), une nouvelle horloge logique qui est composée d'un ensemble d'horloges avec $M\leq N$ entrées (avec $N$ étant le nombre de processus du système), et dont la taille peut être adaptée au nombre de messages concurrents dans le système. Tous les algorithmes ci-dessus ont été implémentés en C++ et exécutés sur le simulateur OMNeT++. L'algorithme de diffusion causale pour les réseaux mobiles a été implémenté sur le framework INET d'OMNeT++, qui fournit une simulation de réseau réaliste, telle que des interférences sur le réseau sans fil, des couches réseau et la mobilité des nœuds, entre autres. Les résultats confirment que notre algorithme de diffusion pour les réseaux mobiles est plus performant que les algorithmes existants tout en faisant des hypothèses moins forte et réalistes sur le réseau. Les résultats expérimentaux sur le détecteur d'erreurs basé sur les hachages montrent qu'il détecte tous les messages dont les dépendances causales n'ont pas encore été livrées. Enfin, les expériences menées avec une diffusion causale implémentée avec les DCS clocks montrent que les DCS clocks s'adaptent bien et rapidement au nombre de messages concurrents dans le système.
Fichier principal
Vignette du fichier
mythesis (1).pdf (1.38 Mo) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)

Dates et versions

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

Licence

Copyright (Tous droits réservés)

Identifiants

  • HAL Id : tel-04243915 , version 1

Citer

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

Partager

Gmail Facebook X LinkedIn More