Skip to content

Instantly share code, notes, and snippets.

@wenhuizhang
Last active April 22, 2026 06:33
Show Gist options
  • Select an option

  • Save wenhuizhang/3e6bba13171cce042b51 to your computer and use it in GitHub Desktop.

Select an option

Save wenhuizhang/3e6bba13171cce042b51 to your computer and use it in GitHub Desktop.
distributed systems readings

#Distributed System Course List

##Systems

##Databases

##Distributed Algorithms

##Data Structures and Algorithms

##Discrete Mathematics and Probability

  • MIT 6.042J (OCW) - Elementary discrete maths, including graph theory and some combinatorics. Lecture slides are available, and good, but the real meat is in the readings.

#Paper List

##Thought Provokers

Ramblings that make you think about the way you design. Not everything can be solved with big servers, databases and transactions.

  • Commentary on coping with latency and it's architectural impacts
  • Large scale systems are everything developers dislike - unpredictable, unordered and parallel
  • A collection of scalable architecture papers from various of the large websites

##Amazon

Somewhat about the technology but more interesting is the culture and organization they've created to work with it.

##Google

Current "rocket science" in distributed systems.

##eBay

Interesting they dumped most of J2EE and use a lot of db partitioning. Check out their site upgrade tool as well.

##Consistency Models

Key to building systems that suit their environments is finding the right tradeoff between consistency and availability.

  • Two phase commit avoidance approaches
  • Two phase commit isn't a silver bullet
  • Helland

##Theory

Papers that describe various important elements of distributed systems design.

##Languages and Tools

Issues of distributed systems construction with specific technologies.

##Infrastructure

##Storage

##Paxos Consensus

Understanding this algorithm is the challenge. I would suggest reading "Paxos Made Simple" before the other papers and again afterward.

Other Consensus Papers

##Gossip Protocols (Epidemic Behaviours)

##P2P

  • Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications

  • Kademlia: A Peer-to-peer Information System Based on the XOR Metric

  • Pastry: Scalable, decentralized object location and routing for large-scale peer-to-peer systems

  • PAST: A large-scale, persistent peer-to-peer storage utility - storage system atop Pastry

  • SCRIBE: A large-scale and decentralised application-level multicast infrastructure - wide area messaging atop Pastry

@wugouzi
Copy link
Copy Markdown

wugouzi commented Feb 2, 2024

nice list, thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment