A communication-efficient causal broadcast publish/subscribe system
Un système de publication/abonnement efficace et respectant l'ordre causale
Résumé
Widely applied by many approaches, the Publish/Subscribe (Pub/Sub) paradigm enables
nodes of a distributed system to disseminate information asynchronously. However, several
existing Pub/Sub solutions present some limitations such as network contention of published
messages or do not ensure causal order of delivered messages.
This thesis investigates how to provide a communication-efficient Pub/Sub system, that respects
causal order of delivered messages within the same topic and copes with problems of
traffic overhead and message contention that exist in several tree-based solutions. Contrarily to
several existing tree-based broadcast protocols, the contributions presented in this thesis build
distributed spanning trees on top of a hypercube-like topology, such that trees rooted at different
nodes are differently organized.
The first contribution of the thesis consists of a causal broadcast protocol which reduces
network traffic by aggregating messages without the use of timers. It exploits causal order of
messages and common paths between different broadcast trees: the forwarding of some messages
can be delayed and then combined with others, reducing message traffic. Different from existing
timer-based approaches, it does not increase delivery latency.
The second contribution is a new topic-based Pub/Sub system, the VCube-PS, which ensures
causal delivery order for messages published to the same topic. While several other tree-based
Pub/Sub approaches use one tree per topic and rendezvous points, VCube-PS creates a new
spanning tree rooted on the source of every message that is published. Such a per-publisher tree
approach reduces node contention when compared to the single tree one, specially in scenarios
with “hot topics”, i.e., topics with high publication rates. Furthermore, the spanning tree built
to disseminate a message associated to a given topic is composed only by known subscribers of
the topic.
Both contributions were implemented on top of the event-driven simulator PeerSim and
were assessed according to different metrics and scenarios. Results confirm that the proposed
causal aggregation protocol reduces both network traffic and delivery latencies. Moreover, it also
reduces the number of non-deliverable messages that are kept in nodes’ buffers. Concerning the
proposed Pub/Sub system, when compared to approaches with one single tree per topic, VCube-
PS presented the lowest latency results when in presence of “hot topics”, since it intrinsically
provides load balancing of dissemination paths. Moreover, VCube-PS generates less message
traffic than the former and the extra delay necessary to ensure causal delivery order represents
only a small percentage of the end-to-end latency.
Largement utilisé par de nombreuses approches, le paradigme de Publication/Abonnement
(Publish/Subscribe, Pub/Sub) permet aux noeuds d’un système distribué de diffuser des informations
de manière asynchrone. Cependant plusieurs solutions de Pub/Sub existantes présentent
certaines limitations, telles que la contention des messages publiés ou la non garantie de l’ordre
causal des messages délivrés.
Cette thèse propose un système de Pub/Sub efficace, qui respecte l’ordre causal des messages
publiés dans le même sujet (topic). Le système résout les problèmes d’overhead de trafic et de
conflits de messages existant dans plusieurs solutions basées sur des arbres couvrants. Contrairement
à plusieurs protocoles de diffusion existants basés sur des arbres, les contributions présentées
dans cette thèse construisent des arbres couvrants répartis sur une topologie en hypercube, de
telle sorte que les arbres avec différentes racines soient organisés différemment.
La première contribution de la thèse est un protocole de diffusion causale qui réduit le trafic
réseau en agrégeant des messages sans utiliser de temporisateur. Ce protocole exploite l’ordre
causal des messages et les chemins communs entre différents arbres couvrants pour agréger des
messages. À la différence des approches existantes basées sur des temporisateurs, ce protocole
n’augmente pas le temps d’attente avant la livraison des messages.
La deuxième contribution est un nouveau système de Pub/Sub basé sur des sujets, le VCube-
PS, qui assure l’ordre de livraison causal des messages publiés sur le même sujet. Tandis que
plusieurs autres approches utilisent un arbre par sujet, VCube-PS crée un nouvel arbre couvrant
pour chaque message publié, où la racine de l’arbre est la source du message. Cette approche
permet de réduire le problème de contention par rapport à des solutions avec un seul arbre par
sujet, en particulier dans les scénarios comportant des “hot topics”, c’est-à-dire des sujets avec
des taux de publication élevés. De plus, l’arbre couvrant construit pour diffuser un message
associé à un sujet donné est composé uniquement par les abonnés du sujet.
Les deux contributions ont été simulées avec PeerSim et ont été évaluées selon différents
paramètres et scénarios. Les résultats confirment que le protocole d’agrégation causale proposé
réduit à la fois le trafic réseau et les latences de livraison. En outre, cela réduit également le
nombre de messages non livrables conservés dans les buffers des noeuds. En ce qui concerne
le système de Pub/Sub proposé, VCube-PS présente les résultats de latence les plus faibles en
présence de “hot topics” par rapport aux approches avec un seul arbre par sujet, car il fournit
intrinsèquement une répartition de charge des chemins de diffusion. De plus, VCube-PS génère
moins de trafic de messages et le délai supplémentaire nécessaire pour garantir l’ordre de livraison
causal ne représente qu’un faible pourcentage de la latence.
Origine | Fichiers produits par l'(les) auteur(s) |
---|
Loading...