MIT 6.824 2021 Lab1 不完全攻略

前言

最近的ddl属实有些密集,在ddl的夹缝中艰难地完成了Lab1...
由于对Go的语法还是不太熟练,最后完成还是借鉴了很多sample。希望之后的lab可以完全独立地完成吧
具体的代码我挂在了GitHub上。

任务描述

Lab1主要是实现分布式的MapReduce demo,其中具有worker和coordinator两种角色。
worker负责并行地进行Map或Reduce任务,coordinator负责在worker请求或提交任务时进行处理,并设置超时时间(通常为10秒),检查各worker执行任务情况。
如果一个worker在规定时间内未完成任务,coordinator会在其他worker请求任务时,将该任务将分配给其他worker。

可能会踩的坑

测试脚本中的timeout指令和wait -n指令找不到的问题

这是由于Mac自带的Bash版本过老,大家可以用brew install bash来安装新版本的bash。
修改默认bash好像比较麻烦,我是直接在GoLand中配置了新bash的路径,通过GoLand去run这个脚本

你可能感兴趣的:(分布式系统mapreduce)