Skip to content

Instantly share code, notes, and snippets.

@mrb
Created August 4, 2013 18:51
Show Gist options
  • Save mrb/6151432 to your computer and use it in GitHub Desktop.
Save mrb/6151432 to your computer and use it in GitHub Desktop.

V: The V distributed system was developed at Stanford University as part of a research project to explore communication issues in distributed systems. The pro- cess group abstraction was introduced there to encapsulate distribution (Cheriton and Zwaenepoel 1985).

Amoeba: The Amoeba microkernel-based distributed operating system was devel- oped at the Vrije University of Amsterdam to devise applications on a collection of workstations or single board computers (Kaashoek et al. 1989).

Delta-4: The Delta-4 project was a European research project under the ESPRIT Programme that defined an architecture to build dependable system based on reliable (group) communication abstractions. Many of the ideas underlying Delta- 4 were later incorporated in the FT-CORBA standard (Powell 1991, 1994).

Replicated RPC: Circus was one of the first systems to use the group com- munication abstraction to access replicated servers. It included a replicated remote-procedure call facility implemented in Berkeley Unix (Cooper 1984a,b).

ISIS, Horus, Ensemble, and Spinglass: The ISIS system was developed at Cornell University to realize and experiment with the abstractions of group membership and the view-synchronous communication (Birman and Joseph 1987). ISIS, the first in a suite of four related systems, was a commercial prod- uct that was deployed in air-traffic control and stock-market applications. For many years, it represented the reference system in the area (Birman and van Renesse 1993; Birman 1999). Horus was a modular implementation of ISIS (van Renesse et al. 1996), and Ensemble was an implementation of Horus written in the ML programming language with several optimizations of the communica- tion stack (Hayden 1998). Spinglass, the youngest in the family, was based on gossip-based algorithms and designed for highly scalable systems (Birman et al. 2001).

Transis: Transis is a group communication system developed at the Hebrew Uni- versity of Jerusalem. It defines algorithms for both local-area and wide-are networks. The work on this system highlighted the importance of uniform primitives (Amir et al. 1992).

Psync, Consul, Cactus, and Coyote: Psync was the first one in a suite of group communication systems inspired by the x-kernel protocol composition frame- work (Peterson et al. 1989). Consul was one of the first systems to relax total order based on application semantics for improved performance (Mishra et al. 1993). Cactus was a follow-up on Consul based on a microprotocol decom- position of group services. Many useful lessons on protocol composition were extracted from this work (Bhatti et al. 1998).

GARF, OGS, and BAST: These constitute a suite of distributed programming libraries developed at EPFL. The consensus abstraction was promoted as a first class citizen of the libraries. A fine-grained composition methodology was pro- posed to guide the programmer (Garbinato et al. 1995; Felber and Guerraoui 2000; Guerraoui et al. 2000).

Arjuna: Arjuna is an object-oriented distributed system developed at the Uni- versity of Newcastle upon Tyne, which integrates group communication and transaction abstractions (Parrington et al. 1995).

Totem: Developed at the University of California at Santa Barbara, Totem is a group communication protocol suite well-known for a very efficient implemen- tation of total order broadcast on a LAN. It was used to build FT-CORBA compliant systems (Moser et al. 1995; Amir et al. 1995).

Spread: Spreadisagroupcommunicationsystemwithsupportforwide-areacom- munication and provides also message encryption and authentication (Amir et al. 2000; Spread Concepts LLC 2010).

JGroups: Written in Java, JGroups is a group communication protocol suite tar- geted at application servers and data centers; it is widely used at the time of writing this book (Ban 2010).

PBFT: This implementation of Byzantine total-order broadcast using the PBFT algorithm has been developed at the Massachusetts Institute of Technology (Castro and Liskov 2002). Because it is freely available, it has been taken up and extended by several other research projects that build systems for secure distributed programming in the fail-arbitrary model.

SINTRA: The Secure Intrusion-Tolerant Replication Architecture (SINTRA) prototype was developed at IBM Research in order to demonstrate Byzan- tine total-order broadcast and randomized Byzantine consensus primitives using cryptography (Cachin and Poritz 2002).

UpRight: UpRight is an open-source library for crash-tolerant and Byzantine- tolerant state machine replication (Clement et al. 2009). It incorporates ideas from some of the most efficient Byzantine total-order broadcast protocols devel- oped after the appearance of PBFT.

BFT-SMaRt: SMaRtisahigh-performanceByzantine-fault-tolerantstatemachine replication library developed in Java with simplicity and robustness as primary requirements (Bessani and Sousa 2010). Its main objective is to provide a code base for building dependable services and for implementing new algorithms.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment