Code Monkey home page Code Monkey logo

distributed-systems's Introduction

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

distributed-systems's People

Contributors

alexprut avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

chaitanyaphalak

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.