Jump to content

Talk:Gbcast

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia

Initial posting posting today. Disclosure: I work with many of the researchers who contributed to this topic. --Dentwoo (talk) 20:47, 9 July 2012 (UTC)[reply]

In fact, I wrote this page, then shared it with experts in the area (Danny Dolev, Dahliia Malkhi, Robbert Van Renesse, others). They suggested many changes, and eventually the page converged to this version. Obviously, I myself have a conflict here, but by now this reflects the views of about ten people (I listed names of those who said they didn't mind my doing so). Hopefully, that reduces the COI issue.

The page itself seems to be needed on the basis of discussion about Gbcast on the Paxos page a few months ago. The issue raised was the degree to which Gbcast is an early version of Paxos. The bisimulation shown here responds to that question. Ken Birman (talk) —Preceding undated comment added 17:14, 10 July 2012 (UTC)[reply]

Durability

[edit]

Ken, I feel that it is slightly disengenous of you to claim that Gbcast bisimulates Paxos when ignoring durability, since Gbcast pushes durability into the application (which is expected to log its own state, if total failures will occur and recovery without loss of state is desired), while Paxos treats durability of the log as basic correctness property. I've revised the two sections that discuss this to make that point.

In fact I think you could consider adding a whole discussion of durability. I find that Paxos can be hard to use because it insists on replaying EVERY message in the log after a failure. If I want less, I have to truncate the log: Paxos, in effect, treats garbage collection as an application-specific property. And further, seemingly assumes the application is idempotent, since some commands may be replayed multiple times. It is not possible to safely use Paxos with an application that is stateful, but not idempotent.

In contrast Gbcast is just a stateless atomic multicast, but by dropping durability into the lap of the developer leaves the application to implement any needed logging. Systems like Isis2 automate logging, but it is not obvious that they do so in a way that accomplishes exactly the same durability properties as Paxos. It would be fun to study that carefully.

At any rate, I hope you are comfortable with this small clarification I've made.

66.152.121.104 (talk) 19:09, 10 August 2015 (UTC)[reply]

-- Actually, I'm fine with this revision. I think your point is good. Ken Birman (talk) 15:04, 11 August 2015 (UTC)[reply]