摘要: # MapReduce ![](https://cdn.nlark.com/yuque/0/2022/jpeg/32393257/1671156383551-0496d819-83b3-49e1-94fa-70170811df89.jpeg) ## 实验 ### 干嘛 实现一个分布式的 MapRed 阅读全文
posted @ 2023-07-23 17:52 来个半马庆祝下 阅读(172) 评论(0) 推荐(0)
摘要: ## Raft 相关模块 ### 必须要注意的一点 当新Leader当选之后,需要追加一条空日志,使其了解当前集群的共识状态(也就是CommitIndex) ### 模块概览 ![](https://cdn.nlark.com/yuque/0/2023/jpeg/32393257/169009886 阅读全文
posted @ 2023-07-23 17:38 来个半马庆祝下 阅读(104) 评论(0) 推荐(0)
摘要: 此文概述 1. 通过 made Paxos Simple Basic Paxos 了解 Paxos 基本实现 2. Mulit Paxos 的实现需要解决的问题 3. Mulit Paxos -> Raft ## 复制状态机 > 相同初始状态 + 相同的输入 + 相同的状态转化条件 = 相同的最终状 阅读全文
posted @ 2023-07-23 17:38 来个半马庆祝下 阅读(47) 评论(0) 推荐(0)
摘要: # 2pc ### 两个阶段 投票和事务提交 ### [第一阶段:投票](https://wendajiang.github.io/distribute-transaction-2pc-3pc/#di-yi-jie-duan-tou-piao) leader 就是检录员 1. leader 发送执行 阅读全文
posted @ 2023-07-23 17:37 来个半马庆祝下 阅读(41) 评论(0) 推荐(0)
摘要: 最近在尝试使用图来记录 如何处理一个虚拟节点映射到多个物理节点(hash冲突,也就是图中(a2,b2在一起了,我们只能找到最后映射的物理节点)) 首先 连线对应的是一个物理节点的切片 add: 会添加进这个切片中 get: 如果出现冲突,我们会再次进行hash得到新的$index$. delete: 阅读全文
posted @ 2023-01-14 21:53 来个半马庆祝下 阅读(81) 评论(0) 推荐(0)
摘要: ![image](https://img2023.cnblogs.com/blog/2743540/202301/2743540-20230114001921835-1721965743.svg) 阅读全文
posted @ 2023-01-14 00:19 来个半马庆祝下 阅读(10) 评论(0) 推荐(0)
摘要: 三色标记并不能 并发 或者 增量, 需要 STW 来保证正确性, 想要在并发或者增量的标记算法中保证正确性,我们需要达成以下两种三色不变性(强弱三色不变性) ,采取写屏障来满足. 插入: 满足强 黑色不会 指向白色 栈上使用,效率不高 栈上不使用, 我们在扫描结束后, 可能出现 黑色对象引用白色对象 阅读全文
posted @ 2023-01-05 19:47 来个半马庆祝下 阅读(137) 评论(0) 推荐(0)
摘要: Mutex 饥饿模式的判定: 等待时间超过 1ms woken 标志的作用: 通知unlock有人在自旋, 这样unlock时,我们不会去唤醒队列中阻塞的G 保证公平性,也就是当我们还剩最后一个在获取锁,如果我们这时候有一个人来 Lock()如果没有这个标志位的话,新的竞争者 会 通过fast-pa 阅读全文
posted @ 2023-01-01 15:45 来个半马庆祝下 阅读(32) 评论(0) 推荐(0)
摘要: 使用Gdb一路调试,直至运行。 阅读全文
posted @ 2022-12-17 22:04 来个半马庆祝下 阅读(104) 评论(0) 推荐(0)
摘要: GMP 以及简单GC 后续会补上GC的实现原理 2022.12.16 23点12分 gc查看 func test() { //slice 会动态扩容,用slice来做堆内存申请 container := make([]int, 8) log.Println(" > loop begin.") for 阅读全文
posted @ 2022-12-16 23:13 来个半马庆祝下 阅读(184) 评论(0) 推荐(0)