杂想
该怎么过这一生? 拔了网线,关了电视,过不被信息垃圾包围的日子,对于绝大数我们来说,那些发生在远在天边的大事小事,无论是一场血淋淋的自杀式袭击,绑匪者的演讲,还是症治疗领袖的亲民秀,女明星成功或者失败的隆胸术,很多都与我们的生活是毫不相干…
PacificA-Replication in Log-Based DSS
1. IntroducePacifica 是微软 2008 年发表的一个通用的复制框架,早于 raft(2014),其具有简单、实用和强一致(strong consistency)的特点。Pacifica 的出现主要就是为了解决一致性复制协议(Paxos)理论和工程实践之间的 gap,也就是基于 Paxos 的一致…
【OSDI 18】Failure Asynchrony in Distributed Systems
阅读 OSDI 2018 《Fault-Tolerance, Fast and Slow: Exploiting Failure Asynchrony in Distributed Systems 》觉得有点意思,所以在这里分享给大家,可以加深自己对共识算法的理解。 1. Introduce在分布式系统中,通常会将数据复制到 2n+1 个节点中,从而…
Hashing Index for Persistent Memory
原题目:Write-Optimized and High-Performance Hashing Index Scheme for Persistent Memory 文章概况:这篇文章主要研究 Persistent memory 上高性能的 hashing 索引技术 这篇文章是来自华中科技大学,好像实现了零突破。上交 IPADS 实验室今年有两篇。强…
一致性协议中的“幽灵复现”
0. 概述好久前读过 @郁白 老师写的 Paxos 三部曲 [1],当时也是似懂非懂的,其中描述了 Paxos 一个经典的问题就是 幽灵复现。后来在实际接触了一些一致性协议的东西,又看到了文献 [2],
LevelDB 之 Compaction
好久之前为解决一个 LevelDB 数据膨胀的问题(也就是垃圾数据得不到回收),梳理过一遍 LevelDB 的源码,探究其 Compaction 的机制,以便分析出 LevelDB 垃圾数据不能得以回收的原因,也参考过很多网上的资料,但是都不够系统,所以决定再抽点时间把 LevelD…
【SOSP 2017】PebblesDB 技术解读
1. Background以 LevelDB 和 RocksDB 为代表的 LSM-tree key-value 存储引擎在生产环境中被广泛应用,所以当前针对其优化的研究也非常多,在最近几年的顶级会议上也是热门的话题,本篇就是阅读 sosp 2017 《PebblesDB : building key-value stores using fr…
【ICDE 2013】The Bw-tree: A B-tree for New Hardware
1. 背景这是阅读微软在 ICDE 2013 的论文《The Bw-Tree: A B-tree for New Hardware Platforms》的笔记。论文主要阐述了一个高性能的 atomic record stores (ARSs) 系统的实现,也就是提供原子 key-value 访问接口的系统。主要是提出了 Bw-tree ,用于解决…
【FAST 2016】Wisckey-Separating Keys from Values
1. 背景以 LevelDB 和 RocksDB 为代表的 LSM-tree key-value 存储,被广泛的应用,所以当前针对其优化的研究非常多,在最近几年的顶会上也是常有的话题,这里将介绍 USENIX FAST 2016 的一篇文章 《WiscKey: Separating Keys from Values in SSD-Conscious …
共识算法 之 Multi-Paxos(二)
1. 背景在 共识算法 之 Multi-Paxos(一) 中翻译了 multi-paxos 详细算法流程和细节,本篇作为(二)篇将通过图文来分析 multi-paxos 其各个模块的细节,Lead election,CommitIndex Advance,Log Replication等。主要还是参考文献 [1、2、3]。为了后文描…
共识算法 之 Basic Paxos
1. 背景今天刚开始接触 paxos (basic paxos)的时候,真的是觉得其超级晦涩,总感觉不解其意,其实主要还是对其核心解决的问题本身理解不够到位。也就是要很好的理解 Paxos,首先需要理解 Paxos 解决的是什么问题。在描述之前,我们先统一一个词汇,那就是…
Closing Performance Gap Between Volatile and Persistent Memory
原题目:Closing the Performance Gap Between Volatile and Persistent Key-Value Stores Using Cross Referencing Logs文章概况:这篇文章主要研究基于 Persistent Memory(PM,持久内存)的高性能 key-value 存储。 1. Motivation传统的 key-value 存储…
【ATC 2018】Redesigning LSMs for NVM
1. 背景阅读USENIX ATC 2018 《Redesigning LSMs for Nonvolatile Memory with NoveLSM 》[1] 笔记Non-volatile memories(NVM) 特点 (例如 Intel 的 3DXPoint 技术)随机 read/write latency 很低throughput 高(higher bandwidth)byte-addressability…
【ATC 2018】HashKV
1. 背景以 LevelDB 和 RocksDB 为代表的 LSM-tree key-value 存储,被广泛的应用,所以当前针对其优化的研究非常多,在最近几年的顶会上都有,这里将介绍 USENIX ATC 2018 的一篇文章 HashKV [2],其是对 FAST 2016 中 WiscKey [1] 的优化。那么首先来介绍…
共识算法 之 Multi-Paxos(一)
1. 算法描述当前multi-paxos没有权威的文献参考,目前大多采用的参考文献[1]的描述,这里首先给出其翻译版,然后分析其各个模块的细节,Lead election,CommitIndex Advance,Log Replication等。(背景图片来自[2])1.1. 服务器状态所有acceptor上面持久化…