TOC 2024 Paper 分布式元数据论文阅读笔记整理
问题
大型并行文件系统上不平衡的I/O负载会影响高性能计算(HPC)应用程序的并行I/O性能,I/O失衡的主要原因之一是缺乏对全系统资源消耗的全局视野。
最近的几项工作缓解了负载平衡问题。
-
服务器端方法[18,67]:旨在同时为所有并发运行的应用程序分配资源。包括Lustre的请求排序系统中使用的标准方法,即网络资源调度器(NRS)[74]。
-
客户端方法[58,91]:在每个应用程序的基础上最小化资源争用。
-
客户端和服务端相结合:如iez[87]和AIOT[103]。iez为元数据服务器(MDS)提供了与应用程序无关的全局资源视图。包括对象存储服务器(OSS)的当前统计数据和数据所在的对象存储目标(OST)集。同时协调来自所有并发运行的应用程序的I/O请求,以优化每个客户端的I/O放置策略。但有两个缺点:用于预测应用程序I/O请求模式的算法以集中方式运行,限制了负载平衡框架的可扩展性;当同时运行不同的HPC工作负载时,无法有效地使负载平衡适应不同文件大小的不同文件布局要求。
在不同工作负载和不同文件I/O大小的大规模并行文件系统中,另一个常见但被忽视的方面是糟糕的文件条带模式[51]。一般来说,文件条带化可以实现并行文件I/O,可以提供高的I/O吞吐量[36]。然而,通常使用的条带计数比推荐的大文件条带计数低得多,导致存储组件的利用率不平衡。这些次优文件布局不一定是用户有意识选择的结果,而只是配置为系统默认值的文件布局的结果。
HPC工作负载的多样性与不同的文件条带模式相结合,阻碍了现有方法的广泛采用。此外,负载平衡技术对客户端应用程序应该是透明的。
本文方法
本文提出了Tarazu,一种端到端的控制平面,使客户端透明地、自适应地写入一组选定的I/O服务器,以实现不同I/O大小下平衡的数据放置。【分析应用I/O请求模式,预测I/O创建行为;统计OSS的信息,与预测的I/O行为结合找到I/O放置策略;最后拦截应用I/O创建请求,按照放置策略进行分配。】
-
从客户端和服务器收集有关应用程序存储要求以及存储服务器负载的实时信息,以平衡的方式将I/O请求映射到OST和OSS,最小化客户端和服务器之间的I/O负载请求的延迟。利用渐进式文件布局(PFL)[26,51],根据I/O大小调整文件布局,随着文件大小的增加调整条带模式。同样支持非PFL布局。
-
将预测模型移动到客户端,并将所有预测的文件请求转发到MDS,以可扩展的方式实现最佳文件放置。
-
设计、实现和验证了一个离散事件模拟器,以实现大规模并行存储系统的可扩展性测试,并验证本文提出的工作的有效性。
在两个常见用例上评估了本文提出的系统:合成I/O基准IOR和科学应用I/O内核HACC-I/O。还使用了离散时间模拟器,其中包含来自Summit超级计算机上运行的新兴工作负载的实际HPC应用程序跟踪,以验证Tarazu在大规模存储环境中的有效性和可扩展性。结果显示,与最先进的技术相比,负载平衡和读取性能分别提高了33%和43%。
总结
针对大型分布式并行文件系统的I/O负载不均衡问题,面临工作负载多样性、不同文件条带模式等问题。本文提出Tarazu,使客户端透明地、自适应地写入一组I/O服务器,实现不同I/O大小下平衡的数据放置。核心思路是:分析应用I/O请求模式,预测I/O创建行为;统计OSS的信息,与预测的I/O行为结合找到I/O放置策略;拦截应用I/O创建请求,按照放置策略进行分配。包括两个技术:(1)从客户端和服务器收集有关应用程序存储要求以及存储服务器负载的实时信息,以平衡的方式将I/O请求映射到OST和OSS。(2)将预测模型移动到客户端,并将预测的文件请求转发到MDS,以可扩展的方式实现最佳文件放置。