首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
番茄炒地球
获赞
21
粉丝
3
关注
9
看过 TA
181
女
门头沟学院
2025
C++
IP属地:香港
暂未填写个人简介
私信
关注
拉黑
举报
举报
确定要拉黑番茄炒地球吗?
发布(2)
评论
刷题
收藏
番茄炒地球
关注TA,不错过内容更新
关注
2023-07-21 00:44
门头沟学院 C++
想问问各位做过6.824的大佬
我做lab1都没有啥思路咋办😭看了git clone的代码,里面给的串行代码啥的都看懂了,但是自己写就没思路了😭😭😭
D724_主页内推:
放一些我的笔记: 思路 数据结构: 在服务端维护未完成的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资源的浪费。
0
点赞
评论
收藏
分享
2023-07-18 00:54
门头沟学院 C++
你们如何锻炼工程能力的
最近做大项目,发现以前一直在语法上学习。然后一做项目就没有思路😭怀疑人生了,我是不是不适合学编程
0
点赞
评论
收藏
分享
1
创作者周榜
更多
关注他的用户也关注了:
牛客网
牛客企业服务