distributed-systems icon indicating copy to clipboard operation
distributed-systems copied to clipboard

📗Distributed Systems — the source of truth

Distributed Systems

Download Download Download

About the book

Both in the libraries and on the internet plenty of resources are available regarding the Distributed Systems topic. All of them are just a better explanation of the same exact source of truth, i.e. academic papers published by the brightest minds in the world. This book is just an ordered collection of all those publications. The primary order of the chapters is based on the citations dependency in the publications, secondary order is based on the year of publication and finally the last criteria is based on the topic dependency. There are three editions of the book: Essential, Virtuoso and Maestro. The Essential Edition contains the historical and most important publications that are at the core of our current distributed systems. The Virtuoso Edition contains the essential edition papers and some recent distributed systems that are built with the technology provided in the essential papers. Finally, the Maestro Edition is a massive collection of the most relevant papers regarding the topic in the academic world.

Papers

Essential Edition
Download Chapters Pages

Chapters

  1. Time, Clocks, and the Ordering of Events in a Distributed System
  2. Distributed Snapshots: Determining Global States of Distributed Systems
  3. The Byzantine Generals Problem
  4. The Part-Time Parliament
  5. Paxos Made Simple
  6. Brewer’s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web
  7. Consistent Hashing and Random Trees: Distributed Caching Protocols for Relieving Hot Spots on the World Wide Web
  8. MapReduce: Simplified Data Processing on Large Clusters
  9. Paxos Made Live - An Engineering Perspective
  10. Bitcoin: A Peer-to-Peer Electronic Cash System

Virtuoso Edition
Download Chapters Pages

Chapters

  1. Time, Clocks, and the Ordering of Events in a Distributed System
  2. Distributed Snapshots: Determining Global States of Distributed Systems
  3. Impossibility of Distributed Consensus with One Faulty Process
  4. The Byzantine Generals Problem
  5. The Part-Time Parliament
  6. Paxos Made Simple
  7. Brewer’s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web
  8. Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications
  9. Bigtable: A Distributed Storage System for Structured Data
  10. Dynamo: Amazon’s Highly Available Key-value Store
  11. The Chubby lock service for loosely-coupled distributed systems
  12. The Google File System
  13. MapReduce: Simplified Data Processing on Large Clusters
  14. Cassandra - A Decentralized Structured Storage System
  15. Paxos Made Live - An Engineering Perspective
  16. Spanner: Google’s Globally-Distributed Database
  17. Spanner, TrueTime and the CAP Theorem
  18. ZooKeeper: Wait-free coordination for Internet-scale systems
  19. Kafka: a Distributed Messaging System for Log Processing
  20. A simple totally ordered broadcast protocol
  21. In Search of an Understandable Consensus Algorithm
  22. Bitcoin: A Peer-to-Peer Electronic Cash System
  23. Ethereum: a secure decentralized generalized transaction ledger

Maestro Edition
Download Chapters Pages

  1. Time, Clocks, and the Ordering of Events in a Distributed System
  2. Distributed Snapshots: Determining Global States of Distributed Systems
  3. Impossibility of Distributed Consensus with One Faulty Process
  4. The Byzantine Generals Problem
  5. Practical Byzantine Fault Tolerance
  6. The Part-Time Parliament
  7. Paxos Made Simple
  8. Brewer’s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web
  9. Consistent Hashing and Random Trees: Distributed Caching Protocols for Relieving Hot Spots on the World Wide Web
  10. Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications
  11. Bigtable: A Distributed Storage System for Structured Data
  12. Dynamo: Amazon’s Highly Available Key-value Store
  13. The Chubby lock service for loosely-coupled distributed systems
  14. The Google File System
  15. MapReduce: Simplified Data Processing on Large Clusters
  16. Cassandra - A Decentralized Structured Storage System
  17. Paxos Made Live - An Engineering Perspective
  18. Spanner: Google’s Globally-Distributed Database
  19. Spanner, TrueTime and the CAP Theorem
  20. ZooKeeper: Wait-free coordination for Internet-scale systems
  21. Kafka: a Distributed Messaging System for Log Processing
  22. A simple totally ordered broadcast protocol
  23. In Search of an Understandable Consensus Algorithm
  24. Bitcoin: A Peer-to-Peer Electronic Cash System
  25. Ethereum: a secure decentralized generalized transaction ledger
  26. Tor: The Second-Generation Onion Router

Dependencies

  • Graphviz
  • LaTeX

Build

  1. Build the dependency image:
    dot -Tpng dependency.dot -o img/dependency.png
  2. Build the book files:
    pdflatex distributed-systems-essential.tex
    pdflatex distributed-systems-virtuoso.tex
    pdflatex distributed-systems-maestro.tex