美文网首页
mit6.824-(lab1)

mit6.824-(lab1)

作者: canezk | 来源:发表于2017-01-06 13:56 被阅读83次

mit-6.824 lab1文档
这部分是实现和理解mapreduce论文,实现简单的mapreduce框架

主要设计点

  1. 先执行完map再执行reduce
  2. 没有在map之后对同一个key做merge操作

Part1

实现doMap和doReduce函数

根据论文中的流程图:

  1. master调度worker之后(调度是part3要完成的),需要worker完成相应工作
  2. doMap是负责执行实际的map任务,主要输入是jobname,filepath,map函数(part2需要实现的)
  3. doReduce负责执行reduce任务

Part2

实现mapF 和 reduceF (word count)
这里我理解的是,客户端自定义这两个函数,通过反射代理实现调用(java)

Part3 Part4

实现调度算法:

  1. 文件已经在master中被分成多个部分,所以这里只需要选择register的 worker来执行部分文件map
  2. 通过channel实现,由于需要复用woker资源,所以map之后返回woker到registerchannel,供master调度
  3. go routine实现并发执行map或者reduce
  4. 容错?schedule函数里面,是一个for循环,直到任务执行成功(所以会循环调度,直到找到可以成功执行的worker)
  5. 操作幂等性:所以上一步,重复执行没关系(因为可能是rpc错误也可能是worker fail了,所以可能会重复执行)

相关文章

  • mit6.824-(lab1)

    mit-6.824 lab1文档这部分是实现和理解mapreduce论文,实现简单的mapreduce框架 主要设...

  • Git的详细用法及其原因解释(CS 61B)

    https://sp18.datastructur.es/materials/lab/lab1/lab1

  • 无标题文章

    # Computer Network Lab1

  • 2.MLP构建、前向、反向

    %matplotlib inline Lab1 - Multilayer Perceptrons In this ...

  • #Readme

    Install DOL in Ubuntu 14.04 in lab1 Description(DOL 框架描述)...

  • MIT6.824分布式系统的正确食用方式(lab1.MapRed

    hello,我就以做lab1的流程为目录,记录一下我做lab1的时候收获的和容易出错的地方。 1.阅读MapRed...

  • OS实验课程设计

    Lab1: bootloader / interrupt / device driver 启动OS的bootloa...

  • MIT6.828-2018-Lab1

    Lab1这一节并不需要写代码,需要了解相关概念和指令,为后续的Lab打基础 Lab1:启动PC Part 1: P...

  • Lab1

    清华实验lab1 本markdown遵循markdown plus与简书与Typora编辑器规则 若需要使用目录,...

  • lab1

    首先这题有挺多做法的,先从简单的说起吧,逆向做法,直接上脚本 第二种常见的pwn做法,gdb调试找password...

网友评论

      本文标题:mit6.824-(lab1)

      本文链接:https://www.haomeiwen.com/subject/nxatbttx.html