ACTA Scientiarum Naturalium Universitatis Pekinensis
Research on Sharing Access and Performance Improvement Based on User-space File System
YANG Hongzhang1, YANG Yahui1,†, SUN Guangyu2
1. School of Software & Microelectronics, Peking University, Beijing 102600; 2. School of Electronics Engineering and Computer Science, Peking University, Beijing 100871; † Corresponding author, E-mail: yhyang@ss.pku.edu.cn
Abstract This paper designs UHSFS, a user-space high-performance shared file system for NVME SSD, proposing simple elastic data layout technology, elastic separation of multiple IO queues technology, and multiuser shared memory architecture. The metadata operation performance and IO processing ability are significantly improved, and the shared access of user-space file system is realized. Experiments show that UHSFS has the best metadata operation performance and Filebench workload performance, compared with user-space file systems including UNFS, NVFUSE, BLOBFS, and BLUEFS; queue separation technology can greatly improve IOPS and throughput; UHSFS also has better performance compared with kernel-space file systems including F2FS, XFS and Ext4. Key words user-space; file system; NVME protocol; solid state disk
近年来, 机械硬盘正逐步被基于闪存(flash)介质的固态硬盘(solid state disk, SSD)取代。与此同时, 主机和外部设备之间的协议从AHCI (advanced host controller interface)协议演变为 NVME (nonvolatile memory express)协议。与为机械硬盘设计的 AHCI协议不同, NVME是专为固态硬盘构建的接口协议, 不仅可以发挥固态硬盘在快速读写方面的优势, 还可以充分利用多核CPU和大容量内存。NVME使用简化的命令集, 有效地解析和操作数据,
明确了读写操作的原子性支持, 每个IO队列最多可以管理6.4万条命令, 单个NVME设备最多可以支持6.4万个IO队列[1]。
正是由于SSD与NVME高效的配合, 存储器的硬件时延显著降低, 导致存储软件的时延成为存储系统整体时延的主要部分[2]。传统的内核态文件系统过于厚重, 内核存储栈存在大量的拷贝、上下文切换以及中断等软件开销, 导致读写延迟较大, 无法充分发挥NVME SSD的硬件性能。人们转向研