@Dev14e Would strongly recommend reading Hamlet.
But even then, you won't get everything without at least PhDs in Shakespeare and Early Modern English Lit. Tom Stoppard is a mad man.
@lindsey@shachaf Good question. I hadn’t realized it wasn’t reflexive. I think the answer is vector clocks though! Look at lemma 2.4 and the way the define sup on vectors. That would actually be uglier to write with the alternately defined C(e).
@lindsey@shachaf I agree. I think making -> irreflexive is a mistake. It complicates the checking of vector clocks for ->, for instance. Obviously, it’s never going to be that big of a deal to tack on an extra clause, but still!
@openargs Penny for your thoughts on Epic v. Apple? Implications of an Epic win seem huge; no idea on the chances. It is the first lawsuit I've seen with its own trailer, though.
https://t.co/heUaX17O0G
https://t.co/XwZel5EHqm
@heidiann360@danrkports @VLDB2020 Right. If a switch and replica can bilaterally respond to a read, and you want the protocol to tolerate their failure, then they can serve stale reads. In some sense, the best you can do is rely on clocks.
@lindsey@danrkports@wilcoxjay And yeah! It’s pretty neat. It counts down to deadlines and shows birthdays, too. At one point, it showed how many hours grad students had spent on Steam in the last two weeks. That feature has been deprecated.
@lindsey@danrkports@wilcoxjay Not necessarily. You can then induct on proposal numbers. The example of the very next proposal number is just the base case.
@lindsey@danrkports@wilcoxjay When 3 gets prepared, it might see 1 or it might see 2, but either way the value it picks will be the value in question, v.
If there were a gap, (say, we saw 1 and 3 and are thinking about prepare for 4), that prepare might see 1 but also (2, v’).
@lindsey@danrkports@wilcoxjay If we have a quorum, we know that for all subsequent proposal numbers, at least one server from our quorum was involved in the prepare. Consider the very next proposal number that gets prepared after our consecutive proposal numbers. So, if we saw 1 and 2, consider proposal # 3.
@danrkports@wilcoxjay@lindsey So, if one of the proposers (say, during the first phase) sees that out of the 3 acceptors, one accepted (v, 1) and another accepted (v, 2), it can immediately conclude that v was chosen. No need to try again with a higher proposal number.
@danrkports@wilcoxjay@lindsey Just now seeing this (thanks to monitor displaying tweets in the lab).
You actually can optimize this in a real way. Namely, you can say that a value v is chosen if there is a majority accepting that value with *consecutive* (not identical) proposal numbers.