MIT6.824: Distributed System
课程简介
- 所属大学:MIT
- 先修要求:计算机体系结构,并行编程
- 编程语言:Go
- 课程难度:🌟🌟🌟🌟🌟🌟
- 预计学时:200 小时
这门课和 MIT 6.S081 一样,出品自 MIT 大名鼎鼎的 PDOS 实验室,授课老师 Robert Morris 教授曾是一位顶尖黑客,世界上第一个蠕虫病毒 Morris 病毒就是出自他之手。
这门课每节课都会精读一篇分布式系统领域的经典论文,并由此传授分布式系统设计与实现的重要原则和关键技术。同时其课程 Project 也是以其难度之大而闻名遐迩,4 个编程作业循序渐进带你实现一个基于 Raft 共识算法的 KV-store 框架,让你在痛苦的 debug 中体会并行与分布式带来的随机性和复杂性。
同样,这门课由于太过出名,网上答案无数,希望大家不要参考,而是力图自主实现整个 Project。
课程资源
- 课程网站:https://pdos.csail.mit.edu/6.824/schedule.html
- 课程视频:参见课程网站链接
- 课程教材:无,以阅读论文为主
- 课程作业:4 个非常虐的 Project,具体要求参见课程网站
资源汇总
@PKUFlyingPig 在学习这门课中用到的所有资源和作业实现都汇总在 PKUFlyingPig/MIT6.824 - GitHub 中。
@OneSizeFitsQuorum 的 Lab 文档 较为清晰地介绍了实现 lab 1-4 和 challenge 1-2 时需要考虑的许多细节,在遇到瓶颈期时可以阅读一下~~
MIT6.824: Distributed System
Descriptions
- Offered by: MIT
- Prerequisites: Computer Architecture, Parallel Computing
- Programming Languages: Go
- Difficulty: 🌟🌟🌟🌟🌟🌟
- Class Hour: 200 hours
This course, the same as MIT 6.S081, comes from the renowned MIT PDOS Lab. The instructor, Professor Robert Morris, was once a famous hacker who created 'Morris', the first worm virus in the world.
Each lecture will discuss a classic paper in the field of distributed systems, teaching you the important principles and key techniques of distributed systems design and implementation. The Project is known for its difficulty. In four programming assignments, you will implement a KV-store framework step by step based on the Raft consensus algorithm, allowing you to experience the randomness and complexity to implement and debug a distributed system.
This course is so famous that you can easily have access to the project solutions on the Internet. It is highly recommended to implement the projects on your own.
Resources
- Course Website: https://pdos.csail.mit.edu/6.824/schedule.html
- Assignments: refer to the course website
- Textbook: None
- Assignments: 4 torturing projects, the course website has specific requirements
Personal Resources
All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/MIT6.824 - GitHub
@OneSizeFitsQuorum has written a Lab Documentation that quite clearly describes many of the details to be considered when implementing lab 1-4 and challenge 1-2, you can read when you encounter bottlenecks ~ ~