TOS 2021 Paper 分布式元数据论文阅读笔记整理
问题
在高性能计算(HPC)中,数据和元数据存储在特殊的服务器节点上,客户端应用程序通过网络访问服务器的数据和元数据。在服务器节点通常将大容量数据存储在慢速磁盘上以降低成本,但会导致高延迟。为了提升性能,客户端节点利用数据局部性将临时数据存储在快速SSD上,甚至存储在非易失性主存储器(NVMM)上。因此,只有在整个存储体系结构中包含快速客户端存储设备,才能充分发挥并行文件系统的潜力。
本文方法
本文为Lustre文件系统提出了一种基于NVMM的分层持久客户端缓存(NVMM-LPCC)。实现两种缓存模式:读写模式(RW-NVMM-LPCC)和只读模式(RO-NVMM-LPCC)。NVMM-LPCC与Lustre分层存储管理(HSM)和Lustre布局锁机制集成,为运行在客户端节点上的I/O应用程序提供一致的持久缓存服务,同时维护整个Lustre文件系统的全局统一命名空间。在Lustre的Llite层设计了缓存文件信息的结构,使NVMM-LPCC能够轻松集成各种高性能的本地文件系统来管理本地缓存的数据。
-
在全局命名空间下,Lustre的HSM机制将Lustre服务器端存储层用作慢速存储层,将客户端持久缓存层用作快速存储层。NVMM-LPCC保持数据的一致性和有效性,使所有客户端访问数据具有与Lustre自身提供的一致性保证相同。
-
应用程序通常具有不同的特性,例如延迟敏感型或IO密集型。NVMM-LPCC充分利用了数据局部性,当数据访问集中在单个客户端上时,使用单客户端读写缓存模式,缓存直接为客户端应用程序提供读写访问。如果客户端访问只读数据,NVMM-LPCC也支持读缓存。当数据缓存在多个客户端中时,它可以同时为多个客户端提供读取访问服务。
-
NVMM-LPCC使用NVMM本地文件系统(如NOVA)为应用程序提供缓存I/O请求,充分利用NVMM,减少延迟,提高吞吐量和缓存层性能。
-
NVMM-LPCC将Lustre的配额功能与基于规则的自动缓存策略相结合。如果应用程序发起的文件请求能够满足客户端指定的缓存规则,则文件将自动在客户端本地缓存。基于规则的自动缓存解决方案可以为应用程序定制缓存,为不同的应用程序提供差异化服务,并提供QoS保证。
评估结果表明,与原生Lustre系统相比,NVMM-LPCC可以将平均读取吞吐量提高35.80倍,将平均写入吞吐量提高9.83倍,同时提供出色的可扩展性。
总结
针对Lustre客户端缓存策略的优化,本文提出NVMM-LPCC,将基于NVMM的客户端文件系统与Lustre LPCC缓存方案相结合。缓存在文件粒度上工作,实现两种缓存模式:读写模式(RW-NVMM-LPCC)和只读模式(RO-NVMM-LPCC)。NVMM-LPCC利用Lustre的分层存储管理(HSM)和分布式锁机制,实现客户端缓存和服务器端存储层之间的数据迁移,提供全局统一命名空间并确保数据一致性。在Lustre的Llite层设计了缓存文件信息的结构,使NVMM-LPCC能够轻松集成各种高性能的本地文件系统来管理本地缓存的数据。