Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

Lecture 17: Eventual Consistency, Bayou

预习

Managing Update Conflicts in Bayou,a Weakly Connected Replicated Storage Syste

FAQ

  1. A lot of Bayou's design is driven by the desire to support disconnected operation. Is that still important today?
  2. Doesn't widely-available wireless Internet mean everyone is connected all the time?
  3. Bayou supports direct synchronization of one device to another, e.g. over Bluetooth or infrared, without going through the Internet or a server. Is that important?
  4. Does anyone use Bayou today? If not, why are we reading this paper?
  5. Has the idea of applications performing conflict resolution been used in other distributed systems?
  6. Do companies like Dropbox use protocols similar to Bayou?
  7. What does it mean for data to be weakly consistent?
  8. Is eventual consistency the best you can do if you want to support disconnected operation?
  9. It seems like writing dependency checks and merge procedures for a variety of operations could be a tough interface for programmers to handle. Is there anything I'm missing there?
  10. Is the primary replica a single point of failure?
  11. How do dependency checks detect Write-Write conflicts? The paper says "Such conflicts can be detected by having the dependency check query the current values of any data items being updated and ensure that they have not changed from the values they had at the time the Write was submitted", but I don't quite understand in this case what the expected result of the dependency check is.
  12. When are dependency checks called?
  13. If two clients make conflicting calendar reservations on partitioned servers, do the dependency checks get called when those two servers communicate?
  14. It looks like the logic in the dependency check would take place when you're first inserting a write operation, but you wouldn't find any conflicts from partitioned servers.
  15. What are anti-entropy sessions?
  16. What is an epidemic algorithm?
  17. Why are Write exchange sessions called anti-entropy sessions?
  18. In order to know if writes are stabilized, does a server have to contact all other servers?
  19. How much time could it take for a Write to reach all servers?
  20. In what case is automatic resolution not possible? Does it only depend on the application, or is it the case that for any application, it's possible for automatic resolution to fail?
  21. What are examples of good (quick convergence) and not-so-good anti-entropy policies?
  22. I don't understand why "tentative deletion may result in a tuple that appears in the committed view but not in the full view." (very beginning of page 8)
  23. Bayou introduces a lot of new ideas, but it's not clear which ideas are most important for performance.
  24. What kind of information does the Undo Log contain? (e.g. does it contain a snapshot of changed files from a Write, or the reverse operation?) Or is this more of an implementation detail?
  25. How is a particular server designated as the primary?
  26. What if communication fails in the middle of an anti-entropy session?
  27. Does Bayou cache?
  28. What are the session guarantees mentioned by the paper?

课堂

讲义

FAQ 答案

[作业](6.824 Spring 2018 Paper Questions.html)