MIT 6.824
Miracle_ma
这个作者很懒,什么都没留下…
展开
-
MIT6.824 Lab1 MapReduce
lab1是在单机上实现mapreduce库,因为没有分布式环境,所以只能实现序列化操作和用并行操作代替分布式操作。首先看一下流程,主函数在src/main/wc.go里,自己提供的map和reduce函数,这次做的主要是wordcount,所以map和reduce函数为:func mapF(filename string, contents string) []mapreduce.Ke...原创 2018-04-17 01:09:45 · 475 阅读 · 0 评论 -
MIT 6.824 lab2 Raft
话不多说,先做下Raft的学习笔记吧学习资料论文:Raft 中文翻译:Raft 一致性算法论文译文 动画解释:Raft动画 我的代码:MIT6.824Raft理解Raft最重要的内容就是论文的Figure2,如下: 读懂这张图,就能大概理解Raft的具体流程,我开头读paper的时候以为弄懂了,但是真的做lab的时候发现又不是那么理解,有非常多的地方很晕。更多细节还...原创 2018-04-21 16:08:09 · 2091 阅读 · 0 评论 -
MIT 6.824 lab3 KVRaft
lab3比lab2更加自由一点,主要是没有论文参照以及太多的资料可以查,而且调试难度也比较大。lab3A主要是实现基于Raft的kv server,client给server发送请求,然后server通过底层Raft来保持log的一致性,操作存储在内存中。lab3B主要是实现给内存快照,然后持久化到persister中。我的代码:MIT6.824lab3Aclient首先是实现...原创 2018-05-03 18:45:08 · 3938 阅读 · 1 评论