Modern Distributed Systems

Kishore Kothapalli and Smruti Ranjan Sarangi

Book front cover: pdf
Book details: pdf

The first part (foundations of distributed systems) will be released by October 15th, 2024.

 

Topic
References
Information Storage and Retrieval (Gossiping, P2P Networks, DHTs)
Epidemic Based Algorithms Epidemic Algorithms for Replicated Database Maintenance
Gossip Based Algorithms
A Gossip-Style Failure Detection Service
Youtube link: YouTube video (gossip and epidemic based protocols)
Napster and Gnutella
Napster and Gnutella: A Comparison of Two Popular Peer to Peer Protocols
Youtube link: YouTube video
Pastry DHT
Pastry: Scalable, decentralized object location and
routing for large-scale peer-to-peer systems


Youtube link:  YouTube video
Chord DHT
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications
Youtube link:YouTube video
Freenet
Freenet: A Distributed Anonymous Information Storage and Retrieval System

Youtube link: YouTube video
BitTorrent
1. Wikipedia page
2. Dissecting BitTorrent: Five Months in a Torrent's Lifetime
3. Kademlia: A Peer-to-Peer Information System Based on the XOR Metric
Youtube link: YouTube video
Distributed Algorithms
Logical Clocks, Physical Clocks, GPS
1. Time, Clocks, and the Ordering of Events in a Distributed System
Berkeley algorithm link
Youtube link: YouTube video
Lamport's Mutual Exclusion Algorithm

Ricart Agarwala Algorithm
Maekawa's Algorithm

1. A root(N) Algorithm for Mutual Exclusion in Decentralized Systems (paper on Maekawa's Algorithm)
Token based Mutual Exclusion
Youtube link: YouTube video
Leader Election
Youtube link: YouTube video
Minimum Spanning Tree (GHS Algo.)
Refer to the book by Gerard Tel.
Youtube link: YouTube video

Chandy Lamport Algorithm
The FLP Result
1. Impossibility of Distributed Consensus with One Faulty Process
2. Simple explanation of the proof: link
Youtube link: YouTube video
Consistency : Sequential and causal consistency
Sequential consistency ( tutorial), video (after 44th minute)

CAP and PACELC Theorems Brewer's Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services
Youtube link:  Youtube video

Paxos 1. The Part-Time Parliament
2. Paxos Made Simple
3. Paxos Made Practical
Youtube link:  Youtube video
Raft consensus protocol
In Search of an Understandable Consensus Algorithm
Youtube link: Youtube video
Stellar consensus protocol
The Stellar Consensus Protocol: A Federated Model for Internet-level Consensus
Youtube link: Youtube video
Byzantine General's Problem
The Byzantine Generals Problem
Youtube link: Youtube video
Virtual Synchrony, 2-Phase and 3-Phase Commits
Nonblocking Commit Protocols (1981 SIGMOD)
Youtube link: Youtube video
Bitcoin and Blockchains
1. Bitcoin and Cryptocurrency Technologies
2. Hashcash - A Denial of Service Counter-Measure
3. Bitcoin: A Peer-to-Peer Electronic Cash System
4. Architecture of the Hyperledger Blockchain Fabric
5. Comparison of Ethereum, Hyperledger Fabric, and Corda
6. Bitcoin's Academic Pedigree
Youtube link: Youtube video
Ethereum
1. Ethereum: A Secure Decentralized Generalised Transaction Ledger (Yellow paper)
2. Beigepaper: An Ethereum Technical Specification
Youtube link: Youtube video
Large-scale Distributed Systems
Coda  1. Coda: A Highly Available File System for a
Distributed Workstation Environment

2. Fallacies of Distributed Systems
Youtube link:Youtube video
Amazon Dynamo Dynamo: Amazon's Highly Available Key-value Store
Youtube link: Youtube video
Google Percolator
Large Scale Incremental Processing Using Distributed Transactions and Notifications
Youtube link:Youtube video
Corona Corona: A High Performance Publish-Subscribe System for
the World Wide Web

Youtube link: Youtube video
         Notes used along with the video (link)
Facebook: Cassandra Cassandra: A Decentralized Structured Storage System
Youtube link:  Youtube video
Facebook: Photo Storage Finding a Needle in a Haystack: Facebook's Photo Storage
Youtube link:  Youtube video
Voldemort (LinkedIn)
Project Voldemort -- Distributed Key-Value Storage
Youtube link:  Youtube video
Condor Distributed Computing in Practice:
The Condor Experience

Youtube link: Youtube video
DryadLINQ DryadLINQ: A System for General-Purpose Distributed
Data-Parallel Computing Using a High-Level Language

Youtube link: