Advanced Distributed Systems

 



Instructor: Prof. Smruti R. Sarangi


Reference Books:
[Relevant Reference for Most Concepts] Distributed Systems: An Algorithmic Approach (Sukumar Ghosh, CRC)
[For relevant background] Distributed Systems: Principles and Paradigms (Andrew S. Tanenbaum and Martin V. Steen)
[Reference on distributed algorithms] Distributed Algorithms by Nancy Lynch
    OR
    Introduction to Distributed Algorithms by Gerard Tel
[Reference on advanced OS concepts] Advanced Concepts in Operating Systems (Singhal and Shivaratri)



Lecture
Title
References
Information Storage and Retrieval (Gossiping, P2P Networks, DHTs)
1 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)
2 Napster and Gnutella
Napster and Gnutella: A Comparison of Two Popular Peer to Peer Protocols
Youtube link: YouTube video
3 Pastry DHT
Pastry: Scalable, decentralized object location and
routing for large-scale peer-to-peer systems


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

Youtube link: YouTube video
6 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
7 Logical Clocks, Physical Clocks, GPS
1. Time, Clocks, and the Ordering of Events in a Distributed System
Berkely algorithm link
Youtube link: YouTube video
8 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
9 Leader Election
Youtube link: YouTube video
10 Minimum Spanning Tree (GHS Algo.)
Refer to the book by Gerard Tel.
Youtube link: YouTube video

Chandy Lamport Algorithm
11 The FLP Result
1. Impossibility of Distributed Consensus with One Faulty Process
2. Simple explanation of the proof: link
Youtube link: YouTube video
12 The CAP Theorem

Brewer's Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services
[Self study]

Youtube link: YouTube video

13 Paxos 1. The Part-Time Parliament
2. Paxos Made Simple
Youtube link:  Youtube video
14 Raft consensus protocol
In Search of an Understandable Consensus Algorithm
Youtube link: Youtube video
15 Byzantine General's Problem
The Byzantine Generals Problem
Youtube link: Youtube video
16 Virtual Synchrony, 2-Phase and 3-Phase Commits
Nonblocking Commit Protocols (1981 SIGMOD)
Youtube link: Youtube video
17 Bitcoin and Blockchains
1. Bitcoin and Cryptocurrency Technologies, 2016
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
18 Stellar Consensus Protocol

García-Pérez, Álvaro, and Maria A. Schett. "Deconstructing stellar consensus (extended version)." arXiv preprint arXiv:1911.05145 (2019).

Youtube link: YouTube video
19 Ethereum

Wood, Gavin. "Ethereum: A secure decentralised generalised transaction ledger." Ethereum project yellow paper 151.2014 (2014)

Dameron, Micah. "Beigepaper: an ethereum technical specification." Ethereum Project Beige Paper (2018). Dameron, M. (2018). Beigepaper: an ethereum technical report

Youtube link: YouTube video

Large-scale Distributed Systems
20 Coda  1. Coda: A Highly Available File System for a
Distributed Workstation Environment

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

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

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

Youtube link: