The course which distributed my interests into distributed systems!
Trying to solve problems given in the labs of MIT 6.8024 Spring 2020 course. The starter code is given by MIT, the core logic and other stuffs needs to be implemented by ourself.
You can find the course description and labs here.
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.
-
Lab1 (MapReduce)
- Implementation of Distributed Map Reduce
- Handle crash of workers
- System working documentation
-
Lab2 (Raft Consensus Algorithm)
- Implementation of Lab2A (Leader election)
- Implementation of Lab2B
- Implementation of Lab2C
- Document of explaination of the approach taken, difficulties faced and topics learnt
-
Lab3 (Fault-tolerant Key/Value Service)
- Implementation of Lab3A
- Implementation of Lab3B
- Document of explaination of the approach taken, difficulties faced and topics learnt
I will add detailed documentation of the implemented flow. Right now, only distributed map reduce is implemented. If you want to see the logic, you can have a look at files inside mr
directory.
To complete all the labs with full understanding and read all the given papers. I will create individual folders and upload the approach, topics learnt and some notes taken by seeing lecture.
-
I would like to thank Professor Robert Morris and MIT to upload these lectures on youtube and keeping the MIT Labs open for everyone.
-
I would also like to thank TA's for such a nice explaination of GO concurrency concepts in lectures(Lecture 5). It was really helpful.
- If you have some better ideas and implementation, I am open to discussion and feel free to open an issue followed by a Pull Request.