Skip to content

MIT 6.5840: Distributed Systems. Major topics include fault tolerance, replication, and consistency. Much of the class consists of studying and discussing case studies of distributed systems

License

Notifications You must be signed in to change notification settings

timyiu478/mit-distributed-systems

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

6.5840: Distributed Systems

6.5840: Distributed Systems is a course offered by MIT that presents abstractions and implementation techniques for engineering distributed systems. Major topics include fault tolerance, replication, and consistency. Much of the class consists of studying and discussing case studies of distributed systems.

Hands-On Programming Projects

My completed projects at a glance:

# Title Description Link Tags
1 A at-most-once linearisable key-value store A key/value server for a single machine that ensures that each Put operation is executed at-most-once despite network failures and that the operations are linearizable. Here At-most-once semantics, Linearisability, KV-Store
2 Raft A replicated state machine protocol for fault-tolerance Here Consensus, Leader Election, Replicated State Machine, Log, Persistence

Readings

My writeups at a glance:

# Title Description Link Tags
1 The Design of Practical System for Fault-Tolerance Virtual Machine A state machine replication approach to replicate machine-level state for fault-tolerant VM Here Fault-Tolerance, Backup
2 In Search of an Understandable Consensus Algorithm (Extended Version) Raft: A consensus algorithm for managing a replicated log Here Consensus, Leader Election, Replicated State Machine, Log, Persistence, Linearisability
3 The Google File System One of the first distributed file systems for data-center applications such as large MapReduce jobs Here File System, Parallel Performance, Fault Tolerance, Replication, Consistency
4 ZooKeeper: Wait-free coordination for Internet-scale systems A storage system specialized to fault tolerant high-performance configuration management Here Coordination Primitive, Configuration Management
5 Principles of Computer System Design An Introduction - Chapter 9 Two Phase Commit is a well known protocol to solve atomicity problem in distributed transaction Here Distributed Transaction, Two-Phrase Commit, Serializability, Atomicity
6 Spanner: Google’s Globally-Distributed Database The first system to distribute data at global scale and support externally-consistent distributed transactions. Here Database, Distributed Transaction, Global Storage

About

MIT 6.5840: Distributed Systems. Major topics include fault tolerance, replication, and consistency. Much of the class consists of studying and discussing case studies of distributed systems

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published