一种专为现代固态硬盘(SSD)设计的高性能、可扩展的用户空间日志结构文件系统

《ACM Transactions on Storage》:A High-Performance and Scalable Userspace Log-Structured File System for Modern SSDs

【字体: 时间:2025年11月07日 来源:ACM Transactions on Storage

编辑推荐:

  提出AugeFS,一种针对现代SSD优化的用户空间日志结构文件系统,通过共享受保护地址空间提升控制平面效率,基于LSM-KVS的MetaDB解决元数据扩展性问题,采用域划分和异步IO栈优化数据管理,实验表明其在元数据和数据吞吐量上均显著优于现有系统。

  AugeFS 是一种针对现代固态硬盘(SSD)设计的可扩展用户空间日志结构文件系统。随着非易失性存储技术的迅速发展,现代SSD具有极低的I/O延迟和极高的吞吐能力。例如,三星Z-SSD、英特尔Optane SSD和东芝XL-Flash等产品可以实现低于10微秒的I/O延迟,并且可以达到高达7.0GB/s的I/O带宽。然而,这些先进的SSD仍然在随机访问中表现出比顺序访问更低的性能。这为构建一种能够充分利用现代SSD顺序访问特性的文件系统提出了挑战。

当前的用户空间文件系统(如uFS、Strata等)通常在用户空间中运行,以减少内核的参与,从而提高数据操作的性能。然而,它们通常依赖于内核或受信任的进程来处理控制平面操作,包括元数据操作和并发控制。这种设计导致了较高的控制平面开销,尤其是在多进程共享文件系统时。因此,AugeFS通过重新设计文件系统栈,解决了三个关键问题:控制平面的低效性、元数据扩展性不足以及SSD带宽的未充分利用。

AugeFS引入了一个共享且受保护的用户空间地址区域,用于运行文件系统。这种设计使得文件系统能够实现高效的控制平面和数据平面。通过在用户空间中实现文件系统,AugeFS避免了传统内核文件系统需要穿越用户-内核边界以及多个内核I/O层所带来的大量软件开销。同时,该系统支持跨进程共享,这有助于提高文件系统的并发性能。为了防止意外写入(stray writes)对文件系统造成破坏,AugeFS采用了内存保护技术,如Intel的Memory Protection Key (MPK)。这种技术允许线程仅在执行文件系统服务时访问AugeFS的地址空间,从而保证了文件系统的完整性。

AugeFS还设计了一个基于LSM树的键值存储系统,称为MetaDB,用于组织小尺寸的元数据,如索引节点(inode)。MetaDB通过并行请求处理和细粒度并行写入日志(WAL)来提高元数据的扩展性和性能。并行请求处理允许多个线程独立更新元数据,而不必等待其他线程,从而显著减少了线程同步开销。细粒度并行WAL利用NVMe SSD的持久内存区域(PMR)特性,使得不同线程可以并行地写入和持久化它们的小尺寸日志条目,从而消除日志持久化中的假共享(false sharing)问题。

此外,AugeFS通过将文件分配到不同的域(domain)来提高设备带宽的利用率。每个域维护自己的空间管理元数据,这有助于在多个域之间并行执行文件读取、写入、垃圾回收和检查点操作,从而减少跨域的锁竞争。AugeFS还设计了一个异步I/O栈,用于处理fsync操作,使得数据块和节点块的写入可以并行进行,从而减少同步写入的延迟并提高设备利用率。

为了验证AugeFS的性能优势,作者对其进行了广泛的评估,包括文件系统基准测试和实际应用测试。评估结果表明,AugeFS在同步元数据更新和LevelDB等应用中显著提高了吞吐量。同时,AugeFS的架构设计在处理多线程工作负载时表现出良好的可扩展性,这得益于其对元数据和数据操作的优化。

在实现方面,AugeFS主要由代码段、堆和栈组成,并且在用户空间中实现为一个动态链接库,可以被多个进程共享。MetaDB基于RocksDB v6.5.3实现,预留了一个固定大小的SSD区域(默认为50GB),并构建了一个简单的文件系统(MetaFS)来访问该区域。由于SSTable文件的访问模式相对简单,MetaFS可以避免传统日志结构文件系统中的并发和可扩展性问题。

AugeFS还模拟了持久内存区域(PMR),因为目前商业SSD并不支持PMR。通过保留256MB的Intel Optane持久内存并模拟PCIe延迟,作者能够评估AugeFS在使用PMR时的性能表现。这种模拟使得AugeFS能够在没有真实PMR的情况下,仍然实现对元数据操作的优化。

在性能评估方面,AugeFS在多个基准测试中表现出色。在微基准测试中,AugeFS在元数据操作上显著优于其他文件系统,尤其是在多线程环境下。在宏基准测试中,AugeFS在Filebench测试中表现出更高的吞吐量,这得益于其高效的I/O栈设计和日志结构。在实际应用测试中,AugeFS在LevelDB测试中实现了更高的吞吐量,这表明其在高并发写入场景中具有显著优势。

AugeFS的架构设计还考虑了对元数据和数据操作的性能分析。通过减少线程同步开销和优化日志持久化过程,AugeFS在处理大量并发操作时表现出良好的可扩展性。此外,AugeFS的异步I/O栈设计使得数据块和节点块的写入可以并行执行,从而提高了I/O吞吐量并减少了延迟。

在敏感性分析中,作者探讨了PMR延迟、PMR大小、元数据工作负载大小等因素对AugeFS性能的影响。结果表明,即使在PMR延迟增加的情况下,AugeFS仍然能够保持较高的吞吐量,这得益于其对元数据的细粒度并行处理。此外,随着PMR大小的增加,AugeFS的元数据吞吐量也显著提高,这表明其对SSD带宽的利用能力较强。

AugeFS还展示了其在处理高并发写入和读取时的优势。通过将文件分配到不同的域,并为每个域维护独立的空间管理元数据,AugeFS能够显著减少锁竞争,提高文件操作的并行性。同时,异步I/O栈的设计使得数据块和节点块的写入可以重叠执行,从而提高了整体性能。

综上所述,AugeFS通过创新的架构设计和优化技术,成功解决了用户空间日志结构文件系统在现代SSD上的三个主要挑战:控制平面的低效性、元数据扩展性的不足以及设备带宽的未充分利用。其性能优势在多个基准测试和实际应用中得到了验证,证明了其在现代存储系统中的重要性。
相关新闻
生物通微信公众号
微信
新浪微博
  • 急聘职位
  • 高薪职位

知名企业招聘

热点排行

    今日动态 | 人才市场 | 新技术专栏 | 中国科学人 | 云展台 | BioHot | 云讲堂直播 | 会展中心 | 特价专栏 | 技术快讯 | 免费试用

    版权所有 生物通

    Copyright© eBiotrade.com, All Rights Reserved

    联系信箱:

    粤ICP备09063491号