Modern Distributed Systems

Kishore Kothapalli and Smruti Ranjan Sarangi

Book front cover: pdf
Book details: pdf

 

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: