gluster-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gluster-devel] Can I bring a development idea to Dev's attention?


From: Ed W
Subject: [Gluster-devel] Can I bring a development idea to Dev's attention?
Date: Thu, 23 Sep 2010 21:32:32 +0100
User-agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.9) Gecko/20100915 Lightning/1.0b2 Thunderbird/3.1.4

 Hi Glusterfs Dev's,

I might be trying to teach you to suck eggs, but I was reading through the publications on http://www.xtreemfs.org/publications.php and one of the ideas there seemed very relevant to gluster

Please have a look at their FatLease papers and the Paxos lease negotiation algorithm. It was new to me, but seems like an elegant and robust (google use it) way of managing a distributed lock scenario?

In particular it would seem to be a very interesting way to introduce the idea of optimistic locking to the gluster type infrastructure. What I'm thinking here is the situation where you have a client talking to a single brick in a replicated set, that it can effectively optimistically lock a localised set of files/directories on that brick and so further reads/modifications can be lazily written out to other servers (without compromising coherency). If a read/write goes to one of the other replicas then of course it must first break the other servers optimistic lock before continuing and effectively you temporarily revert back to the current situation where every file access causes a network access to all other servers.

The win is clearly where you end up with clients localising their access for certain files to certain servers and that server will then benefit from holding an optimistic lock, since no network activity is generated for further read access and lazy writes become possible without split brain risk.

eg consider a master/master setup with serveral webservers. Especially where each physical machine touches only a subset of the files (eg each machine usually only serves a subset of data), then that machine can start to access the gluster share at basically native disk speeds, having acquired an optimistic lock on that subset of data (no need to check with other bricks since we now have a lock on the data). This would seem to be a huge win for a large class of problems?

(Thinking about it another way, it's a bit like a standard optimistic locking architecture, where one server gets promoted to become the master reader/writer at a time (for a subset of files) and no other server can read/write those files without first breaking the lock by requesting to become the master. The difference is that Paxos allows this to be done robustly and efficiently without a centralised lock server)

The clever part seems to be the fairly stateless method that is used to bootstrap a system with stateful leases (read the publications). I hadn't come across the Fatlease/Paxos idea before and it seems extremely clever

Cheers

Ed W



reply via email to

[Prev in Thread] Current Thread [Next in Thread]