ISSN 1000-1239 CN 11-1777/TP

计算机研究与发展 ›› 2021, Vol. 58 ›› Issue (2): 406-417.doi: 10.7544/issn1000-1239.2021.20200389

所属专题: 2021大数据时代的存储系统与智能存储技术专题

• 系统结构 • 上一篇    下一篇

基于持久性内存和SSD的后端存储MixStore

屠要峰1,2,陈正华2,韩银俊2,陈兵1,关东海1   

  1. 1(南京航空航天大学计算机科学与技术学院 南京 211106);2(中兴通讯股份有限公司 南京 210012) (tu.yaofeng@zte.com.cn)
  • 出版日期: 2021-02-01
  • 基金资助: 
    国家重点研发计划项目(2018YFB1003301);江苏省重点研发计划项目(BE2019012)

MixStore: Back-End Storage Based on Persistent Memory and SSD

Tu Yaofeng1,2, Chen Zhenghua2, Han Yinjun2, Chen Bing1, Guan Donghai1   

  1. 1(Department of Computer Science and Technology, Nanjing University of Aeronautics and Astronautics, Nanjing 211106);2(ZTE Corporation, Nanjing 210012)
  • Online: 2021-02-01
  • Supported by: 
    This work was supported by the National Key Research and Development Program of China (2018YFB1003301) and the Key Research and Development Program of Jiangsu Province(BE2019012).

摘要: 持久性内存(persistent memory, PMEM)同时具备内存的低时延字节寻址和磁盘的持久化特性,将对现有软件架构体系产生革命性的变化和深远的影响.分布式存储在云计算和数据中心得到了广泛的应用,然而现有的以Ceph BlueStore为代表的后端存储引擎是面向传统机械盘和固态硬盘(solid state disk, SSD)设计的,其原有的优化设计机制不适合PMEM特性优势的发挥.提出了一种基于持久性内存和SSD的后端存储MixStore,通过易失区段标记和待删除列表技术实现了适用于持久性内存的并发跳表,用于替代RocksDB实现元数据管理机制,在保证事务一致性的同时,消除了BlueStore的compaction所引发的性能抖动等问题,同时提升元数据的并发访问性能;通过结合元数据管理机制的数据对象存储优化设计,把非对齐的小数据对象存放在PMEM中,把对齐的大块数据对象存储在SSD上,充分发挥了PMEM的字节寻址、持久性特性和SSD的大容量低成本优势,并结合延迟写入和CoW(copy-on-write)技术实现数据更新策略优化,消除了BlueStore的WAL日志引起的写放大,提升小数据写入性能.测试结果表明,在同样的硬件环境下,相比BlueStore,MixStore的写吞吐提升59%,写时延降低了37%,有效地提升了系统的性能.

关键词: 持久性内存, 并发跳表, 后端存储, 混合存储, BlueStore存储引擎

Abstract: Persistent memory (PMEM) has both the low-latency byte addressing of memory and the persistence characteristics of disk, which will bring revolutionary changes and far-reaching impact on the existing software architecture system. Distributed storage has been widely used in cloud computing and data centers, but the existing back-end storage engines represented by Ceph BlueStore are designed for traditional mechanical disks and solid state disks(SSD), and its original optimization design mechanism is not suitable for exerting the advantages of PMEM. In this paper, a back-end storage MixStore is proposed based on PMEM and SSD. Through the volatile range marking and to-be-deleted list technology, a Concurrent SkipList suitable for persistent memory is implemented, which is used to replace RocksDB to implement the metadata management mechanism. While ensuring transaction consistency, it eliminates the performance jitter and other issues caused by BlueStore’s compaction, and improves the concurrent access performance of metadata. The storage optimization design of data objects based on the metadata management mechanism is adopted, non-aligned small blocks of data objects are stored in PMEM, and the aligned large blocks of data objects are stored in SSD. This makes full use of the byte addressing and durability characteristics of the PMEM, and the large-capacity and low-cost advantage of the SSD. The data update policy is optimized based on the delayed writing and copy-on-write (CoW) technology, eliminating the write amplification caused by the WAL log of BlueStore and improving the performance of small data writing. The test results show that under the same hardware environment, MixStore’s write throughput is increased by 59% and the write latency is reduced by 37% compared with that of BlueStore, which effectively improves the system performance.

Key words: persistent memory, Concurrent SkipList, back-end storage, mixed storage, BlueStore storage engine

中图分类号: