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...
Main Author: | |
---|---|
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 |
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. |
---|