Skip to content

Commit

Permalink
biwu
Browse files Browse the repository at this point in the history
  • Loading branch information
greathongtu committed May 14, 2024
1 parent 93e69d5 commit 7be5784
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions content/posts/map-reduce.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,12 +44,12 @@ type TaskMetadata struct {
```
## MapReduce 的执行流程

1. Coordinator 启动,并初始化,监听 Worker 的RPC请求。同时要启动一个goroutine 检查超时的任务,超时的任务要重新插入人物队列
1. Coordinator 启动,并初始化,监听 Worker 的RPC请求。同时要启动一个goroutine 检查超时的任务,超时的任务要重新插入任务队列
* 两种RPC, 一个是Worker请求任务的RPC, 还有一个是Worker完成任务的通知的RPC
2. Worker 启动,向 Coordinator 请求任务,根据返回的 task 的 Phase (Map/Reduce/Exit/Wait) 分别进行下一步操作
* Map 阶段:读取输入文件,调用用户提供的 Map 函数,生成中间文件,然后向 Coordinator 通知任务完成
* Reduce 阶段:读取中间文件,调用用户提供的 Reduce 函数,生成最终输出文件,然后向 Coordinator 通知任务完成
* Exit 阶段:直接 return
* Wait 阶段:sleep 5 s
3. Coordinator 每次收到 Worker 完成任务的通知,除了进行状态的更新,都会检查是否所有任务都已经完成,如果是,就进入下一个阶段
4. 最终 Coordinator 到达 Exit Phase, 退出
4. 最终 Coordinator 到达 Exit Phase, 退出

0 comments on commit 7be5784

Please sign in to comment.