Send/Receive Patterns versus Read/Write Patterns: the MB-Broadcast Abstraction (Extended Version)
Résumé
This paper is on the power and computability limits of messages patterns in crash-prone asynchronous message-passing systems. It proposes and investigates three basic messages patterns (encountered in all these systems) each involving two processes, and compares them to their Read/Write counterparts. It is first shown that one of these patterns has no Read/Write counterpart. The paper proposes then a new one-to-all broadcast abstraction, denoted Mutual Broadcast (in short MBroadcast), whose implementation relies on two of the previous messages patterns. This abstraction provides each pair of processes with the following property (called mutual ordering): for any pair of processes p and p ′ , if p broadcasts a message m and p ′ broadcasts a message m ′ , it is not possible for p to deliver first (its message) m and then m ′ while p ′ delivers first (its message) m ′ and then m. It is shown that MBroadcast and atomic Read/Write registers have the same computability power (independently of the number of crashes). Finally, in addition to its theoretical contribution, the practical interest of MBroadcast is illustrated by its (very simple) use to solve basic upper level coordination problems such as mutual exclusion and consensus. Last but not least, looking for simplicity was also a target of this article.
Origine | Fichiers produits par l'(les) auteur(s) |
---|