1. Introduction
6.824 is a distributed system course for MIT. This course combines related papers and experiments to allow you to fully experience the magic of distributed systems. Especially the experiments that provide you can get rid of the dilemma of the troops on the paper, and you will have the fun of designing a distributed system. Although these experiments only cover a part of knowledge, it is very helpful to understand the distributed system.
2. Experiment
The 6.824 course of
15 years, compared with the 2014 course, added an experiment. LAB5 requires a data-durable multi-copy Key-Value server. It has also changed greatly with the experiments before 2013. I completed the experiment in 2015. If you have time, you plan to do the 13 -year version of the experiment.
15 years experiment:
- Lab 1: MapReduce
- Implement task allocation, support the distribution of tasks to the thread
- Lab 2: Primary/Backup Key/Value Service
- Test the realization of the Lord from the backup
- Lab 3: Paxos-based Key/Value Service
- Implementation of PAXOS protocol
- Use the PAXOS protocol to achieve a more copy of the server to ensure the consistency between the copy
- Lab 4: Sharded Key/Value Service
- Implementing data shard server
- Data Fragment Consistency: Add, leave, etc.
- Lab 5: Persistence
- Data persistence
- Restart support: recovery in the case of disk data loss and not lost
3. Design report
The following five reports of
record the strategy I used in the experiment and encountered it. I hope it will be helpful to everyone. It is recommended that, after thinking carefully, read it, read it, and see what is the difference in thinking.
If you have any good suggestions and questions, I hope to ask for discussion together.
-
Lab1:MapReduce:
-
Lab2:Primary/BackupKey/ValueService:
-
Lab3:Paxos−basedKey/ValueService:
-
Lab4:ShardedKey/ValueService:
-
Lab5:Persistence: MIT 6.824: Lab5 Persistence Realization Design
Reference materials
6.824 – Spring 2015–Mit 6.824 homepage