分类:Tech

共 22 篇文章

论文阅读笔记(Adaptive Software Caching for Efficient NVRAM Data Persistence)

原文:Pengcheng Li et al. Adaptive Software Caching for Efficient NVRAM Data Persistence. IPDPS, 2017.

背景

NVRAM(Non-volatile Random Access Memory)

顾名思义,NVRAM 和 SDD/HDD 等存储一样,都拥有断电后保留数据的能力,同时和目前普遍使用的 DRAM 一样,采用 DIMM 接入计算机中,且按照字节寻址(byte-addressing)。

Intel memory to storage

上图来自 Intel,其中的 3D XPoint 就是 Intel 的 NVRAM 实现。相较于 DRAM,NVRAM 拥有更高的密度 ...

阅读全文

PhxPaxos 源码阅读笔记(三):PhxPaxos 设计简介

前置内容:建议对 Paxos 有基本理解后再阅读。

本篇主要是为了后续几篇讲算法实现做些铺垫,个人觉得在看代码之前对设计进行基本的了解是必须的,否则会是一头雾水。

因为只是简介,我只会把 PhxPaxos 中的一些概念稍微讲讲,更为详细的内容还是建议大家阅读微信团队的原文

我个人感觉 PhxPaxos 的实例-日志-状态机这样的设计是常见的一种实现思路,之前也有向同学请教了一下 X-Paxos 的设计,发现确实很类似,但是各个库出于各自对性能的要求,有着不同的优化取舍罢了(比如 X-Paxos 需要服务一些跨数据中心的高时延场景,所以 Pipelining 是个很好的优化手段)。

实例

相信了解过 Paxos 算法的读者都应该知道它最基本的能力:让多个进程(或节点)间达成一致,即它们均确定出同一个值。在确定值后,Paxos 组的成员中只要仍旧有多数派存活,该值将会一直被保持,从而能够容忍部分成员临时断线、掉线重启甚至丢失了该值。

我们知道,由于 Paxos 组内可能有多个 Proposer 同时提案 ...

阅读全文

论文阅读笔记(MeteorShower)

哎,拖更了,PhxPaxos 系列本来是打算一周一篇的,结果周中偷懒了一会儿,想着干脆拖到周末再写吧,但周四的时候收到邮件说下周二要例会做报告(= =# 为啥每学期都是第一个),于是这周基本就无法更新了,写篇论文阅读笔记做交代吧。这类型的笔记之前也会写,但基本不发,这次试试看吧。内容可能会偏翻译性质,但是水平有限,尽量避免渣翻。理解有误的话很正常,望交流。

原文来自 IPDCS 2017:MeteorShower: Minimizing Request Latency for Majority Quorum-based Data Consistency Algorithms in Multiple Data Centers。

介绍

背景

目前很多的存储系统都有跨数据中心部署的需求,具体表现就是同一份数据的多个副本会分散在多个数据中心,并且,副本的数量一般都可以根据工作负载的情况来进行调整。这种多副本位于多数据中心的形式可以很好地实现位置相关的访问,为用户提供就近访问,从而降低时延。但是,在为一份数据提供多副本时,由于需要维护数据一致性,会引入额外的代价。

不同的系统出于各自的设计 ...

阅读全文