关注
放一些我的笔记:
思路
数据结构:
在服务端维护未完成的filename,reduceIndex;已完成map任务的计数器、已完成reduce任务的计数器;map任务和reduce任务的状态。这里的slice结构用一个mutex来保护,计数器用go的atomic包来保护。任务状态用sync.Map来保护。
过程:
在worker完成一个map或reduce任务后,发送一个RPC调用来告知coordinator任务已完成。coordinator需要等待worker 10秒,如果10秒完不成任务则把刚刚分配给该worker的任务重新入队。
坑:
这里有一个注意的点,如果某任务的状态为已完成,则后续的请求不能再将其修改为其他状态,这样能避免重复分配某个已完成的任务造成资源的浪费。举一个场景:worker A计算某个map任务,但计算过程中出现长时间卡顿导致coordinator认为其超时而将这个map任务分配给worker B;worker A恢复后完成了这个map任务,发送了RPC告知coordinator任务的完成,此时任务为完成状态。后续worker B超时,如果coordinator又修改这个任务的状态,那么会导致coordinator将这个任务再分配给worker C,导致了worker C资源的浪费。
查看原帖
6 评论
相关推荐
查看14道真题和解析 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# Agent面试会问什么? #
31085次浏览 1234人参与
# 通信/硬件的薪资开多少,才值得去? #
76253次浏览 406人参与
# 厦门银行科技岗值不值得投 #
18612次浏览 421人参与
# 面试体验最好和最差的公司 #
22504次浏览 159人参与
# 美团笔试 #
889670次浏览 5595人参与
# 我的求职进度条 #
979358次浏览 6512人参与
# 哪些公司一直卡在简历筛选 #
103362次浏览 339人参与
# 拿到offer之后,可以做些什么 #
103356次浏览 505人参与
# 说说你知道的学历厂 #
399254次浏览 1420人参与
# 平台or薪资 硬件uu更看重哪个 #
167071次浏览 624人参与
# bilibili求职进展汇总 #
190615次浏览 1091人参与
# 听劝,这个公司值得去吗 #
714831次浏览 2024人参与
# 一人分享一个skill #
8186次浏览 221人参与
# 春招至今,你收到几个面试了? #
79816次浏览 1049人参与
# 给工作过的公司写一条大众点评,你会怎么写? #
10876次浏览 131人参与
# 美团秋招笔试 #
207981次浏览 1166人参与
# 拼多多工作体验 #
55145次浏览 387人参与
# 一人说一个提前实习的好处 #
122973次浏览 715人参与
# 烂工作和没工作哪个更痛苦? #
18027次浏览 271人参与
# 巨人网络求职进展汇总 #
193647次浏览 1232人参与
# AI替代不了什么? #
12133次浏览 201人参与
