Gorums

A Framework for Building Quorum-based Distributed Systems

Gorums is a novel framework for building fault tolerant distributed systems. Gorums offers a flexible and simple quorum call abstraction, used to communicate with a set of processes, and to collect and process their responses. Gorums provides separate abstractions for selecting processes for a quorum call and processing replies. These abstractions simplify the main control flow of protocol implementations, especially for quorum-based systems, where only a subset of the replies to a quorum call need to be processed.

Gorums uses code generation to produce an RPC library that clients can use to invoke quorum calls. Gorums is a wrapper around the gRPC library. Services are defined using the protocol buffers interface definition language.

Thesis Projects Associated With Gorums

  • John Ingve Olsen and Hans Erik Frøyland, Implementing HotStuff with Gorums, 2020.
  • Tor Christian Frausing, Reconfiguration Abstractions for Gorums: Providing Out-of-the-box Reconfiguration to Systems Using the Gorums Framework, 2018.
  • Patrick Håland, Chain Replication in the XFT Model, 2018.
  • Sebastian Mæland Pedersen, Reconfiguring Raft using Gorums, 2017.