4 ms·
There are a lot of these lists on the internet and they're all personal, but since you asked, here would be mine. This list is just a starting point. If I star
by rubiquity 6y ago
There are a lot of these lists on the internet and they're all personal, but since you asked, here would be mine. This list is just a starting point.
If I started over, I would focus solely on building the intuition of time and then start with the strictest consistency models and work my way down. I'd ignore persistence entirely and every time state is mentioned I'd just picture an in-memory number or tuple. Much like the rest of computing, everything we're doing today is based on the original ideas of the 70s/80/90s, just with more sharding. A lot more sharding.
- Time, Clocks, and the Ordering of Events in a Distributed System[0]
- The many faces of consistency[1]
- Understanding Replication in Databases and Distributed Systems[2]
- Viewstamped Replication Revisited[3]
- Consensus on Transaction Commit[4]
A lot of people recommend the FLP, CAP, and popular industry papers such as Chubby and Dynamo but I don't find them very useful in the beginning. CAP is too vague to be useful anymore and it's much better to speak in terms of specific consistency models instead. The FLP paper is certainly worth reading later on, but all you need to know in the beginning is that reaching consensus (termination and agreement) over networks with unbounded delivery times (the Internet) is impossible. Once you understand this, or don't understand it but have convinced yourself to accept it, the reasons for why fault detectors enter the picture is a lot easier to digest.
I prefer Viewstamped Replication as a deep dive into learning consensus because I find it to be a lot more concrete in contrast to Paxos.
0 - https://lamport.azurewebsites.net/pubs/time-clocks.pdf https://lamport.azurewebsites.net/pubs/time-clocks.pdf
1 - http://sites.computer.org/debull/A16mar/p3.pdf http://sites.computer.org/debull/A16mar/p3.pdf
2 - http://www-users.cselabs.umn.edu/classes/Spring-2018/csci8980/Papers/ProcessReplication/Understanding-Replication-icdcs2000.pdf http://www-users.cselabs.umn.edu/classes/Spring-2018/csci898...
3 - http://www.pmg.lcs.mit.edu/papers/vr-revisited.pdf http://www.pmg.lcs.mit.edu/papers/vr-revisited.pdf
4 - https://lamport.azurewebsites.net/video/consensus-on-transaction-commit.pdf https://lamport.azurewebsites.net/video/consensus-on-transac...