MIT-6.824 前置准备

MIT-6.824 前置准备
hiriki课程相关资料
GO 语言学习
拉取实验代码
1 | git clone git://g.csail.mit.edu/6.824-golabs-2022 6.824 |
通过命令行跑一遍提供的非并行版 mrsequential.go :
1 | cd 6.824 |
如果跑通的话会在命令行输出文本单词的出现次数。
配置 GoLand 运行/调试环境
先在src/main 底下创建脚本sh文件:wc-build.sh
1
2
3
4# 将wc.go编译成插件形式,生成wc.so
go build -race -buildmode=plugin ../mrapps/wc.go
# 删除生成的mr-out*以免每次第二次运行得先删除
rm mr-out*mrsequential 配置:
以后启动就可以先启动wc-build.sh,然后再运行mrsequential.go。当然也可以直接在 Before launch 添加运行shell脚本,但是会有报插件运行错误的风险。这种情况就把生成的 wc.so 以及结果文本文件都删了,重新来过,最稳的就是命令行运行。
Program arguments
wc.so pg-being_ernest.txt pg-dorian_gray.txt
mrcoordinator 配置:
要注意一点的是程序实参的传入的 txt ,不能是 * 这种的匹配符,以 golang 运行这种实参不会进行自动匹配。 所以参数 mrcoordinator 应该为以下文件名:
Program arguments
pg-being_ernest.txt pg-dorian_gray.txt pg-frankenstein.txt pg-grimm.txt pg-huckleberry_finn.txt pg-metamorphosis.txt pg-sherlock_holmes.txt pg-tom_sawyer.txt
mrwork配置:
Program arguments
wc.so 1
一般是mrcoordinator通过golang运行或者调试,mrworker每次在命令行重现编译插件后运行,利用fmt打印输出体验较佳!!!(因为wc.go编译在golang中运行实在是给跪了orz…)
评论
匿名评论
✅ 你无需删除空行,直接评论以获取最佳展示效果