Messages in this thread | | | Date | Wed, 14 May 2008 15:05:26 -0400 | From | Jeff Garzik <> | Subject | Re: POHMELFS high performance network filesystem. Transactions, failover, performance. |
| |
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.
Jeff
| |