Skip to content

💡MIT 6.824: Distributed Systems💡 is a core 12-unit graduate subject. It will present abstractions and implementation techniques for engineering distributed systems. Major topics include fault tolerance, replication, and consistency.

Notifications You must be signed in to change notification settings

AdrianHsu/MIT-6.824-Lab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MIT 6.824: Distributed Systems

🏃 MIT 6.824 is where my journey of Distributed Systems began. All projects are my own individual works.

TODO

  1. MapReduce
  • ✅ (Mar 23, 2020)
  • Write a simple MapReduce program, and then Build a MapReduce library of which the master hands out jobs to workers, and handles failures of workers.
  1. Primary Backup Replication Key/Value Service
  • ✅ (Jun 27, 2020)
  • Uses primary/backup replication, assisted by a view service that decides which machines are alive. The view service allows the primary/backup service to work correctly in the presence of network partitions. The view service itself is not replicated, and is a single point of failure.
  1. Paxos-based Key/Value Service
  • ✅ (Jul 3, 2020)
  • Uses Paxos protocol to replicate the key/value database with no single point of failure, and handles network partitions correctly. This key/value service is slower than a non-replicated key/value server would be, but is fault tolerant.
  1. Sharded Key/Value Service based on Paxos
  • ✅ (Jul 14, 2020)
  • A sharded key/value database where each shard replicates its state using Paxos. This service can perform Put/Get operations in parallel on different shards. It also has a replicated configuration service, which tells the shards what key range they are responsible for. It can change the assignment of keys to shards in response to changing load. This project has the core of a real-world design for thousands of servers.

Course Description

MIT 6.824 is a core 12-unit graduate subject with lectures, readings, programming labs, an optional project, a mid-term exam, and a final exam. It will present 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.

References

About

💡MIT 6.824: Distributed Systems💡 is a core 12-unit graduate subject. It will present abstractions and implementation techniques for engineering distributed systems. Major topics include fault tolerance, replication, and consistency.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published