本文档属于类型a,即报告了一项原创性研究。以下是针对该研究的学术报告:
主要作者及机构
本研究由Abutalib Aghayev(卡内基梅隆大学)、Sage Weil(Red Hat, Inc.)、Michael Kuchnik(卡内基梅隆大学)、Mark Nelson(Red Hat, Inc.)、Gregory R. Ganger(卡内基梅隆大学)和George Amvrosiadis(卡内基梅隆大学)共同完成。该研究发表于2019年10月的ACM Symposium on Operating Systems Principles (SOSP)会议上。
学术背景
本研究的主要科学领域是分布式存储系统,特别是分布式文件系统的存储后端设计。长期以来,分布式文件系统(如Ceph)依赖于本地文件系统(如ext4、XFS)作为其存储后端,以利用其成熟性和便利性。然而,Ceph团队在十年的实践中发现,这种设计带来了显著的性能开销和硬件兼容性问题。具体来说,本地文件系统在事务机制、元数据性能以及对新兴存储硬件的支持方面存在不足。因此,本研究旨在探索一种新的存储后端设计,直接运行在原始存储设备上,以解决这些问题。研究的目标是开发一种高效、灵活且能够适应未来硬件变化的存储后端。
研究流程
1. 问题分析与背景研究
Ceph团队首先总结了使用本地文件系统作为存储后端的三大挑战:
- 高效事务机制:本地文件系统缺乏高效的零开销事务机制,导致性能瓶颈。
- 元数据性能:本地文件系统的元数据操作(如目录枚举)在分布式系统中表现不佳。
- 新兴硬件支持:本地文件系统难以快速适应新兴存储硬件(如SMR硬盘和ZNS SSD)。
Bluestore的设计与实现
Ceph团队开发了Bluestore,一种直接运行在原始存储设备上的用户空间存储后端。Bluestore的核心设计包括:
性能评估与实验
研究团队通过一系列实验评估了Bluestore的性能,并与传统的Filestore后端进行对比。实验包括:
主要结果
1. RADOS对象写入性能
Bluestore在稳态下的吞吐量比Filestore高出50%-100%,尾部延迟降低了一个数量级。Bluestore避免了双写问题和一致性开销,显著提高了写入性能。
RBD性能
对于大于512 KiB的I/O操作,Bluestore的顺序写入和随机写入吞吐量分别比Filestore高出1.7倍和2倍。Bluestore通过直接I/O和优化数据路径,显著降低了性能波动。
纠删码数据覆盖性能
Bluestore在纠删码池中的覆盖写入性能显著优于Filestore。例如,在EC4-2(4个数据块,2个校验块)配置下,Bluestore的IOPS是Filestore的6倍。Bluestore的写时复制(Copy-on-Write)机制避免了全物理拷贝,提高了覆盖写入的效率。
结论
本研究通过开发Bluestore,成功解决了传统本地文件系统在分布式存储后端中的性能瓶颈和硬件兼容性问题。Bluestore不仅显著提高了Ceph的写入性能和元数据操作效率,还为新兴存储硬件(如SMR硬盘和ZNS SSD)的支持提供了可能。Bluestore的设计和实现为分布式文件系统的存储后端提供了新的思路,具有重要的科学价值和实际应用意义。
研究亮点
1. 高效的事务机制:Bluestore通过RocksDB和直接I/O实现了零开销的事务机制,显著提高了性能。
2. 优化的元数据管理:使用键值存储管理元数据,解决了本地文件系统的元数据性能瓶颈。
3. 对新兴硬件的支持:Bluestore的设计使其能够快速适应新兴存储硬件,如SMR硬盘和ZNS SSD。
4. 实验验证的全面性:通过多组实验全面评估了Bluestore的性能,验证了其在实际生产环境中的优势。
其他有价值的内容
本研究还探讨了Bluestore在透明压缩、空间高效校验和以及未来硬件接口探索方面的潜力。这些功能进一步提升了Bluestore的实用性和灵活性,为分布式存储系统的未来发展提供了重要参考。