MIT6.824
lab1 MapReduce
- timeout: command not found -> brew install coreutils
- panic data race -> 加锁
- 内层变量会屏蔽外部同名变量
test1 word-count 测试基本功能
test2 indexer.so 修改k-v结构 单词 -> 所属文件名
test3 map parallelism test mtiming.so test4 reduce parallelism test 把进程号写入文件 map/reduce阶段会通过kill0检查同时在执行的进程数量
syscall.Kill(pid, 0) 信号kill -0 pid不发送信号,主要用于检查对应进程做错误检查。那么,在开发中我们就可以通过kill返回的错误信息来判断进程是否存在、正常运行
test5 Starting job count test 统计进程数量是否正确, 注意 &,看上去起了4个进程,实际主进程会阻塞
test6 Starting early exit test 看代码reduce有秒延迟 wait -n很迷惑
test7 Starting crash test 模拟进程挂掉/延迟