Using broadcast primitives in replicated databases

We explore the use of different variants of broadcast protocols for managing replicated databases. Starting with the simplest broadcast primitive, the reliable broadcast protocol, we show how it can be used to ensure correct transaction execution. The protocol is simple, and has several advantages, including prevention of deadlocks. However, it requires a two-phase commitment protocol for ensuring correctness. We then develop a second protocol that uses causal broadcast and avoids the overhead of two-phase commit by exploiting the causal delivery properties of the broadcast primitives to implicitly collect the relevant information used in two-phase commit. Finally, we present a protocol that employs atomic broadcast and completely eliminates the need for acknowledgements during transaction commitment.

[1]  Irving L. Traiger,et al.  The notions of consistency and predicate locks in a database system , 1976, CACM.

[2]  J. T. Robinson,et al.  On optimistic methods for concurrency control , 1979, TODS.

[3]  David K. Gifford,et al.  Weighted voting for replicated data , 1979, SOSP '79.

[4]  Louise E. Moser,et al.  Broadcast Protocols for Distributed Systems , 1990, IEEE Trans. Parallel Distributed Syst..

[5]  Yair Amir,et al.  Transis: A Communication Sub-system for High Availability , 1992 .

[6]  Kenneth P. Birman,et al.  Replication and fault-tolerance in the ISIS system , 1985, SOSP '85.

[7]  Robbert van Renesse,et al.  Reliable Distributed Computing with the Isis Toolkit , 1994 .

[8]  Sam Toueg,et al.  Unreliable failure detectors for reliable distributed systems , 1996, JACM.

[9]  Rachid Guerraoui,et al.  Exploiting Atomic Broadcast in Replicated Databases , 1998, Euro-Par.

[10]  Emmanuelle Anceaume,et al.  On the Formal Specification of Group Membership Services , 1994 .

[11]  André Schiper,et al.  Primary Partition "Virtually-Synchronous Communication" harder than Consensus , 1994, WDAG.

[12]  Michel Raynal,et al.  From serializable to causal transactions for collaborative applications , 1997, EUROMICRO 97. Proceedings of the 23rd EUROMICRO Conference: New Frontiers of Information Technology (Cat. No.97TB100167).

[13]  Divyakant Agrawal,et al.  An efficient and fault-tolerant solution for distributed mutual exclusion , 1991, TOCS.

[14]  Danny Dolev,et al.  The Transis approach to high availability cluster communication , 1996, CACM.

[15]  Gil Neiger A new look at membership services (extended abstract) , 1996, PODC '96.

[16]  Louise E. Moser,et al.  The Totem single-ring ordering and membership protocol , 1995, TOCS.

[17]  Louise E. Moser,et al.  Totem: a fault-tolerant multicast group communication system , 1996, CACM.

[18]  André Schiper,et al.  From group communication to transactions in distributed systems , 1996, CACM.

[19]  Louise E. Moser,et al.  Extended virtual synchrony , 1994, 14th International Conference on Distributed Computing Systems.

[20]  Aleta Marie Ricciardi,et al.  The Group Membership Problem in Asynchronous Systems , 1993 .

[21]  Andrew S. Tanenbaum,et al.  Group communication in the Amoeba distributed operating system , 1991, [1991] Proceedings. 11th International Conference on Distributed Computing Systems.

[22]  Richard D. Schlichting,et al.  Fail-stop processors: an approach to designing fault-tolerant computing systems , 1983, TOCS.

[23]  Divyakant Agrawal,et al.  Locks with constrained sharing , 1990, PODS 1990.

[24]  Gianluca Dini,et al.  Replicated File Management in Large-Scale Distributed Systems , 1994, WDAG.

[25]  Mamoru Maekawa,et al.  A N algorithm for mutual exclusion in decentralized systems , 1985, TOCS.

[26]  Bernadette Charron-Bost,et al.  On the impossibility of group membership , 1996, PODC '96.

[27]  Yair Amir,et al.  Membership Algorithms for Multicast Communication Groups , 1992, WDAG.

[28]  David P. Reed,et al.  Naming and synchronization in a decentralized computer system , 1978 .

[29]  Divyakant Agrawal,et al.  Using broadcast primitives in replicated databases (abstract) , 1997, PODC '97.

[30]  Yair Amir,et al.  Transis: a communication subsystem for high availability , 1992, [1992] Digest of Papers. FTCS-22: The Twenty-Second International Symposium on Fault-Tolerant Computing.