适用于 HPC 工作负载的并行文件系统

Last reviewed 2024-11-05 UTC

本文档介绍了 Google Cloud 中适用于高性能计算 (HPC) 工作负载的存储方案,并说明了何时将并行文件系统用于 HPC 工作负载。在并行文件系统中,多个客户端使用并行 I/O 路径访问存储在多个联网存储节点中的共享数据。

本文档中的信息适用于为数据密集型 HPC 工作负载设计、预配和管理存储的架构师和管理人员。本文档假定您在概念上了解网络文件系统 (NFS)、并行文件系统、POSIX 以及 HPC 应用的存储要求。

什么是 HPC?

HPC 系统通过汇总多个计算资源来快速解决大型计算问题。HPC 推动了医疗保健、生命科学、媒体、娱乐、金融服务和能源等行业的研究和创新。研究人员、科学家和分析师使用 HPC 系统开展实验、运行模拟和评估原型。地震处理、基因组测序、媒体渲染和气候建模等 HPC 工作负载需要以不断增加数据速率和不断降低延迟的方式来生成和访问大量数据。高性能存储和数据管理是 HPC 基础架构的关键基础组件。

Google Cloud 中适用于 HPC 工作负载的存储方案

在本地设置和操作 HPC 基础架构费用高昂,并且基础架构需要持续维护。此外,本地基础架构通常无法快速扩缩以满足需求变化。在本地规划、采购、部署和停用硬件需要花费大量时间,从而导致迟迟无法添加或无法充分利用 HPC 资源。在云端,您可以高效地预配采用了最新技术的 HPC 基础架构,并且可以按需扩缩容量。

Google Cloud 和我们的技术合作伙伴提供经济实惠、灵活且可扩缩的存储方案,帮助您在云端部署 HPC 基础架构以及扩充您的本地 HPC 基础架构。科学家、研究人员和分析师可以在项目需要时快速获得更多 HPC 容量。

如需在 Google Cloud 中部署 HPC 工作负载,您可以根据工作负载的要求从以下存储服务和产品中进行选择:

工作负载类型 推荐的存储服务和产品
需要低延迟数据访问速度但不需要对共享数据集进行极高 I/O 的工作负载,以及在客户端之间进行有限数据共享的工作负载。 使用 NFS 存储。根据需要选择下列其中一项:
生成复杂、相互依赖的大规模 I/O 的工作负载,例如使用消息传递接口 (MPI) 实现可靠进程间通信的紧密耦合的 HPC 应用。 使用并行文件系统。根据需要选择下列其中一项:
如需详细了解并行文件系统可以支持的工作负载要求,请参阅何时使用并行文件系统

何时使用并行文件系统

在并行文件系统中,多个客户端使用并行 I/O 路径跨多个网络存储节点来存储和访问共享数据。并行文件系统非常适合使用 SAS 应用的紧密耦合的 HPC 工作负载,例如数据密集型人工智能 (AI) 工作负载和分析工作负载。对于具有以下任意要求的延迟敏感型 HPC 工作负载,请考虑使用 Lustre 等并行文件系统:

  • 紧密耦合的数据处理:天气建模和地震探测等 HPC 工作负载需要使用在多个服务器上同时运行的大量相互依赖的作业来重复处理数据。这些进程通常使用 MPI 定期交换数据,并使用检查点从故障中快速恢复。并行文件系统可让相互依赖的客户端通过低延迟网络并发存储和访问大量共享数据。
  • 支持 POSIX I/O API 和语义:Lustre 等并行文件系统非常适合需要 POSIX API 和语义的工作负载。文件系统的 API 及其语义是独立的功能。例如,NFS 支持 POSIX API,这是应用使用 open()read()write() 等功能读取和写入数据的方式。但是,NFS 协调不同客户端之间数据访问的方式与 POSIX 语义不同,POSIX 语义协调机器上的不同线程之间的数据访问。例如,NFS 不支持客户端之间的 POSIX 写入后读取缓存一致性;它依赖于 NFSv3 中的弱一致性,以及 NFSv4 中的近似打开一致性
  • PB 级容量:并行文件系统在单个文件系统命名空间中可以扩容若干 PB 的容量。 NetApp Volumes 和 Filestore Zonal 支持每个数据集高达 100 TiB。Cloud Storage 提供能够自动扩缩的低成本、可靠的容量,但可能无法满足 HPC 工作负载的数据共享语义和低延迟要求。
  • 低延迟和高带宽:对于需要高速访问非常大的文件或数百万个小文件的 HPC 工作负载,并行文件系统的性能可以超过 NFS 和对象存储。并行文件系统的延迟时间(0.5 毫秒至 10 毫秒)明显低于对象存储,这可能会影响最大 IOPS。此外,并行文件系统支持的最大带宽可能比基于 NFS 的系统高几个数量级。例如,Google Cloud 上的 DDN EXAScaler 展示了 10 Tbps 以上的读取带宽,超过使用 IO500 基准 时的 700 GBps 的写入带宽以及每秒 190 万个文件 stat()调用。
  • 极端客户端扩缩:虽然 NFS 存储可以支持数千个客户端,但并行文件系统可以扩缩以支持从超过 10,000 个客户端并发访问共享数据。

紧密耦合的 HPC 应用示例

本部分介绍需要并行文件系统提供的低延迟和高吞吐量存储的紧密耦合的 HPC 应用示例。

由 AI 驱动的分子建模

制药研究是一种昂贵的、数据密集的过程。现代药品研究组织依靠 AI 来降低研发费用、高效扩缩运营以及加速科学研究。例如,研究人员使用由 AI 驱动的应用来模拟药品中分子之间的相互作用,以及预测药品中化合物效果的变化。这些应用在强大的并行 GPU 处理器上运行,这些处理器可加载、整理和分析大量数据并快速完成模拟。并行文件系统提供了最大限度地提高 AI 应用性能所需的存储 IOPS 和吞吐量。

使用 SAS 应用进行信用风险分析

抵押贷款机构和投资银行等金融服务机构需要持续分析和监控其客户及其投资组合的信用价值。例如,大型抵押贷款机构每天会收集数千个潜在客户的相关风险数据。信用分析师团队使用分析应用来协作查看每个客户的数据的不同部分,例如收入、信用历史记录和支出模式。分析结果可帮助信用分析师提供准确、及时的贷款建议。

为了加速和扩缩对大型数据集进行的分析,金融服务机构使用 SAS Grid Manager 等网格计算平台。Google Cloud 上的 DDN EXAScaler 等并行文件系统支持多线程 SAS 应用的高吞吐量和低延迟存储要求。

天气预报

为了预测给定地理区域中的天气模式,气象学家将该区域划分为多个单元,并在每个单元中部署地面雷达和探空气球等监控设备。这些设备会定期观察和测量大气条件。设备将数据连续流式传输到在 HPC 集群中运行的天气预测应用。

天气预测应用使用数学模型来处理流式数据,这些模型基于测量出的天气参数之间的已知物理关系。一个单独的作业用于处理来自该区域中每个单元的数据。应用收到新测量结果时,每个作业都会遍历其分配单元的最新数据,并与区域中其他单元的作业交换输出。为了可靠地预测天气模式,应用需要存储和共享数千个并行运行的作业所生成和访问的以 TB 计的数据。

适用于飞机设计的 CFD

计算流体动力学 (CFD) 需要使用数学模型、物理法则和计算逻辑来模拟移动对象周围的气体或液体的行为。飞机工程师设计飞机机架时,考虑的因素之一是空气动力学。借助 CFD,设计者可以快速模拟设计更改所产生的空气动力学影响,然后再投入时间和资金来构建昂贵的原型。在分析每次模拟运行的结果后,设计者可以优化飞机机架上各个组件的体积和形状等属性,并重新模拟空气动力。CFD 让飞机设计者能够快速协同模拟数百个此类设计更改的效果。

为了高效完成设计模拟,CFD 应用需要对共享数据进行亚毫秒级的访问,并且能够以高达 100 GBps 的速度存储大量数据。

Lustre 和 EXAScaler Cloud 概览

Lustre 是开源并行文件系统,为紧密耦合的 HPC 工作负载提供高吞吐量和低延迟的存储。除了 Linux 中的标准 POSIX 装载点之外,Lustre 还支持 NetCDFHDF5MPI-IO 等数据和 I/O 库,从而对各种应用领域进行并行 I/O。Lustre 为全球范围内的许多大型 HPC 部署提供支持。Lustre 文件系统具有可扩缩的架构,其中包含以下组件:

  • 管理服务器 (MGS) 存储和管理一个或多个 Lustre 文件系统的配置信息,并将这些信息提供给其他组件。
  • 元数据服务器 (MDS) 使用元数据(例如目录层次结构、文件名和访问权限)管理客户端对 Lustre 文件系统命名空间的访问。
  • 对象存储服务器 (OSS) 管理客户端对 Lustre 文件系统中存储的文件的访问。
  • Lustre 客户端软件允许客户端装载 Lustre 文件系统。

文件系统中可以存在多个 MDS 和 OSS 实例。您可以根据需要添加新的 MDS 和 OSS 实例。如需详细了解 Lustre 文件系统及其工作原理,请参阅 Lustre 文档

EXAScaler Cloud 是 Lustre 的企业级版本,由 Google 合作伙伴 DDN 提供。EXAScaler Cloud 是共享文件解决方案,可以提供高性能的数据处理,并管理支持 AI、HPC 和分析工作负载时所需的大量数据。EXAScaler Cloud 非常适合用于 Google Cloud 中的深度学习和推断 AI 工作负载。您可以将其部署在混合云架构中,以扩充本地 HPC 容量。EXAScaler Cloud 还可用作存储本地 EXAScaler 部署中的长期资产的存储库。

由 IBM Storage Scale 推动的 Sycomp Storage 概览

借助 Google Cloud Marketplace 中 IBM Storage Scale 助力的 Sycomp Storage,您可以在 Google Cloud 中运行高性能计算 (HPC)、人工智能 (AI)、机器学习 (ML) 和大数据工作负载。借助 Sycomp Storage,您可以并发访问数千个虚拟机的数据,通过自动管理存储层级来降低费用,并在本地或 Google Cloud 中运行应用。Cloud Marketplace 中提供了由 IBM Storage Scale 推动的 Sycomp Storage,它可以快速部署,并且支持通过 NFS 和 IBM Storage Scale 客户端访问您的数据。

IBM Storage Scale 是一个并行文件系统,可帮助安全管理大量(PB 级)数据。Sycomp Storage Scale 是一个并行文件系统,非常适合 HPC、AI、机器学习、大数据,以及需要符合 POSIX 标准的共享文件系统的其他应用。Sycomp Storage 具有适应性强的存储容量和性能扩缩功能,可支持小型到大型 HPC、AI 和机器学习工作负载。

在 Google Cloud 中部署集群后,您可以决定要如何使用集群。可选择是仅在云中还是在混合模式下(通过连接到现有的本地 IBM Storage Scale 集群、第三方 NFS NAS 解决方案或其他基于对象的存储解决方案)进行使用。

后续步骤

贡献者

作者: Kumar Dhanagopal | 跨产品解决方案开发者

其他贡献者: