随笔分类 -  6.5840

摘要:Part A:无快照的KVServers KVServer整体结构如下 每个KvServer对应一个Raft Server,该Raft Server可能是Leader或Follower Client向KVServer发送请求,如果该KVServer对应的Raft Server不是Leader,直接返 阅读全文
posted @ 2024-09-27 00:34 INnoVation-V2 阅读(73) 评论(0) 推荐(0)
摘要:Lab 4: Fault-tolerant Key/Value Service 一、介绍 本次Lab将使用Lab3的Raft库构建容错键/值存储服务。您的KV服务将是一个复制状态机,由多个Server组成,每个Server维护一个KV数据库,就像Lab2一样,使用Raft保证Server状态一致。只 阅读全文
posted @ 2024-09-27 00:32 INnoVation-V2 阅读(72) 评论(0) 推荐(0)
摘要:Raft算法 State 所有server都有的持久化状态 先存储,然后响应RPC currentTerm 当前任期,初始为0,单调递增 votedFor 当前任期投票给谁了,没有就是null log[] 日志条目,每个条目都包含命令、Leader收到条目时的任期,第一个条目的index为1 所有s 阅读全文
posted @ 2024-09-24 23:42 INnoVation-V2 阅读(70) 评论(0) 推荐(0)
摘要:Part 3A: leader election 1.选举主要流程 新服务器加入集群 服务器在启动时状态是Follower。只要持续接收到Leader或Candidate的心跳信息,就继续保持Follower状态。 开始选举 每个Server都有一个随机的选举超时时间,选举超时在一个固定区间内随机选 阅读全文
posted @ 2024-09-24 23:41 INnoVation-V2 阅读(73) 评论(0) 推荐(0)
摘要:Lab3 Raft 1.Getting Started 代码位置: 基础框架代码位置:src/raft/raft.go 测试代码:src/raft/test_test.go 建议测试时使用-race 2.The code 向raft/raft.go添加代码来实现Raft。 实现必须支持以下接口 // 阅读全文
posted @ 2024-09-24 23:41 INnoVation-V2 阅读(117) 评论(0) 推荐(0)
摘要:6.5840 Lab 2: Key/Value Server 1.Introduction 本次Lab将构建一个单机的键值服务器,该服务器保证即使存在网络故障,每个操作也都只执行一次,并且这些操作线性化执行。后续Lab中,将复制这样的服务器来处理服务器崩溃的情况。 键值服务器支持三种RPC(远程过程 阅读全文
posted @ 2024-08-27 17:18 INnoVation-V2 阅读(200) 评论(0) 推荐(0)
摘要:一、非并行版本分析 1.非并行版本MapReduce流程 通过第一个参数,传入Map和Reduce 函数 之后的参数为待处理文件名 读取文件 调用Map函数,对文件内容进行处理,生成KV对 对KV对进行sort 按照Key进行分组,然后对每组数据调用Reduce 将结果写入文件 二、Lab思路 概述 阅读全文
posted @ 2024-08-25 18:11 INnoVation-V2 阅读(41) 评论(0) 推荐(0)
摘要:Lab 1: MapReduce 目标:实现一个MapReduce系统。其中包含: worker进程:调用Map和Reduce程序并处理文件的读写 coordinator进程:负责将任务分发给worker并处理失败的worker。(注:本Lab使用coordinator而不是论文的master进行管 阅读全文
posted @ 2024-08-25 18:10 INnoVation-V2 阅读(37) 评论(0) 推荐(0)
摘要:一. 介绍 很多业务逻辑很简单,主要难点是数据量太大,可使用分布式处理提高速度。 传统分布式程序,计算逻辑和分布式任务分发、故障恢复混在一起,原本简单的计算逻辑变得模糊不清,难以处理。 MapReduce将两者分离,任务分发,容错,恢复等逻辑由模型完成,程序员只需要专注计算逻辑。大大了简化代码架构, 阅读全文
posted @ 2024-08-25 18:08 INnoVation-V2 阅读(69) 评论(0) 推荐(0)
摘要:MapReduce: Simplified Data Processing on Large Clusters(MapReduce: 简化大型集群下的数据处理) 作者:Jeffrey Dean and Sanjay Ghemawat Abstract(摘要) MapReduce是一个关于实施大型数据 阅读全文
posted @ 2024-08-25 18:08 INnoVation-V2 阅读(127) 评论(0) 推荐(0)