• 2024-08-30MIT 6.5840(6.824) Lab 4:Fault-tolerant Key/Value Service 设计实现
    1实验要求本实验旨在利用lab3中的Raft库,构建一个具备容错能力的键值存储服务。服务将作为一个复制状态机,由多个服务器组成,各服务器通过Raft协议同步数据库状态。即使在部分故障或网络隔离的情况下,只要大多数服务器正常,服务仍需继续响应客户端请求。在lab4完成后,你将实现
  • 2024-02-23MIT 6.5840 MapReduce Lab
    MapReduceMapReduce是一种编程模型,其思想是让程序员通过编写简单的Map和Reduce程序就能完成分布式系统的任务,而不需要关注分布式的具体细节。用户自定义的Map函数接受一个key/valuepair的输入值,然后产生一个中间key/valuepair值的集合。MapReduce库把所有具有相同中
  • 2023-07-24MIT 6.5840 Raft Implementation(2B, Log Replication)
    Raft实现思路+细节(2B)任务分解2B中最主要的任务就是进行日志的复制。Raft是一个强领导人的系统,这意味着所有的日志添加都是由领导人发起的,与之相类似的,还有很多其他的结论(它们都是比较显然的),读者可以自行证明。我们可以这样地分解复制日志的过程我们首先需要完善Raft结构
  • 2023-07-21MIT 6.5840 Raft Implementation(2A, Leader Election)
    Raft实现思路+细节2A任务分解总体来说,2A中主要的任务就是选出领导人,在选出领导人的时候,我们要遵循下图。在2A中,由于并没有出现日志复制,所以我们只需要考察两者的任期是否相等,以及接收者在本轮任期中有没有投票即可。因而我们可以这样地给出2A中的实现内容:完善GetState()
  • 2023-07-14[已过万次测试] MIT 6.5840 2023 Lab 4 Shard KV Server TaskA, TaskB, Challenge 通关总结
    MIT6.58402023Lab4ShardKVServerTaskA,TaskB,Challenge前言这波是终于写完了MIT6.5840的所有lab了。lab均是独立完成,没有任何参考,哈哈,还是挺有成就感的。lab4其实在上周就已经写完了,不过比较懒,拖了一周才开始写总结。本次lab4,在所有lab中,个人认为难度仅次于lab2,也