Uploaded by chenpu pu

Memcached的分析与改进

advertisement
第0
5卷
6期
2
1
6年第11
月
网
络
新
媒
体
技
术
Vo
N
I
.
5NO
.
6
OV.2016
Me
mcached的分 析 与 改进
李首扬
( 北 京 大学
杨
计算机 系
仝
北京
代亚非
1
00871
西 京 学 院控 制 工 程 系
黄
亮2 郑廉清
94782部 队 65分 队
西安
杭州
310021
71
0123)
摘 要 :Me
mcac
hed是一 种高 性 能 分 布式 内存 对 象 缓 存 系 统 ,
使用十分广泛 ;
其 设 计 目的 为缓 存 数 据 库 内 容 以加 速 动 态 Web请
求 ,但 也 广 泛 应 用 于 其 他 高 性 能 存 储 ,
并 且 成 为 了 内存 Key—Val
ue数 据 库 的经 典 代 表 。本 文 对 Memcae
hed的 系 统 结 构 、处 理
流 程 进 行 了分 析 ,
包 括 网 络 处 理 、哈希 表 的查 询 与 维 护 、
内存 的 分 配 与 管 理 、
冷 数据的置换算 法等 ;
同 时 以 哈 希 表 、内存 管 理 这
两 个 影 响性 能 的关 键 点人 手 ,
结 合 了 Cuckoo哈 希 与 CLOCK置 换 算 法 两 种 更 易 并 行 化 的 的 算 法 ,
对 Memcached现 有 的 结 构 提
出 了较 大 的 改动 ,以期 提 高 上 述 处 理 速 度 ,
实 现 整 体 性 能 的提 升 。
关 键 词 :内存 缓 存 系统 ,
Me
mcache
d,
哈 希 表 ,内存 管 理 ,
缓存置换算法
Anal
yzi
ng and i
m provi
ng m em cached
LIShouyang ,YANG Tong。 DAIYaf
ei ,H UANG Li
ang ,ZHENG Li
anqi
ng
,
( Depar
t
me
ntofComput
e
rSci
ence,Pe
ki
ngUni
ver
s
i
t
y,Bei
j
i
ng,100871,Chi
na,
。65 Ot
ryad 94872 PLA t
roops, Hangzhou,310021,Chi
naa,
,
Depar
t
mento
fCo
nt
r
olEgi
neer
i
ng,Xi
j
i
ngUni
ver
si
t
y,Xi
’a
n,7101
23,Chi
na)
Abst
ract:Me
mc
ached,awi
del
yus
edmemo
r
yobj
ec
tca
chi
ngsys
t
em,i
sat
ypi
c
alcaseofi
nmemo ̄ ke
y—va
l
ues
t
or
i
ngorcac
hi
ngsys
—
tems. Thi
s paperanal
yzed t
hearchi
tecture ofmemcached,i
ncluding net
wor
k processing,struct
ureofthe hash tabl
e,m anagi
ngmem o ̄
all
ocat
ion, and t
he cache repl
acementalgori
t
hm. Focusi
ng on t
wo f
iel
ds: t
he hash t
able str
uct
ure,and t
he memo ̄ m anagementpoli
—
ti
cs,which have asi
gni
icanti
f
mpacton the perf
ormance and scalabil
i
tyofthe system ,thi
s arti
cl
e int
roducesnew al
gori
thms,i
m provi
ng
the performance oft
he par
all
el
izing memo ̄ caching system . I
nt
hi
s ar
ti
cle,we combi
ne Cuckoo hashing,a hashing scheme opti
mized
forpar
all
elaccessi
ngand sceneswhen r
ead requestsare greatl
y morethan wri
t
e request
s;and a cache replacem ental
gori
thm ,the cl
ock
algori
t
hm ,t
o archive higherprocessing rat
e,wit
h an accept
able l
ossofcache hi
trat
e.
K eywords:m emory cache system ,m emcached, hash t
able,m emo ̄ management, cache r
epl
acemental
gori
thm
1 引言
Me
mc
ac
he
d¨ 是一 种应 用十 分 广 泛 的 内存 对 象 缓 存 系统 ,
其 设 计 目的 为 缓 存 数 据 库 内 容 以 加 速 动 态
We
b请 求 ,
但也 广泛 应用 于其他 方 面 。作 为 内存 Key—Va
l
ue存储 系统 的代 表 ,
Memca
che
d采 用 的“使 用 哈希
表查 找对 象 ,
并 通 过 自行 管理 内存 提高使 用效 率 ”的整体 框架 被各 种 Ke
y—Val
ue存储 系统 使用 ,
成 为了 内存
本 文 于 2015—08—1
9收 到 。
}基 金 项 目 :国 家 自 然 科 学 基 金 重 点 项 目 (编 号 :61
2320
04),国 家 “9
73”课 题 (编 号 201
4CB34040
0),国 家 重 点 研 发 计 划 课 题
(201
6YFB1
00
03
00),
国家 自然 科 学 基 金 (
61
6720
61),
中 国科 学 院声 学 研 究 所 合 作项 目“分 布 式 缓 存 客 户 端 定 制 开 发 ”。
6期
李首 扬 等 :Memca
ched的分 析与改 进
39
存 储 的范 例 。
本 文 对 Me
mcac
hed的结 构进 行 了分析 ,
着 重研究 了哈希表查 询与 管理 、内存 的分 配 管理 这两 大方 面 ,
并
对这 两方 面进行 了 比较大 的改 动 ,
引入新 技术 提升 整个 系统 的效 率与性 能 。
2 Me
mc
ac
he
d的 主 要 模 块
…
垡矍… …… … … … ~
…
Me
mcac
hed在启 动 时创建 多个 线 程 ,
并 行 处理 请 求 ;同
时有单 独 的 LRU(Leas
tRec
ent
l
yUs
ed)对 象 管 理 线 程 与 内
存维 护线 程 。整个 系统 的运行 流程 如 图 1所 示 。
2.1 I
/O 处 理 与 请 求 解 析
Me
mc
ac
hed使 用 l
i
bev
ent 库 处 理 网 络 请 求 。l
i
be
ve
nt
是一 个开 源 的异步 事件 处 理库 ,它提 供 了一组 API,
让程序
可 以设 定 在 I
/O事件 发 生 时 ,
调 用 一 定 的 函数 处 理 请 求 内
容 。l
i
be
ve
nt支 持 e
po
l
l等 1
0监 控接 EI,
提供 了较 高 的性 能 。
i[二
根据设 置 ,
Me
mc
ac
he
d启 动若 干个 独 立线 程 ,
然 后 将 它们 共
同绑定 到 由 l
i
bev
ent管理 的 网络端 口或 文件 管道 ,以实现 多
至
=
二
]
图 1 Me
mc
ached的整 体 结 构 与 处 理 流 程
线程 接 收并处 理 同一 端 口请 求 的 目的 。 当接 受 到 请 求 ,网
络处 理模 块解 析其 中内容 ,
转 换为 Memca
ched内部 数据 结构 ,
并 调用 对 应 函数 进行 处理 。此 系统 较 为成 熟 ,
并且 为第 三方 提供 ,
研究 多集 中在 将其 整 体 更 换 为硬 件优 化 的 网络 处 理库 等 ,与 内存 存储 系统 的特性 也 关
系不 大 ,
本文不 加 以详 细研究 。
2.2 哈 希表查 询 与修 改
Me
mc
ac
he
d使 用哈 希 表查 找请 求 的键 值 。 哈希 算法 默 认 为 j
enki
ns算 法
,
可更 换 为 mur
mur
3算 法
;
当发 生 冲突 (两个对 象 的哈希 值相 同 )时 ,
使 用链 式哈 希处 理 :
在 哈希 值对 应 位置 创建 一 个链 表 ,
链表 中记 录
哈 希值 相 同的所有 对象 ,
查 找时逐 一 比对 。Me
mc
ac
he
d对 哈希 表 主要 做 了髑个 特殊 处理 :
(1)大小 可变 的 哈希 表 。Me
mc
ac
he
d的哈希 表大 小为 2的整 数次 幂 ,
便 于在计 算 机 中保 存与 处 理 ;当哈
希 表被 “填满 ”,
大 于一定 阈值 时 ,
Me
mc
ac
he
d会 重建一 个 容量 为两 倍 的表 ,
将 所有 键值 根 据新 的表大 小重 新
计 算 哈希值 ,
并将 对象存 入新 表 。
(2)哈希 表分 区锁 。 当对 哈希 表 内容进 行修 改 时 ,
可 能会 出现 多线 程竞 争 问题 ;
使 用全 局锁 将造 成性 能
瓶颈 ,
对 每个 表项 单独 加锁会 浪 费大量 内存 、当进行 重建 时也 可能会 严重 影 响效率 。
如 图 2,
Memca
che
d将 哈 希 表按 照键 值 分 为 若 干个 区 ,
每个
区中 的对象共 用 一个锁 ;由于线程 数量 远小 于 “区 ”数 量 ,
分 区锁
l
ock1
i
t
m7
与表项 单独 加锁 性 能 差距 并 不 大 ,同时 也 减 小 了 锁 占用 的空 间
和时 间 。在 实践 中 ,
根 据线 程数 量 ,
分 区数 目为 1
024至 81
92不
_
叫!
竺l
—
l
ock2
等,
并 为 2的整数 次幂 ,
这样 “判定 哈 希 表项 所 属 区 ”的 “二次 哈
_
+
1
—
希”只需单 次位运 算 即可完 成 ,
保 证 了性 能 。
H
l
l
ock3
2.
3 内存分 配与 管理
i
t
m4
应用中,
读写 的对 象 大 小 不 一 ,
并且读写十分频繁 ,
对 内存
管理提 出 了很 高 的要 求 。系 统 需 要快 速 分 配 不 同大 小 的 内存 ,
.
同时在 大量 的修 改与 删除 之后避 免 内存碎 片化 ,
保证 高 利用 率 。
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
..
.
.
.
.
..
.
.
..
..
..
..
..
..
..
..
..
.
..
..
..
..
..
.
.
..
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
..
.
.
.
图 2 Me
mcac
hed的拉 链 法 哈 希 表 与 分 区 锁
如 图 3,
Memcac
hed将 内存 划 分 为 若 干 页 (pag
e),
每 页 大小
为 1MB;
每 页分为若 干个 大小 相 同的片 (s
l
a
b),片的大 小从初 始值 开始 ,以指数增 长 ,
下 一级 的片大 小 为上 一
级 的 1.
25倍 ,
直 至最 大 的片 占满 整 页。
40
一
网
络
新
媒
体
技
术
201
6正
在分 配 内存 时 ,
系统将 申请 的 内存 大 小 “向上 取整 ”至最 近 的
page1
个 片大小 ,
并取 出一 个空 闲片 ;
释 放 内存 时 ,
整 片 内存 回到 系统
s
lab1
中 ;当某种 大小 的 片全 部 被 分 配 时 ,
则 尝 试 申请 一 个 整 页并 划 分
成需 要 的大小 。这种 分 配 方法 以少 量 的 内存 浪费 (不 超 过 20% )
s
lab2
s
lab3
sl
ab4
为代 价 ,
将 大小 千差 万别 的对象 统 一 到 了不 到 20个 阶层 ,
阻止了
内存 碎 片化 的产生 。
2.4 内存 缓存 置换
以 LRU算 法 为代 表 的缓存 置 换算 法 是 Memca
che
d等缓 存 系
统 的核心 之一 ,由于 内存 容量 有 限 ,系 统需 要 适 时 丢 弃 访 问 频 次
较低 的对 象 (或 移 动 至读 写 速 度 较慢 的外 存 )。如何 选 择 被 丢弃
的对 象 以提 高 缓 存 命 中率 ,同时 又 尽 量 降 低 维 护 对 象 热 度 的 开
销,
一直是 研究 的热 门话 题 。Me
mc
ac
hed对 不 同大 小 的 “片 ”独立
图 3 Memc
ached的 内存 分 片 结 构
处理 ,
分别 独立 进行 缓 存 置换 ,由 内存 管 理 部分 来 协 调 “阶层 ”之
间 的 内存 分配 。Memc
ac
he
d使 用两 种缓 存 置 换 算法 ,一 种是 “标 准 LRU”,
一 种 我们 暂且 命 名 为 “分 层 近 似
LRU ”。
(1)标 准 LRU。标准 LRU是 简单 明确 的实 现 了严 格 的 LRU(最近 最少使 用 )算 法 ,
丢弃 的对象 始终 为 最
近一 次访 问距 今时 间最久 的对 象 。对 每个 片 大小 的“层 级 ”,
Memc
ac
hed维护 了一 个 双 向链 表 ,
将所有对象
连在 一起 ;当一个对 象被 访 问时 ,
将 其从 链 表 中“弹 出 ”,
然 后再 加 入 链表 头 。这 样 ,
整个 链 表 按 照最 近 访 问
次序 排序 ,当需 要丢 弃对 象时 ,
直接 从链 表尾部 选 取对象 ,
根据 其属 性进行 处 理 即可 。
(2)分层 近似 LRU。此算 法是 Memca
che
d新 版本 中引 入 的可选算 法 。它并 不是 严 格 的 LRU算法 ,而是
在上 述标 准 LRU 的基础上 做 了一些修 改 和简化 。
标准 LRU无 论读 还是 写 ,
都会触 发链 表操 作 ,
将 对象 移 至链 表 最 前 ;
在 Memc
ac
he
d的实 际应用 中 ,
对数
据 的访 问均为 读多 写少 ,同时访 问频率 明 显不 均 衡 ,大 部 分访 问集 中在少 数 对 象 ;
这 种 情 况 下 ,少部 分 热 对
象会 被频 繁移 动 ,
拖 累整 个 系统 的性能 。
Me
mc
ac
hed首先 去 掉 了所 有读请 求 的链表 移 动操作 ,
仅会 更新 对象 的最 近访 问时 间 ,由扫 描链 表 尾 部 的
回收 函数 判定 对象 并非 “冷对 象 ”而 重新加 人链 表 ;
实 际应 用 中 ,
这 一步便 可剩 下大 量链表 维 护操作 。
简单 的忽 略读请 求 会使得 LRU链 表 中热度 混杂 ,
失 去其本来 的意义 ;
为 了与其
配合 ,同时也 进一 步优化 性能 ,
Me
mc
ac
hed如 图 4将每 个 “片 层 级 ”的链 表 拆 分 为热
丢弃
(HOT)、温 (WARM)、
冷 (COLD)三个 层 级 ,
分 别 保 存 三种 热 度 的对 象 ,
在 置换 对 象
时,
对三个 表分 别处 理 。创 建 新对 象 时 ,
新 对 象 均 会 进入 热 表 ,这 里 的对 象 会 接 受
较少 的移 动 ,以尽量 提升 少数 热对 象 的访 问性 能 ;而访 问频 次较 低 的对 象 并 不会 直
图 4 热 度 分 层 LRU的
移 动示 意
观 的从热 到温 再到冷 ,而是 无 论 原 先 在热 表 还 是 温 表 ,均会 被 移 动 至 冷 表 ,
对象一
旦 “变 冷 ”,
就 只能变 “温 ”而无法 重新 进入 热表 ,
而在 这两 个表 内对象 将会 被更 大概 率 的被 移 出或丢 弃 。
这种算 法 缺点 十分 显而易 见 :
一 个对 象永 远不 会从 “冷 ”回“热 ”,当它 被频 繁访 问时 可能 会 降低性 能 ;
但
从实 际应 用 出发 ,
Memca
ched面对 的热数 据大 多数 为新数 据 ,
此算 法能 避免被 偶然访 问的冷数 据 与热 数 据争
抢资 源 ,
实际 性能 得到 了提升 。
3 对 哈希 表 和 内存 管 理 模 块 的 改进
哈希 表被 广泛 应用 于多个 领域 ,
包括 路 由表查 找
,
布隆过 滤器 ’ 等 。哈希 表 的查 询 与 维护 、内存 的
分配 与管 理 (包 括对 象置 换 )是 内存缓 存 系统 的核 心 ,
这 两方 面 的算 法 设计 直接 影 响 了 整 个 缓存 系统 的性
能 。如上 文所 述 ,
Memca
ched在这两 方 面采用 的是 较为 简单成 熟 的方案 ,
随后 根据 实 际应用进 行 一些 变 通 与
6期
李首 扬 等 :Memca
ched的分 析与改 进
41
优化 ;
这样 的架 构有着 很 大 的提 升 空间 。一直 以来 ,
学术 界 都 在对 这些 方 面进 行 改进 ,
根 据 不 同 的情景 提 出
新 的算法 。针 对实 际应用 场景 中 ,
读 多写 少 ,
并 且硬 件 高 度并 行 化 的 特 点 ,
本 文 结 合 Cuc
koo哈希 与 CLOCK
置换 算法 ,
提 出 了在 高并 发场 景下 提升 Memca
c
he
d性 能 的解决 方案 。
3.1 哈 希 表 一Cuckoo与 DCuckoo
Memcac
hed的哈 希表结 构 虽然 哈希 函数本 身性 能优 秀 ,
但 仍然 是单 哈希 函数 、拉链 法处理 哈 希 冲突 的传
统 哈 希表 ;
其分 区锁 机制也 只 能说是 针对 高并 发 的变通 优化 ,
并未 能利 用如今 高 度并行 化 的硬件 。
本文 直接更 换 哈希表 结构 ,
思想 是利 用应 用读 多写 少 的特 性 ,
将查 找 操作 尽 量并 行 化 处理 ,
考 虑取 舍 牺
牲一 定修 改操 作 的性 能 。选择 的结 果是 DCuc
koo哈希
:
DCuc
koo¨ 哈 希 由 Cuc
koo哈 希 演 变 而 来 。Cuc
koo
哈希 使用 多个 独 立 的哈 希 函 数 ,
对 每 个 请 求 的键 值 计 算
出这 独 立 的若 干 个 函数 ,查 找 对 象 时 ,
查 询 所 有 函数 位
置;
对 读操 作 ,
任 意 一个 函数 位 置命 中则 为 命 中 ,
全部未
命 中则为查 找 失 败 ;
对 写 操 作 ,有 任 意 位 置 为 空 则 插 入 ,
当各 位置都 已满无 法 插 人 新 对 象 时启 动 “踢 ”算 法 :
如图
5,
有 两个 哈希 函数 ,
每 个 对 象 引 出 的箭 头 指 向对 象 另 一
个 哈 希 函数 的位 置 ,
左 图新 插 入 的对 象 所 对 应 位 置 分 别
被 A与 C占据 ;
对象 “踢走 ”A,
使 A到 自己另一 个 哈希 函
数 的 B位置 ;
而 A递 归 踢走 B,最终 形 成 了右 图 的结 果 。
关 于哈希 函数 的数 量 、“踢 走 ”哪个 对象 的选择 ,
都 是 可定
义 内容 。Cuc
ko
o哈希 的一个 缺点 是它 的 “踢”操 作可 能会
陷入 死循 环或 者 很 难 得 到 结 果 ,
在 应 用 中一 般 是 设 置 若
干次 (如 500)次 “踢 ”操 作 还 未 插 入 ,
则 认 为 本 次插 入 失
图 5 Cuckoo哈 希 插 入 示 意 图
败;
对 于缓 存 系统 ,
此 时也 可 以考虑 将 路 径 上某 一 个 对象
直接 置换 丢弃 掉 ,
从 而保 证新对 象插 入 的成 功 ,
两个 选 择都是 可 以接受 的 ;
DCucko
o则 是 结 合 了 Cuc
koo哈希
与另 一种并 行 哈希算 法 ,
D—l
e
f
t哈希 ;D—l
ef
t中 ,
哈 希 表被 分 为 D个 子 表 ,
每 个 表 有各 自的哈 希 函数 ;
插入
时,
在 D个 子表 中选 择最 “空 ”的 表插 入 ;
查询 时,
则 是 并 行 查 询 。DCucko
o结 合 了两个 哈希 算 法 的特 点 ,
D
个子 表均 可实 行 Cucko
o的 “踢 走 ”操作 ,
实现 了更 高 的哈希 表装 载率 与更好 的并 行度 。
3.
2 内存 管理 一CLoCK 算 法
Me
mc
ac
hed采用 的按 大小 分级 、
随后 采 取进 行 标 准或 修 改 版 LRU 方法 可 以提 供 较好 的性 能 ,
但 对要 求
极高 并发 ,
而不 太要 求数 据持久 性 的 内存 缓存 系统 而 言还有 很大 的提 升空 间 。
一
个 重要 思想 就是 “近似 LRU”,
并 不 严格 维 护 LRU关 系 ,而是 通 过 一些 算 法 ,
尽 可 能让 被 丢 弃对 象 是
系统 里较 老 的对象 。实践 中著 名 例子 是 Redi
s
… :其并 不 维 护节 点 的 LRU顺 序 关 系 ,
而 是从 整 个 内存 中 随
机抽 取 一定 数量 的对象 ,
从 中选择 “最 旧 ”的对 象并 丢 弃 。这 种 随机 化算 法 理论 效果 会 差很 多 ,
但在 实 际测
试表 现 中 ,
其 与 LRU的命 中率并 没有 非 常大 的 区别 ,
而其 维 护简便 的优 点可 以带 来 明显 的性 能提 升 。
在近 似 LRU算法 中,
一 个代 表是操 作 系统 内存 管 理 经 常使 用 的 CLOCK算 法 ¨’
” :内存 以块 为单 位 进
行分 配 与释放 ,
并不 维护 LRU的链表 ,
而 是 为每 一 个 块维 护 一 个 “热 度 ”的参 数 ;当对 一个 块 内对 象进 行 访
问 时 ,“热 度 ”提 升 ,
而下 降 由一 个单 独 的“指针 ”线 程完 成 。指针线 程 就像钟 表里 的指 针一样 ,
不 断地 扫过 每
个 区块 ,
对 其指 向的块进 行 “降温 ”操 作 ;当一 个块 降到 “冰 点”以下 ,
那 么它 就可 以被 回收 。
3.
3 结合 新算 法 的流程 与优 势
使 用 Cuc
ko
o哈希 与 CLOCK近 似 LRU算法 后 ,
Memca
che
d的性 能 可 以得 到 提 高 ,可并 发 程 度 有 明显 的
改善
42
网
络
新
媒
体
技
术
201
6正
首先 ,
Cuckoo哈希 的多哈希 算法 相互 独立 ,
可 以做到 完全 并行 ;
无 论 是在 多 核分 别 运行 ,
还 是 在 GPU等
众核 平 台分块 计算 ,
都 十分方便 移植 应 用 ;之后 ,
对 每 一 个 哈希 结 果 都 只有 一 次 访 存 与判 断 ,
没 有 任 何链 表
之类 的扫 描操 作 ,
使 得查 询时 间严格 达 到 O(1),
在 SI
MD(单指 令流 多数 据流 )类 并行 系统 上可 以高效 运行 。
在 哈希表 查询 到对 象之后 ,
CLOCK算法 免去 了对 LRU哈 希表 的繁 琐维 护 与整 个链 表加 锁 的性 能 瓶颈 ,
对数 据热 度 的维护 简化 为每个 数据 块独 立 的变量 加 减 ,
与 单 独线 程 的 内存 扫描 ,
在 最 大 程 度上 减 少 了 系 统
并行 化 的瓶颈 ,
易 于扩展 到更 多 的线 程数 量 。
4 结束语
Me
mc
ac
he
d作 为 内存 缓存 系统 的代 表 ,
结构 清 晰 ,
算法 较 为传统 ,
可提 供稳定 的 服务 ,
但 面对 当前 硬 件 发
展及 并发 访 问要求 的提 高 ,
其架 构 已经遇 到瓶 颈难 以提 升 。本文 以 Memca
c
he
d为样 本分 析 了 内存缓 存 系 统
的结 构 和操作 流程 ,同 时对 哈希 表 与 内存 管 理 两个 核 心模 块使 用 替 代 算 法 进行 优 化 ,提 高 了系 统 的并 发
性能 。
参
考
文
献
Dor
ma
ndo.memcached — a di
s
t
r
i
but
ed me
mo ̄ obj
ec
tc
achi
ng s
ys
t
em [OL].2016 —7 — 1
3/2016 — 7 — 24. ht
t
ps:
//
memcached.org.
[2]Pr
ovosN,Mat
he
ws
onN.1
i
bevent[OL].ht
t
p:
//l
i
bevent
.or
s
/.201
4—01—05.2016—07—24.ht
t
p:
//l
i
bevent
.or
/
s
[3]Jenki
nsB.Has
hf
unct
i
ons[J].Ver
s
i
on19/02/1
5.ht
t
ps:
//code.go
ogl
e.com/p/s
mha
sher
/wi
ki
/Mur
mur
Has
h3.
[4]Appl
ebyA.mur
mur
has
h3[J].2011.
[5]T.Yang,R.Duan,eta1
..CLUE:Achi
evi
ngf
as
tupdat
eove
rcompr
es
s
edt
abl
ef
orpar
al
l
ell
ookupwi
t
hr
educeddynami
cr
edun—
dancy. i
n Proc. IEEE ICDCS,2012.
[6]YangT,Xi
eG,LiY B,eta1
.Guar
ant
eeTPl
o
okuppe
r
f
or
mancewi
t
hFI
Be
xpl
os
i
ng[J].ACM SI
GCOMM Comput
erCommuni
—
cat
i
on Revi
e
w,2015,44(4):39—50
[7]Yang,Tong,Li
u,Al
exX,Shahzad,Muhammadeta1
.A s
hi
f
t
i
ngbl
oom f
il
t
e
rf
r
amewor
kf
ors
etquer
i
es[C].
//Pro
co
ft
het
he
VLDB Endo
wment
.New Yor
k:ACM ,201
6,9(5):1—13
[
8]B.H.Bl
o
o
m. S
p
a
c
e
/t
i
met
r
a
d
e
—
o
f
f
si
nh
a
s
hc
o
di
ngwi
t
ha
l
l
o
wa
b
l
ee
r
r
o
r
s[
J].Co
mmu
n
i
c
a
t
i
o
nso
ft
h
eACM,1
9
70,1
3(7):
422 —
-426
[9]PaghR,Rodl
e
rFF.Cuckoohashi
ng[C]
//Eur
ope
anSympos
i
um onAl
gor
i
t
hms.Spri
ngerBer
l
i
nHei
del
ber
g,2001:1
21—1
33
[1
O]蒋 捷 ,杨 仝 ,张 梦 瑜 ,代 亚 非 ,黄 亮 ,郑 廉 清 .DCu
c
k
o
o:
基 于 片 内 摘要 的 高性 能 哈希 表 [c].
第2
2届 全 国 信 息 存 储 技 术
学 术 会 议 .2016.
[11]Redi
sLa
bs.Us
i
ngRedi
sasa
nLRU cac
he[OL].
2016—7—24/2016—7—24.ht
t
p:
//r
edi
s.i
o/t
opi
es
/l
r
u—ca
che.
[1
2]Co
r
b
a
t
oFJ
.A p
a
g
i
nge
x
p
e
r
i
me
n
twi
t
ht
hemu
hi
c
ss
y
s
t
e
m[
R].MASS
ACHUSET
TSI
NS
T OFTECH CAMBRI
DGE PROJ
ECT
MAC , 1968.
[13]Fa
nB.Ander
senD G,Kami
ns
kyM.MemC3:Compactandconcur
r
entmemcachewi
t
hdumberca
chi
ngand s
mar
t
erhashi
ng
[C]//NSDI2013:371.
384
作 者简 介
李 首 扬 ,(1994.4一),
男 ,硕 士研 究 生 ,
研究方 向:
分 布式 系统 。
通信作者 :
杨仝 ,
北 京 大学 计 算 机 系 ,
助理研究员。
Download