Subject: Re: POHMELFS high performance network filesystem. Transactions, failover, performance.

From: Jamie Lokier <[email-masked]>
Date: Wed, 14 May 2008 23:35:47 +0100

Sage Weil wrote:
> It's the 'single node' part that concerns me.  As long as that node is 
> ensuring there is consensus behind the scenes before handing out said 
> signature.  Otherwise you can't be sure you're not getting an old 
> signature for old data..

Sounds like a transaction serialisation problem?

> This is more or less what I ended up doing.  Since the workload is 
> mostly-read, the paxos leader gives non-leaders leases to process reads in 
> parallel, and new elections or state changes wait if necessary to ensure 
> old leases are revoked or expire before any new leases on new values are 
> issued.

My design has something similar, but I think more like MOESI protocol
analogous to CPUs.  There are read leases which are revoked by
explicit confirmation or waiting for them to expire, but that's only
required when serialisation forces a particular access order, and it
can be speculated around.  Like MOESI, it adapts between mostly-read
and mostly-write workloads.

-- Jamie