你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
HPC 能源环境的存储
大规模 HPC 工作负载对数据存储和访问的需求超过了传统云文件系统的功能。
以下是需要考虑和确定应用程序要求以决定要使用的存储解决方案的因素
- 延迟
- IOPS、
- 吞吐量
- 文件大小和计数,
- 作业运行时间
- 关联的成本
- 存储位置的相关性 - 本地与 Azure
若要进一步了解影响 Azure 中选择的 HPC 存储的因素,请参阅“了解影响 Azure 中 HPC 存储选择的因素”。
特定 HPC 存储系统选择的决策树。
HPC 设计注意事项
石油和天然气公司必须能够有效地管理和存储数十亿字节的地震数据、井数据、地图、租赁等。 为了使用此数据,他们需要一个高性能基础结构,它可以处理和交付实时分析,以帮助优化生产、降低环境风险并提高运营安全性。
数据存储和访问需求差异很大,具体取决于工作负载规模。 Azure 支持用多种方法来管理 HPC 应用程序的速度和容量。
能源行业的大规模 Batch 和 HPC 工作负载对数据存储和访问的需求超过了传统云文件系统的功能。 高性能计算(HPC)的高性能 I/O 要求和大规模可伸缩性需求为数据存储和访问带来了独特的挑战。
HPC 用于解决复杂的问题,如地震和水库模拟和建模,这些问题并非实用或经济高效,无法处理传统计算技术。 它通过并行处理和大规模可伸缩性的组合执行此操作,以快速、高效、可靠地执行大型和复杂的计算任务。
此外,在 Azure HPC 群集中,计算节点是可以根据需要启动的虚拟机,以执行群集分配的任何作业。 这些节点将计算任务分散到群集中,以实现解决 HPC 所应用的复杂问题所需的高性能并行处理。 执行作业时,计算节点需要在共享工作存储上执行读/写操作。 节点访问此存储的方式属于这两种方案之间的连续性:
- 一组数据到多个计算节点 - 在此方案中,网络上有一个数据源,所有计算节点都可以访问工作数据。 虽然结构简单,但任何 I/O 操作都受存储位置的 I/O 容量的限制。
- 许多数据集到许多计算节点 - 在此方案中,网络上有一个数据源,所有计算节点都可以访问工作数据。 虽然结构简单,但任何 I/O 操作都受存储位置的 I/O 容量的限制。
HPC 设计推荐
选择的解决方案应最能符合自己的 I/O 和容量需求。
网络文件系统 (NFS)
NFS 通常用于提供对共享存储位置的访问权限。 使用 NFS 时,服务器 VM 会共享其本地文件系统,在这种情况下,Azure 存储在Azure 存储中托管的一个或多个虚拟硬盘(VHD)。 然后,客户端可以装载服务器的共享文件并直接访问共享位置。
网络文件系统(NFS)通常用于在所有节点上装载的主目录和项目空间。 它通常还可以为共享数据的研究组提供空间。 一般情况下,吞吐量工作负荷水平可缩放,单个任务之间几乎没有依赖关系。 作业计划程序会跨节点分散工作并协调活动。 NFS 是通过 TCP/IP 网络访问的节点的典型共享存储。
NFS 的优点是易于设置和维护,在 Linux 和 Windows 操作系统上都受支持。 多个 NFS 服务器可用于跨网络分散存储,但单个文件只能通过单个服务器访问。
对于低规模工作负荷,请考虑在头节点上运行 NFS,使用具有大型临时磁盘的存储优化 VM,或使用 Azure 高级版 存储 的 D 系列 VM,具体取决于你的要求。 此解决方案适用于具有 500 个核心或更少核心的工作负载。
在 HPC 方案中,文件服务器通常可用作瓶颈,从而限制整体性能。 尝试以高于每个 VM 记录的最大 IOPS 和吞吐量的速度从单个 NFS 服务器访问未缓存的数据将导致限制。
在数十个客户端尝试处理存储在单个 NFS 服务器上的数据的情况下,可以轻松达到这些限制,从而导致整个应用程序的性能受到影响。 更接近 HPC 应用程序使用的纯一对多方案,越早就遇到这些限制。
Azure 上的并行文件系统
并行文件系统跨多个网络存储节点分配块级存储。 文件数据分布在这些节点之间,也就是说文件数据分布在多个存储设备之间。 此池跨可通过公共命名空间访问的多个存储节点来池任何单独的存储 I/O 请求。
使用多个存储设备和多个数据路径提供高并行度,从而减少一次仅访问单个节点带来的瓶颈。 但是,如果直接在 API 或 POSIX I/O 接口级别工作,则并行 I/O 难以协调和优化。 通过引入中间数据访问和协调层,并行文件系统为应用程序开发人员提供应用程序层与 I/O 层之间的高级接口。
能源 MPI 工作负载具有独特的要求,需要节点之间的低延迟通信。 节点通过高速互连进行连接,无法与其他工作负载共享。 MPI 应用程序在虚拟化环境中使用直通模式利用整个高性能互连。 MPI 节点的存储通常是通过高速互连访问的并行文件系统,如 Lustre。 Lustre/BeeGFS 通常用于处理主要地震处理(但也水库模拟)的较大吞吐量要求。
Lustre 等并行文件系统用于 HPC 能源工作负载,这些工作负载需要访问大型文件、同时从多个计算节点进行访问以及大量数据。 并行文件系统的实现可以轻松地根据功能和性能进行缩放。 此类文件系统利用具有较大带宽的 RDMA 传输和减少 CPU 使用率。 并行文件系统通常用作暂存空间,适用于需要优化的 I/O 的工作。 示例包括工作负荷设置、预处理、正在运行和后期处理。
使用协调的并行文件服务(如 Azure 托管 Lustre)适用于 50,000 个或多个核心,读取/写入速率高达 500 GB/秒,以及 2.5 PB 存储。
有关 Azure 上的并行虚拟文件系统的详细信息,请参阅 Microsoft Azure 上的并行虚拟文件系统 - 第 1 部分:概述 - Microsoft 技术社区。
- Azure NetApp 文档和本地磁盘通常用于处理更敏感的延迟/IOPS 工作负荷,例如地震解释、模型准备和可视化。 请考虑用于最多 4,000 个核心的工作负载,吞吐量高达 6.5 GiB/s,以及受益于我们要求多协议(NFS/SMB)访问同一数据集的工作负载。
- Azure 托管 Lustre 为 HPC 工作负荷提供更快、更高的容量存储。 此解决方案适用于中型到非常大的工作负荷,可以支持 50,000 个或更多核心,吞吐量高达 500 GB/秒,存储容量高达 2.5 PiB。
- 标准或高级版 Blob 是成本最低的云产品/服务。 此服务在必要时提供 exabyte 缩放、高吞吐量、低延迟访问、熟悉的文件系统和多协议访问(REST、HDFS、NFS)。 可以在 Blob 服务终结点中使用 NFS v3.0,实现高吞吐量和读取繁重的工作负荷。 可以通过迁移到较冷层来优化成本,并能够通过上次更新/上次访问时间执行生命周期管理,使用可自定义的策略进行智能分层。
- 石油和天然气能源工作负载可能还需要从本地到云的大量数据大小和卷传输机制,反之亦然,可以通过
- 脱机 - 基于设备的迁移 (DataBox)
- 联机 - 基于网络 (ExpressRoute) 的迁移。
后续步骤
以下文章列表将指导你在整个云采用过程中的特定点找到,以帮助你在能源 HPC 环境的云采用方案中取得成功。