Skip to content

alfmunny/MIT6.824-Distributed-Systems

Repository files navigation

MIT 6.824: Distributed Systems

The 6.824 is a great course on distributed systems from MIT. Alongside the lectures, you also have a chance to implement a basic distributed system using Go by going through 4 labs. You are going to learn and implement MapReduce, Raft, Sharding and a lot of other stuff.

Online Content:

How to approach it:

  1. Watch the lecture videos with the handouts from the course
  2. Read the papers
  3. Taking notes
  4. Implement the labs(repeating the step 1 and 2)

Notes on Lecture

There are already official notes for each lecture on the course website.

I just try to note something I thought was interesting while I am watching the videos.

  1. Lecture 1: Introduction
  2. Lecture 2: RPC and Threads
  3. Lecture 3: GFS
  4. Lecture 4: Primary-Backup Replication
  5. Lecture 5: Go, Threads and Raft
  6. Lecture 6-7: Fault Tolerance Raft ... :construction:

Notes on Lab

There are 4 labs in this course.

They are supposed to be written in Go language. Have a quick introduction here on the official website.

You can also refer to this cheatsheet of Go for a quick recap of the basics.

  1. Lab 1: MapReduce Notes, Code 🏁

  2. Lab 2: Raft Code 🏁

  3. Lab 3: Fault-tolerant Key/Value Service Notes, Code

  4. Lab 4: Sharded Key/Value Service Notes, Code

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published