Girish Mahajan (Editor)

Atomic broadcast

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit

In distributed systems, atomic broadcast or total order broadcast is a broadcast messaging protocol that ensures that messages are received reliably and in the same order by all participants. Distributed systems are ones where each computer runs independently toward a common goal, and as a result, designing a successful atomic broadcast system is a significant challenge.

Atomic broadcast is a fundamental problem in distributed computing. A successful system must be a reliable broadcast. In addition, such a system must satisfy the total order property. This means that if computer A sends message 1 first and message 2 second, a success means that computer B receives both messages and that it receives message 1 before message 2. Atomic broadcasts are simple when computers are correct, meaning that they never fail. However, real computers are faulty, and do fail, and even if failures are temporary, this is where the challenge results.

The following properties are usually required from an atomic broadcast protocol.

  1. Validity means that if a correct participant broadcasts a message, then all correct participants will eventually receive it.
  2. Uniform Agreement means that if a participant delivers a message, then all correct participants will eventually deliver it as well.
  3. Uniform Integrity means that any given message is delivered by each participant at most once, and only if it was previously broadcast.

The definitions for validity and integrity may be sometimes formulated in different way. E.g. Michel Raynal et al. and Schiper et al. define validity property of atomic broadcast slightly differently, but the main requirement that messages are broadcast in the correct order remains.

A number of protocols have been proposed for performing atomic broadcast, under various assumptions about the network, failure models, availability of hardware support for multicast, and so forth. One widely popular technology in which atomic broadcast is available as a primitive is virtual synchrony, a kind of computing 'model' used for fault tolerance and data replication in many real-world systems and products.

References

Atomic broadcast Wikipedia