IPDPS 2023 Paper 分布式元数据论文阅读笔记整理
问题
高性能计算(HPC)系统上的科学应用正在以越来越快的速度产生和消耗数据。但由于共享并行文件系统(PFS)的争用,文件大小和访问速率的增加导致应用程序的I/O时间高得令人无法接受。为了缓解PFS I/O瓶颈,系统设计人员引入了可以提供更高I/O性能的新存储层。例如,Summit使用节点本地存储(NLS)来增强并行文件系统[1],El Capitan系统利用近节点本地存储能力[2]。与并行文件系统相比,新的存储层在I/O性能方面具有许多优势:由于争用减少,本地I/O操作实现了一致的带宽和延迟,I/O带宽随着作业中节点数量的增加而扩展[3]。然而,这些分布式、独立的本地存储层使用起来很困难,因为它们不提供许多HPC应用程序I/O模式所需的共享文件命名空间。
此外,大多数HPC文件系统都遵循POSIX I/O规范[4]的一致性语义,该规范引入了高I/O开销,因为文件系统必须确保并发文件操作的结果具有一致的顺序,并且写入操作完成后所有进程都能立即看到。然而,POSIX I/O一致性对于HPC来说很少是必要的[5],因为进程的并发文件访问通常不相交。但现有的文件系统没有提供以不那么严格的语义换取改进的I/O性能的能力。
本文方法
本文提出了UnifyFS,一个临时用户级文件系统,聚合了高性能计算(HPC)系统上可用的节点本地存储层,并使其在统一的命名空间下可供HPC应用程序使用。UnifyFS在作业分配开始时启动,并在作业结束时终止,用户必须在终止服务器之前明确地将数据从UnifyFS复制到另一个持久存储位置以持久化产生的数据。UnifyFS在作业中使用,以获得更高的性能。
-
采用透明的I/O拦截,因此不需要更改应用程序代码,只需要修改文件路径,并且与常用的HPC I/O库兼容。
-
支持主要的HPC I/O工作负载,并针对突发、批量同步I/O模式进行了优化。
-
提供了可定制的文件系统语义,以灵活地适应不同的I/O工作负载和存储设备的行为。如放宽一致性和权限检查,换取更高性能。
实验结果表明,UnifyFS在写操作方面表现出优异的扩展性能,与优化配置相比,可以将应用程序检查点操作的性能提高3倍。
总结
针对HPC系统的优化,现有系统受限于共享并行文件系统(PFS)的争用和一致性语义,导致I/O瓶颈。本文提出UnifyFS,一个临时用户级文件系统,它聚合了HPC系统上可用的NLS层,并使它们在统一的命名空间下可供应用程序使用。包括3个技术:(1)采用透明的I/O拦截,与常用的HPC I/O库兼容。(2)支持主要的HPC I/O工作负载,并针对突发、批量同步I/O模式进行了优化。(3)支持可定制系统语义,例如放宽一致性和权限检查,以换取高性能。