摘要: 写在前面 一周前写完了15-445的lab3。 相比lab2,lab3的难度有所降低,但是工作量更大。主要难点在于理清各个类之间的交互方式。 可以说,这是一次面向对象编程的训练。 lab概述 这次lab需要我们实现: 1个catalog,以及下面9个executor: SEQUENTIAL SCAN 阅读全文
posted @ 2021-09-21 14:58 sun-lingyu 阅读(1819) 评论(0) 推荐(1) 编辑
摘要: 写在前面 好久之前就听说zsh,但是一直怕配置麻烦,没有碰它。 这次趁着中秋节放假,决定试着配置一下。 *注意:这不是一篇教程。这是怕自己忘记而写的留档。* 下载安装 首先安装zsh: sudo apt-get install -y zsh 然后按照官网指导安装oh-my-zsh: https:// 阅读全文
posted @ 2021-09-21 09:39 sun-lingyu 阅读(8910) 评论(0) 推荐(0) 编辑
摘要: 写在前面 最近在学CMU15-445。趁着实习的间隙,晚上,还有周末,看看视频,写写lab。 CMU15-445的lab与MIT6.824的lab风格很不一样。前者定义好了函数原型,提示更多,但是禁锢了思维,发挥空间变小了。后者只提供了最基础的接口,在代码架构上的可发挥性更高。 由于函数原型都给好了 阅读全文
posted @ 2021-08-28 14:50 sun-lingyu 阅读(2657) 评论(7) 推荐(0) 编辑
摘要: 写在前面 这是6.824 lab3A的历史遗留问题。 在3A中,要通过如下的速度测试(图中的时间是建议的运行时间): 我的实现并不能稳定地通过这一测试: 大多数情况下,代码严重超时。要经过数百秒才能执行完成。有时甚至会在运行了较长一段时间后,报“goroutine数量超过限制”这个错误。 在这篇博客 阅读全文
posted @ 2021-06-19 10:21 sun-lingyu 阅读(871) 评论(0) 推荐(2) 编辑
摘要: 写在前面 lab3A也完成了,前前后后也改了几版才改成现在的样子。 老规矩,记录一下设计思路。 代码见:https://github.com/sun-lingyu/MIT6.824-spring21/tree/KV-3A 代码结构 由于client的处理逻辑很简单,这里略去。 整体逻辑如上图。(图中 阅读全文
posted @ 2021-04-08 20:07 sun-lingyu 阅读(594) 评论(0) 推荐(0) 编辑
摘要: 写在前面 lab2D是今年新添加的部分,网上很难找到博客资源。 这一部分要求我们为raft添加log compaction功能:在运行一段时间后,raft的上层service可以生成一个snapshot,并通知raft。在这之后,raft就可以丢弃snapshot包含的log entries,起到节 阅读全文
posted @ 2021-03-29 11:47 sun-lingyu 阅读(2498) 评论(1) 推荐(2) 编辑
摘要: 写在前面 这次借着写Lab2C的功夫,把先前的bug修了一下。说是修bug,实际上重写了很多逻辑。现在的版本我认为可以算是完美。(Lab2A 2B 2C的testcase各跑50次,全部PASS)。 这次的修改很大程度上是受了LAB2A/2B代码讲解的那堂课的启发。整体框架还是延续了我之前的思路,但 阅读全文
posted @ 2021-03-25 22:49 sun-lingyu 阅读(484) 评论(0) 推荐(0) 编辑
摘要: 写在前面 这是数据挖掘技术课程的课程笔记 复习的时候发现这些算法看似简单,但是蕴含了一些有趣的insight。在此加以记录。 K-means K-means算法大家都很熟悉了: 首先随机分配K个centroid, 在每个iteration中: 把所有的数据点分配到最近的centroid。 计算每个c 阅读全文
posted @ 2021-03-22 12:34 sun-lingyu 阅读(329) 评论(0) 推荐(0) 编辑
摘要: 写在前面 这是我第一次写博客,主要是为了记录自己在做MIT6.824 Lab的过程中的实现设计,防止以后忘记。 其实之前做完6.828的时候就想写了来着,但是还是由于种种原因搁置了(其实是因为懒。。。) 这次下定决心,主要是因为完成这次实验花了相当久的时间,修改了好几版才想出现在的版本。 在基本逻辑 阅读全文
posted @ 2021-03-11 20:07 sun-lingyu 阅读(513) 评论(0) 推荐(0) 编辑