Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/zhenlohuang/awesome-distributed-systems

A curated list of awesome distributed systems books, papers, resources and shiny things.
https://github.com/zhenlohuang/awesome-distributed-systems

List: awesome-distributed-systems

Last synced: 27 days ago
JSON representation

A curated list of awesome distributed systems books, papers, resources and shiny things.

Lists

README

        

# awesome-distributed-systems
A curated list of awesome distributed systems books, papers, resources and shiny things.

## Bootcamp
* [CAP Theorem](http://en.wikipedia.org/wiki/CAP_theorem)
* [Fallacies of Distributed Computing](https://en.wikipedia.org/wiki/Fallacies_of_distributed_computing)
* [Distributed systems theory for the distributed engineer](http://the-paper-trail.org/blog/distributed-systems-theory-for-the-distributed-systems-engineer/)
Chinese version: [面向分布式系统工程师的分布式系统理论](http://blog.xiayf.cn/2014/08/10/Distributed-systems-theory-for-the-distributed-systems-engineer/)

## Books
* [Distributed Systems for fun and profit](http://book.mixu.net/distsys/single-page.html)
* [Distributed Systems Concepts and Design(Fifth Edition) - George Coulouris](https://azmuri.files.wordpress.com/2013/09/george-coulouris-distributed-systems-concepts-and-design-5th-edition.pdf)
* [Distributed Systems Principles and Paradigms - Andrew Tanenbaum](http://sist.sysu.edu.cn/~wuweig/DCC/DistributedSystemsPrinciplesandParadigms\(2nd%20edition\)-2007-Tanenbaum.pdf)
* [走向分布式](http://dcaoyuan.github.io/papers/pdfs/Scalability.pdf)
* [Distributed Machine Learning Patterns - Yuan Tang](https://github.com/terrytangyuan/distributed-ml-patterns), Practical patterns for scaling machine learning from your laptop to a distributed cluster.

## Courses
* [Cloud Computing Concepts](https://class.coursera.org/cloudcomputing-001), University of Illinois
* [CMU: Distributed Systems](http://www.cs.cmu.edu/%7Edga/15-440/F12/syllabus.html) in Go Programming Language
* [Principles of Distributed Computing](http://dcg.ethz.ch/lectures/podc_allstars/)
* [Distributed Systems Fall 2015](http://www.andrew.cmu.edu/course/95-702/)
* [Distributed Systems - MIT](http://nil.csail.mit.edu/6.824/2015/)
* [Introduction to Distributed System Design - Google Code University](http://www.hpcs.cs.tsukuba.ac.jp/%7Etatebe/lecture/h23/dsys/dsd-tutorial.html)

## Papers

### Storage
* [Dynamo: Amazon's Highly Available Key Value Store](http://bnrg.eecs.berkeley.edu/%7Erandy/Courses/CS294.F07/Dynamo.pdf)
* [Bigtable: A Distributed Storage System for Structured Data](http://static.googleusercontent.com/media/research.google.com/en//archive/bigtable-osdi06.pdf)
* [The Google File System](http://static.googleusercontent.com/external_content/untrusted_dlcp/research.google.com/en/us/archive/gfs-sosp2003.pdf)
* [Cassandra: A Decentralized Structured Storage System](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.161.6751&rep=rep1&type=pdf)
* [Availability in Globally Distributed Storage Systems](http://static.googleusercontent.com/media/research.google.com/en/us/pubs/archive/36737.pdf)
* [Sheepdog: Distributed Storage System for KVM](https://github.com/ty4z2008/Qix/blob/master/ds.md)
* [PacificA: Replication in Log-Based Distributed Storage Systems](http://research.microsoft.com:8082/pubs/66814/tr-2008-25.pdf)
* [Finding a needle in Haystack: Facebook’s photo storage](https://www.usenix.org/legacy/event/osdi10/tech/full_papers/Beaver.pdf)
* [Windows Azure Storage: A Highly Available Cloud Storage Service with Strong Consistency](http://www-bcf.usc.edu/%7Eminlanyu/teach/csci599-fall12/papers/11-calder.pdf)

### Databases
* [Spanner: Google’s Globally-Distributed Database](http://static.googleusercontent.com/media/research.google.com/zh-CN//archive/spanner-osdi2012.pdf)
* [Tera - 高性能、可伸缩的结构化数据库](https://github.com/ty4z2008/Qix/blob/master/ds.md)

### Resource Management
* [Apache Hadoop YARN: Yet Another Resource Negotiator](https://www.sics.se/~amir/files/download/dic/2013%20-%20Apache%20Hadoop%20YARN:%20Yet%20Another%20Resource%20Negotiator%20\(SoCC\).pdf)
* [Mesos: A Platform for Fine-Grained Resource Sharing in the Data Center
](https://www.cs.berkeley.edu/~alig/papers/mesos.pdf)

### Data Processing
* [MapReduce: Simplified Data Processing on Large Clusters](https://static.googleusercontent.com/media/research.google.com/zh-CN//archive/mapreduce-osdi04.pdf)
* [Pregel: A System for Large-Scale Graph Processing](http://www.dcs.bbk.ac.uk/~dell/teaching/cc/paper/sigmod10/p135-malewicz.pdf)

### Query Processing
* [Design and Implementation of a Query Processor for a Trusted Distributed Data Base Management System](http://www.utdallas.edu/%7Ebxt043000/Publications/Journal-Papers/DAS/J16_Design_and_Implementation_of_a_Distributed_Query_Processor.pdf)

### Messaging Systems
* [The Log: What every software engineer should know about real-time data's unifying abstraction](https://engineering.linkedin.com/distributed-systems/log-what-every-software-engineer-should-know-about-real-time-datas-unifying)
Chinese version [日志:每个软件工程师都应该知道的有关实时数据的统一概念](http://www.oschina.net/translate/log-what-every-software-engineer-should-know-about-real-time-datas-unifying?lang=chs&page=1#)
* [Kafka: a Distributed Messaging System for Log Processin](http://notes.stephenholiday.com/Kafka.pdf)

### Distributed Consensus
* [The Part Time Parliament](http://research.microsoft.com/en-us/um/people/lamport/pubs/lamport-paxos.pdf), Lamport's original Paxos paper, but it's a bit difficult to understand.
* [Paxos Made Simple](http://research.microsoft.com/en-us/um/people/lamport/pubs/paxos-simple.pdf), a more terse readable Paxos paper by Lamport himself.
* [The Chubby Lock Service for loosely coupled distributed systems](http://static.googleusercontent.com/media/research.google.com/en//archive/chubby-osdi06.pdf)
* [Paxos made live - An engineering perspective](http://research.google.com/archive/paxos_made_live.html)
* [Raft Consensus Algorithm](https://raftconsensus.github.io/)
* [Paxos vs Raft](https://ramcloud.stanford.edu/%7Eongaro/userstudy/)

### Others
* [Time, Clocks, and the Ordering of Events in a Distributed System](http://research.microsoft.com/en-us/um/people/lamport/pubs/time-clocks.pdf)

## Blogs and other reading links
* [What are some good resources for learning about distributed computing? Why?](https://www.quora.com/What-are-some-good-resources-for-learning-about-distributed-computing-Why)