MIT 6.824分布式系统

课程网站

https://www.bilibili.com/video/BV1x7411M7Sf/?p=5&vd_source=1366da1662e82eb423a5117c984d03fb

采用Go来开发,本章做第一个Lab

写成博客的目的是防止自己走马观花,花了一堆时间还什么都没学到。

虽然我对我的表达能力很自信,但是我写博客的目的不是教给别人什么东西,而是逼迫自己认真操作、认真阅读。如果你的知识背景和我类似,你看我的博客将非常畅快,否则最好还是看原始的讲义。

参考知乎:

MIT 6.824 分布式系统 | 材料准备和环境搭建 - 知乎

环境搭建好以后,首先要想办法debug

mr里面有worker和cordinator,而cordinator我觉得就是master, 而worker通过Call方法的rpc来保持通信,rpc是go自带的包

实现步骤

worker方面

mapper

1 实现worker与condinator的交互

2 在rpc.go里面定义struct

3 定义maptask执行任务

4.maptask先通过rpc从cordinator获取任务

5 然后编写doMapTask来完成真正的任务

6 worker完成以后调用cordinator通知已完成任务

reducer

把reduce任务加入队列

挑选reduce任务

worker完成以后调用cordinator通知已完成任务

cordinator方面

分配mapper和reduce任务

需要有个队列分配任务,并加解锁

检查任务是否完成

修改任务的状态

标记任务为完成

有一说一,完全不知道从哪下手=.=

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值