Goxos Reliable Datagram Protocol
Abstract
Multiple computers working together as a single distributed system is becoming
increasingly common. State machine replication is an approach used to ensure fault
tolerance in such distributed systems. Goxos is a framework, based on the consensus
algorithm Paxos, which can be used to builds such fault tolerant replicated state
machine systems.
In this thesis, we aim to leverage the fact that Paxos does not depend on reliable
communication to ensure consistency among the replicated state machines, to
implement a new datagram-based communications protocol. A new protocol with
low overhead and fast transmission, intended to be used by the Goxos framework.
Paxos requires some form of retransmission to ensure that progress can be made.
To this end, the new protocol features a sliding window protocol with selective retransmission.
In addition, the new protocol features various other transport layer
mechanisms. The mechanisms were selected by first examining some of the functionality
commonly provided by other communication protocols. Then, different
variations of the mechanisms were compared in experiments and a final incarnation
of the protocol was compared to the original Goxos implementation.
Though the new protocol does not surpass the original Goxos implementation
when it comes to performance, it delivers a viable throughput, not far from the
original’s. In addition, by being implemented in user space, and having a modular,
layered structure, the new protocol is open and accessible for further modifications
and improvements.
Description
Master's thesis in Computer science