[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20080514213825.GC23758@shareable.org>
Date: Wed, 14 May 2008 22:38:25 +0100
From: Jamie Lokier <jamie@...reable.org>
To: Jeff Garzik <jeff@...zik.org>
Cc: Evgeniy Polyakov <johnpol@....mipt.ru>,
Sage Weil <sage@...dream.net>, linux-kernel@...r.kernel.org,
netdev@...r.kernel.org, linux-fsdevel@...r.kernel.org
Subject: Re: POHMELFS high performance network filesystem. Transactions, failover, performance.
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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists