MIT 6.824 Distributed System
简介
在本实验中,将构建一个MapReduce库,熟悉如何使用Go中编程和构建容错分布式系统。在第一部分中,将编写一个简单的MapReduce程序。在第二部分中,您将编写一个Master,将任务分发给MapReduce的workers,并处理workers的失败
首先从网上获取实验需要的源代码,并熟悉。开始实验之前最好先熟悉一下go语言
接下来的任务就是编写/修改doMap
,doReduce
。。您还必须在../main/wc.go
中编写map和reduce函数。
Part I: Map/Reduce input and output
Map/Reduce实现缺少一些部分。在编写第一个Map/Reduce函数之前,需要修复sequential实现。特别是,我们给你的代码缺少两个关键部分:分割map任务输出的函数,以及收集reduce任务的所有输入的函数。这些任务分别由common_map.go中的doMap()函数和common_reduce.go中的doReduce()函数执行。这些文件中的注释应该指向正确的方向。
为了帮助您确定是否正确实现了doMap()和doReduce(),我们为您提供了一个Go测试套件,用于检查实现的正确性。这些测试在test_test.go文件中实现。
加入参数-v
获得测试更多的信息,用于调试
run参数表示测试mapreduce文件夹下test_test.go文件中以Test开头包含Sequential的测试函数,即TestSequentialSingle和TestSequentialMany函数。