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

From: Jamie Lokier
Date: Wed May 14 2008 - 17:38:46 EST


Jeff Garzik wrote:
> Jamie Lokier wrote:
> >Look up "one-phase commit" or even "zero-phase commit". (The
> >terminology is cheating a bit.) As I've understood it, all commit
> >protocols have a step where each node guarantees it can commit if
> >asked and node failure at that point does not invalidate the guarantee
> >if the node recovers (if it can't maintain the guarantee, the node
> >doesn't recover in a technical sense and a higher level protocol may
> >reintegrate the node). One/zero-phase commit extends that to
> >guaranteeing a certain amounts and types of data can be written before
> >it knows what the data is, so write messages within that window are
> >sufficient for global commits. Guarantees can be acquired
> >asynchronously in advance of need, and can have time and other limits.
> >These guarantees are no different in principle from the 1-bit
> >guarantee offered by the "can you commit" phase of other commit
> >protocols, so they aren't as weak as they seem.
>
> For several common Paxos usages, you can obtain consensus guarantees
> well in advance of actually needing that guarantee, making the entire
> process quite a bit more async and parallel.
>
> Sort of a "write ahead" for consensus.

That's a lovely concise summary.

It seems all the classical texts on two-phase commit have made it
over-complicated all along. "write ahead consensus" is both faster
and simpler in many respects.

-- Jamie
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/