DV-NVLLC: Efficiently guaranteeing crash consistency in persistent memory via dynamic versioning

Kai Tang, Wei Tong, Jun Ma, Bo Liu
{"title":"DV-NVLLC: Efficiently guaranteeing crash consistency in persistent memory via dynamic versioning","authors":"Kai Tang, Wei Tong, Jun Ma, Bo Liu","doi":"10.1109/NAS.2019.8834719","DOIUrl":null,"url":null,"abstract":"Byte-addressable persistent memory provides fast access to persistent data, but problems such as system crashes and power failures may cause persistent data corruption. Though using traditional logging or copy-on-write(COW) can guarantee crash consistency, it results in extra storage and performance overheads, and also shortens the lifetime of persistent memory. To reduce the overhead caused by logging and COW, existing mechanisms ensure consistency by leveraging the different versions of data in a non-volatile CPU cache(NV cache) and persistent memory. However, the performance loss is still significant compared with the system that does not enforce crash consistency. To improve the performance, we analyze the overheads of memory transactions quantitatively, including the access pattern of cache and the asymmetry of read and write of persistent memory media. Based on our analysis, we propose DV-NVLLC which uses the NV cache as the last-level cache(NV-LLC). In NVLLC the dynamic versioning method is used to manage different versions of data based on their update frequency. Hot data is updated-of-place in NV-LLC. Cold data is updated by version control between NV-LLC and persistent memory. Therefore, DV-NVLLC can reduce write traffic to persistent memory while guaranteeing crash consistency. Our evaluation shows that DV-NVLLC improves performance by 18% to 57%, and reduces write traffic to persistent memory by 35% to 89% compared with the state-of-the-art design that uses NV cache as the last-level cache.","PeriodicalId":230796,"journal":{"name":"2019 IEEE International Conference on Networking, Architecture and Storage (NAS)","volume":"39 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2019-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2019 IEEE International Conference on Networking, Architecture and Storage (NAS)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/NAS.2019.8834719","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1

Abstract

Byte-addressable persistent memory provides fast access to persistent data, but problems such as system crashes and power failures may cause persistent data corruption. Though using traditional logging or copy-on-write(COW) can guarantee crash consistency, it results in extra storage and performance overheads, and also shortens the lifetime of persistent memory. To reduce the overhead caused by logging and COW, existing mechanisms ensure consistency by leveraging the different versions of data in a non-volatile CPU cache(NV cache) and persistent memory. However, the performance loss is still significant compared with the system that does not enforce crash consistency. To improve the performance, we analyze the overheads of memory transactions quantitatively, including the access pattern of cache and the asymmetry of read and write of persistent memory media. Based on our analysis, we propose DV-NVLLC which uses the NV cache as the last-level cache(NV-LLC). In NVLLC the dynamic versioning method is used to manage different versions of data based on their update frequency. Hot data is updated-of-place in NV-LLC. Cold data is updated by version control between NV-LLC and persistent memory. Therefore, DV-NVLLC can reduce write traffic to persistent memory while guaranteeing crash consistency. Our evaluation shows that DV-NVLLC improves performance by 18% to 57%, and reduces write traffic to persistent memory by 35% to 89% compared with the state-of-the-art design that uses NV cache as the last-level cache.
DV-NVLLC:通过动态版本控制有效地保证持久内存中的崩溃一致性
字节寻址的持久内存提供了对持久数据的快速访问,但是系统崩溃和电源故障等问题可能会导致持久数据损坏。尽管使用传统的日志记录或写时复制(COW)可以保证崩溃一致性,但它会导致额外的存储和性能开销,并且还会缩短持久内存的生命周期。为了减少日志记录和COW造成的开销,现有机制通过利用非易失性CPU缓存(NV缓存)和持久内存中的不同版本的数据来确保一致性。但是,与不强制崩溃一致性的系统相比,性能损失仍然很大。为了提高性能,我们定量地分析了内存事务的开销,包括缓存的访问模式和持久存储介质的读写不对称。在此基础上,我们提出了使用NV缓存作为最后一级缓存的DV-NVLLC (NV- llc)。在NVLLC中,采用动态版本控制方法根据数据的更新频率对不同版本的数据进行管理。热数据在NV-LLC中就地更新。冷数据通过NV-LLC和持久内存之间的版本控制进行更新。因此,DV-NVLLC可以减少对持久内存的写流量,同时保证崩溃一致性。我们的评估表明,与使用NV缓存作为最后一级缓存的最先进设计相比,DV-NVLLC将性能提高了18%至57%,并将对持久内存的写流量减少了35%至89%。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信