Paper Reading

记录分布式系统、存储与集群管理等方向的论文阅读笔记,按笔记写作顺序排列。

  1. MIT6.824-MapReduce

    大三上学期课程有点硬核,一直没时间去继续6.824的学习,于是学习进度一直停在了Lab 1。寒假时间稍微充裕了点,于是打算继续推进。之后的每一个论文或者实验都会记录在文章中。

  2. MIT6.824-GFS

    之前对GFS的理解并不能支持我写出满意的内容,于是一直搁置。最近刚转岗某司存储部门实习,回想起此文,于是在无所事事之时写下这个笔记。

  3. MIT6.824-Bigtable

    之前在网上找到了别人翻译的BigTable论文,就顺手保存了下来,但一直没开始看。最近发现BigTable和目前组内做的项目有很多设计上相似的地方,于是用周末的时间快速的阅读了一遍。

  4. DFS-Haystack

    组内的主要项目便是一种提供POXIS文件系统语义的DFS,其中解决losf(lots of small files)的思路就是对小文件单独处理。里面的思想来源应该就是Haystack。 于是大致阅读了一下这篇论文,写下学习笔记。 笔记依旧不深究具体细节,仅仅记录对问题的思考以及设计的思路。

  5. MIT6.824-Raft

    这个寒假可算把搁置许久的Lab02给做完了。之前一直被卡在Test 2B的一个case里,寒假时候重新看看大佬们的实现思路,可算是完成了所有内容,于是简单记录一下。

  6. MIT6.824-RaftKV

    之前因为想试一试GSOC,所以看了看Casbin-Mesh的代码,这是基于Raft的一个分布式Casbin应用。这个MIT6.824里的RaftKV很类似,所以正好借此机会写下这篇博客。

  7. MIT6.824-ZooKeeper

    本文主要讲了ZooKeeper系统在设计和实践上的考量,如wait-free和lock,一致性的选择,系统提供的API以及特定语义上的抉择,这样的trade-off是本文的最大启发。

  8. MIT6.824-ChainReplication

    只是简单写写,有一些具体一点的设计建议去读一下原文。 简介 简单来讲,CR论文介绍了一种用于存储服务的满足线性一致性的复制状态机算法。它通过链式复制来提高算法的吞吐量,通过多副本来保证服务的可用性。

  9. MIT6.824 AuroraDB

    这篇文章介绍了AWS的数据库产品Aurora的设计考虑,包括存算分离、一写多读、基于Quorum的NRW一致性协议等。同时,文章也提到了PolarDB参考Aurora进行设计,但在网络瓶颈和系统调用方面有所不同。 Aurora是AWS提供的一种数据库产品,主要面向OLTP的业务场景。 设计上,我觉得有这些值得参考的地方: Aurora设计的前提是,在数据库上 …

  10. Dynamo: Amazon’s Highly Available Key-value Store

    一篇AWS的老文章,Dynamo到现在已经售卖了很久了,架构应该也早已不像论文中描述的这样。但文章入选了某年的sigmod best paper,依旧是有很多值得学习的地方。 设计 Dynamo是一种NoSQL产品,对外提供KV存储语义。在产品定义上强调Highly Available而非Consistency,所以在架构设计以及技术选型上和其他的产品还是有 …

  11. Percolator: Large-scale Incremental Processing Using Distributed Transactions and Notifications

    好久没学习了,学点想学的。本次内容是分布式事务Percolator, 不翻译论文,没有算法细节,只记录自己的理解。

  12. Borg: Large-scale cluster management at Google with Borg

    梳理 Borg 如何通过准入控制、任务调度与资源共享提高大规模集群的利用率。