基于非易失性存储器的存储引擎性能优化
Performance Optimization of Storage Engine Based on Non-Volatile Memory
-
摘要: 非易失性存储器具有接近内存的读写速度, 可利用其替换传统的存储设备, 从而提升存储引擎的性能。但是, 传统的存储引擎通常使用通用块接口读写数据, 导致了较长的 I/O 软件栈, 增加了软件层的读写延迟, 进而限制了非易失性存储器的性能优势。针对这一问题, 该文以 Ceph 大数据存储系统为基础, 研究设计了基于非易失性存储器的新型存储引擎 NVMStore, 通过内存映射的方式访问存储设备, 根据非易失性存储器的字节可寻址和数据持久化特性, 优化数据读写流程, 从而减小数据写放大以及软件栈的开销。实验结果表明, 与使用非易失性存储器的传统存储引擎相比, NVMStore能够显著提升 Ceph 的小块数据读写性能。Abstract: Non-volatile memory has a read/write speed that is comparable to dynamic random access memory and can be used to replace traditional storage devices to improve the performance of storage engines. However, existing storage engines typically use generic block interfaces to access devices, resulting in a long I/O software stack, increasing read/write latency at software layers, thereby limiting the performance benefits of non-volatile memory. To solve this problem, this paper proposes a new storage engine, named NVMStore, which is based on non-volatile memory and the Ceph big-data storage system platform. NVMStore accesses storage devices through memory mapping and optimizes data read/write processes according to byte-addressability and data persistence characteristics of non-volatile memory, thus reducing the data write amplification and software stack overhead. Experimental results on real non-volatile memory devices show that NVMStore can significantly improve the performance of Ceph when dealing with small block data read/ write workloads, compared with traditional storage engines using non-volatile memory.