File System Semantics Requirements of HPC Applications——论文泛读

HPDC 2021 Paper 分布式元数据论文汇总

问题

大多数广泛部署的并行文件系统(PFS)实现POSIX语义,这意味着对读写的顺序一致性。但严格遵循POSIX语义会妨碍性能,因此引入了一些具有松弛一致性语义和更好性能的新PFS。这种PFS在应用程序可以在具有较弱语义的PFS上正确运行的前提下是有用的。虽然普遍认为高性能计算应用程序不需要严格的POSIX语义,但尚未进行系统的工作来支持这个假设。

挑战

PFS性能的一个主要障碍是严格遵守POSIX语义,这需要总体上的顺序一致性和许多操作的原子性[62,68]。这些要求的严格执行阻碍了缓存,产生了大量的额外流量,并在高度共享的情况下导致拥塞,尤其是对于小块读写[42]。

尽管这些宽松的语义PFS极大地提高了I/O性能,但关于它们是否正确有效地支持HPC应用程序的能力,仍然存在几个未解决的问题:(a)通常不知道应用程序是否可以在语义较弱的PFS上正确运行。(b) 确定应用程序所需的语义很有挑战性,因为I/O模式取决于执行流和高级I/O库的行为。(c) 不同PFS以不同的方式放宽POSIX语义,这降低了应用程序在PFS之间的可移植性。(d) 关于PFS实现的宽松语义,没有被广泛接受的分类或定义供应用程序或I/O库进行目标选择。总而言之,信息的缺乏导致HPC系统设计者选择保守的PFS,可能导致许多应用程序的I/O性能不必要地降低。

现有方法的缺陷

缺乏对应用程序的一致性需求进行分类的方法。

本文方法

我们的工作重点是收集I/O操作的详细痕迹,其明确目的是分析它们的行为,以理解HPC应用程序所需的文件系统语义。

我们对PFS的一致性语义进行分类,开发了一种算法基于较弱语义下访问冲突的可能性来测试应用程序的一致性需求。我们还开发了一个PFS一致性模型的分类,作为用松弛语义描述PFS提供的语义的基础。

我们捕获了17个代表性HPC应用程序和基准应用程序通过POSIX或I/O库执行I/O时的I/O活动,并研究了它们使用的元数据操作及其文件访问模式。通过这个分析,我们发现17个应用程序中有16个可以利用具有较弱语义的PFS。

开源代码:https://github.com/uiuchpc/Recorder

总结

很多HPC应用不需要保证顺序一致性,实现顺序一致性会影响缓存、产生额外流量、在高度共享下产生拥塞。作者通过对HPC应用的I/O操作进行分析,基于较弱语义下的访问重叠和访问冲突测试,来分析应用的一致性需求;并提出了PFS一致性模型的分类,根据应用分析结果对应到不同的一致性模型中。

属于HPC应用优化的前置工作,分析后可以对不同应用使用不同一致性模型优化性能。

你可能感兴趣的:(论文阅读,论文阅读)