DAOS: A Scale-Out High Performance Storage Stack for Storage Class Memory——论文泛读

Supercomputing Frontiers 2020 Paper分布式元数据论文阅读笔记整理

问题

企业、政府和学术界出现的数据密集型应用程序将现有的I/O模型扩展到了极限。现代I/O工作负载的特点是元数据与未对齐和碎片化数据的结合比例越来越高。传统的存储堆栈为这些工作负载提供了较差的性能,因为它增加了大量的延迟并引入了对齐约束。

随着经济实惠的大容量持久性内存与高速结构相结合,为重新定义存储模式和高效支持现代I/O工作负载提供了一个独特的机会。新堆栈必须从头开始就采用字节粒度的无共享接口,还必须能够支持大规模分布式存储,而故障将成为常态,同时保持低延迟和高带宽的结构访问。

本文方法

本文介绍了分布式异步对象存储(DAOS),一种开源的扩展存储系统,支持用户空间中的存储类内存(SCM)和NVMe存储。它的高级存储API支持结构化、半结构化和非结构化数据模型,克服了传统的基于POSIX的并行文件系统的限制。对于HPC工作负载,DAOS提供了对MPI-IO和HDF5的直接支持,以及对遗留应用程序的POSIX访问。

DAOS是一个开源软件定义的对象存储, 为大规模分布式非易失性内存(NVM)设计的。提供了KV存储接口,并提供了事务性非阻塞I/O、版本化数据模型和全局快照等特性。

三个模块:

  • 持久内存和持久内存开发工具包(PMDK)。用来存储所有内部元数据、应用程序/中间件KV索引、对延迟敏感的小型I/O。在系统启动期间,DAOS使用系统调用来初始化对持久内存的访问。例如,它将DAX文件系统的持久内存文件映射到虚拟内存地址空间。当系统启动和运行时,通过load和store等内存指令直接访问用户空间中的持久内存,而不需要长的存储调用堆栈。

  • NVMe SSD硬盘和存储性能开发套件(SPDK)[7],支持大I/O和延迟不敏感的小I/O。SPDK提供了一个C库,可以链接到存储服务器,并可以向NVMe SSD提供直接的零拷贝数据传输。DAOS服务可以通过SPDK队列异步提交来自用户空间的多个I/O请求。SPDK I/O完成后,将在永久存储器中为先前存储在SSD中的数据创建索引。

  • Libfabric[8]和底层高性能结构,如Omni-Path架构或InfiniBand(或标准TCP网络)。Libfabric是一个库,用于定义用户空间API和OFI,并将Libfabric通信服务导出到应用程序或存储服务。DAOS的传输层构建在Mercury[9]之上,使用libfabric/OFI插件。它为消息和数据传输提供了基于回调的异步API,并为推进网络活动提供了无线程轮询API。DAOS服务线程可以主动轮询来自Mercury/libfabric的网络事件,作为异步网络操作的通知,而不使用中断,避免上下文切换对性能产生负面影响。

总结

针对大规模分布式非易失性内存(NVM)下的存储系统,本文提出DAOS,采用PMDK、SPDK、RDMA、用户态线程等技术,使数据从发起到存储的整个过程都处于用户态。核心是3个组件:(1)用持久内存和PMDK,存储元数据、KV索引、对延迟敏感的小型I/O,使用load和store等内存指令直接访问。(2)用NVMe SSD和SPDK,支持大I/O和对延迟不敏感的小I/O,使用零拷贝、异步提交I/O等技术。(3)用Libfabric定义用户空间API,客户端的消息和数据传输使用基于回调的异步API,服务线程采用轮询处理网络事件,不使用中断,避免上下文切换对性能的影响。

相关推荐
做cv的小昊9 分钟前
结合代码读3DGS论文(12)——NeurIPS 2024 Spotlight 3DGS经典Backbone工作3DGS-MCMC论文及代码解读
论文阅读·计算机视觉·3d·图形渲染·游戏开发·计算机图形学·3dgs
min1811234561 天前
小型网站开发简易流程步骤 在线画图工具快速生成开发流程图方法
论文阅读·信息可视化·毕业设计·流程图·论文笔记
0x2111 天前
[论文阅读]DeepSeek-V3 Technical Report
论文阅读
SUNNY_SHUN2 天前
VLM走进农田:AgriChat覆盖3000+作物品类,607K农业视觉问答基准开源
论文阅读·人工智能·算法·开源
七元权2 天前
论文阅读-Fast-FoundationStereo
论文阅读
feasibility.3 天前
DreamZero技术解析:当世界模型成为机器人“物理大脑”
论文阅读·人工智能·机器人·零样本·具身智能·vla·世界模型
STLearner3 天前
WWW 2026 | 时空数据(Spatial Temporal)论文总结(交通预测,人群移动,轨迹表示,信控等)
大数据·论文阅读·人工智能·深度学习·机器学习·数据挖掘·自动驾驶
STLearner3 天前
WWW 2026 | 时间序列(Time Series)论文总结(预测,生成,插补,分类,异常检测等)
论文阅读·人工智能·深度学习·神经网络·算法·机器学习·数据挖掘
Biomamba生信基地3 天前
视频回放:《PHYTOMEDICINE》一作专访
论文阅读·生物信息学·单细胞测序
锅挤4 天前
来一篇儿:《Boosting Adversarial Attacks with Momentum》
论文阅读·机器学习