A Distributed Lock Manager Using Paxos : Design and Implementation of Warlock, a Consensus Based Lock Manager

Locking primitives are one of the mechanisms used by distributed systems to synchronize access to shared data or to serialize their actions. Depending on the design, the locking service may constitute a single point of failure. This requires the manager itself to be distributed. Distributed solution...

Full description

Bibliographic Details
Main Author: Yethadka, Sukumar
Format: Others
Language:English
Published: Uppsala universitet, Institutionen för informationsteknologi 2013
Online Access:http://urn.kb.se/resolve?urn=urn:nbn:se:uu:diva-198324
Description
Summary:Locking primitives are one of the mechanisms used by distributed systems to synchronize access to shared data or to serialize their actions. Depending on the design, the locking service may constitute a single point of failure. This requires the manager itself to be distributed. Distributed solutions that address this using weak consistency models might lead to diverging states which in some cases are not possible to merge within acceptable effort. Solutions that are based on strong consistency models dictate the requirement of a static cluster. We propose a design that combines Multi-Paxos algorithm with a reconfigurable state machine for a locking service. The primary goal of the service is strong consistency with availability and performance as secondary requirements. We demonstrate  the feasibility of such a design by implementing it in Erlang and testing it to check if it conforms to specified requirements. We demonstrate  that it can provide the throughput required for a large web application while guaranteeing strong consistency.