Systems that require high-throughput and fault tolerance, such as key-value stores and databases, are looking to persistent memory to combine the performance of in-memory systems with the data-consistent fault-tolerance of nonvolatile stores. Persistent memory devices provide fast bytea-ddressable access to non-volatile memory. We analyze the design space when integrating persistent memory into in-memory key value stores and quantify performance tradeoffs between throughput, latency, and and recovery time. Previous works have explored many design choices, but did not quantify the tradeoffs. We implement persistent memory support in Redis and Memcached, adapting the data structures of each to work in two modes: (1) with all data in persistent memory and (2) a hybrid mode that uses persistent memory for key/value data and non-volatile memory for indexing and metadata. Our experience reveals three actionable design principles that hold in Redis and Memcached, despite their very different implementations. We conclude that the hybrid design increases throughput and decreases latency at a minor cost in recovery time and code complexity


翻译:需要高通量和差分容忍度的系统,例如关键值仓库和数据库,正在寻找耐久性记忆,以便将模拟系统的性能与非挥发性仓库的数据一致的过错耐受力结合起来。耐久性记忆装置提供快速的字节可改用的非挥发性记忆。当将耐久性记忆纳入模拟关键值仓库并量化通过量、延缓度和回收时间之间的性能权衡时,我们分析了设计空间。以前的工作探索了许多设计选择,但没有量化权衡。我们在Redis和Memcached中持续性记忆支持,将每个系统的数据结构调整为两种模式:(1)所有持续性记忆中的数据,和(2)使用耐久性记忆用于关键/价值数据和非挥发性记忆用于索引和元数据的混合模式。我们的经验揭示了三种可操作的设计原则,这些原则在Redis和Memcached之间,尽管其执行程度非常不同。我们的结论是,混合性设计增加过量,减少延迟性,在恢复时间和代码复杂性方面费用很小。

0
下载
关闭预览

相关内容

Memcached 是一套分布式的高速缓存系统,当初是 Danga Interactive 为了LiveJournal 所发展的,但目前被许多软件所使用。这是一套开放源代码软件,以 BSD license 授权释出。
深度强化学习策略梯度教程,53页ppt
专知会员服务
176+阅读 · 2020年2月1日
Stabilizing Transformers for Reinforcement Learning
专知会员服务
57+阅读 · 2019年10月17日
Keras François Chollet 《Deep Learning with Python 》, 386页pdf
专知会员服务
144+阅读 · 2019年10月12日
强化学习最新教程,17页pdf
专知会员服务
167+阅读 · 2019年10月11日
[综述]深度学习下的场景文本检测与识别
专知会员服务
77+阅读 · 2019年10月10日
msf实现linux shell反弹
黑白之道
49+阅读 · 2019年8月16日
计算机类 | PLDI 2020等国际会议信息6条
Call4Papers
3+阅读 · 2019年7月8日
Hierarchically Structured Meta-learning
CreateAMind
23+阅读 · 2019年5月22日
Unsupervised Learning via Meta-Learning
CreateAMind
41+阅读 · 2019年1月3日
RL 真经
CreateAMind
5+阅读 · 2018年12月28日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
LibRec 精选:推荐系统的论文与源码
LibRec智能推荐
14+阅读 · 2018年11月29日
Hierarchical Imitation - Reinforcement Learning
CreateAMind
19+阅读 · 2018年5月25日
【推荐】RNN/LSTM时序预测
机器学习研究会
25+阅读 · 2017年9月8日
Auto-Encoding GAN
CreateAMind
7+阅读 · 2017年8月4日
Generalization and Regularization in DQN
Arxiv
6+阅读 · 2019年1月30日
Accelerated Methods for Deep Reinforcement Learning
Arxiv
6+阅读 · 2019年1月10日
Hierarchical Deep Multiagent Reinforcement Learning
Arxiv
8+阅读 · 2018年9月25日
QuAC : Question Answering in Context
Arxiv
4+阅读 · 2018年8月21日
Arxiv
6+阅读 · 2018年2月7日
VIP会员
相关资讯
msf实现linux shell反弹
黑白之道
49+阅读 · 2019年8月16日
计算机类 | PLDI 2020等国际会议信息6条
Call4Papers
3+阅读 · 2019年7月8日
Hierarchically Structured Meta-learning
CreateAMind
23+阅读 · 2019年5月22日
Unsupervised Learning via Meta-Learning
CreateAMind
41+阅读 · 2019年1月3日
RL 真经
CreateAMind
5+阅读 · 2018年12月28日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
LibRec 精选:推荐系统的论文与源码
LibRec智能推荐
14+阅读 · 2018年11月29日
Hierarchical Imitation - Reinforcement Learning
CreateAMind
19+阅读 · 2018年5月25日
【推荐】RNN/LSTM时序预测
机器学习研究会
25+阅读 · 2017年9月8日
Auto-Encoding GAN
CreateAMind
7+阅读 · 2017年8月4日
Top
微信扫码咨询专知VIP会员