你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

在 Azure 上运行储层模拟软件

Azure CycleCloud
Azure Key Vault
Azure 虚拟机

储层模拟使用数据密集型计算机模型来预测复杂的流体流动,例如地表下的石油、水和天然气。 此示例在 Azure 高性能计算 (HPC) 基础结构上设置储层模拟软件。 使用 Azure 能够以最大的性能、可伸缩性和成本效益运行此类工作负载。

体系结构

演示储层模拟体系结构的示意图。

下载此体系结构的 Visio 文件

工作流

此图简要概述了本例中使用的体系结构。 工作流如下:

  1. 用户通过 SSH 登录到头节点,为计算资源准备模型。

  2. PBS Pro 19.1 在头节点上运行,并计划计算节点上的作业。

  3. OPM Flow 在计算节点上运行。 计算 VM 部署为虚拟机规模集,即一组相同的 VM 可缩放来满足计算任务的需求。

  4. OPM Flow 将计算结果发送到头节点上的文件共享。 高级磁盘连接到头节点并设置为计算节点和可视化 VM 的 NFS 服务器。

  5. 在 Standard-NV6 Windows VM 上运行的 OPM ResInsight 显示 3D 可视化结果。 用户可通过 RDP 访问可视化 VM。

组件

用于实现此体系结构的关键技术:

方案详细信息

本例中的体系结构支持 OPM Flow,这是一种流行的开源储层模拟包,源自 Open Porous Media (OPM) 计划。 OPM Flow 软件在 Azure HPC 虚拟机 (VM) 上运行,这些虚拟机的性能接近或优于当前本地基础结构。

用户连接到一个 Linux 头节点 VM,通过 PBS Pro 19.1 作业计划软件向 HPC 资源提交模型。 HPC 资源运行 OPM Flow 并将计算结果发送到文件共享。 在此示例中,文件共享是头节点 VM 上的 4 TB 网络文件系统 (NFS) 空间。 根据你的模型以及输入和输出 (I/O) 要求,可使用其他存储选项。

运行 OPM ResInsight(一种开放源代码可视化工具)的 Microsoft Azure VM 访问文件共享,实现对计算结果的建模和可视化。 用户可通过远程桌面协议 (RDP) 连接到 VM 来查看可视化效果。

使用 Azure VM 可以节省高端可视化工作站的费用。 OPM 应用程序享有 HPC 硬件以及输入和输出文件共享的存储位置带来的好处。

可能的用例

  • 对地震数据进行 3D 储层建模和可视化。

  • 测试 INTERSECT(Schlumberger 的高分辨率储层模拟器)。 可以在 GitHub 上查看示例 INTERSECT 实现

  • 在 Azure 上使用类似的设置测试 Landmark-Halliburton 的 Nexus。

注意事项

这些注意事项实施 Azure 架构良好的框架的支柱原则,即一套可用于改善工作负载质量的指导原则。 有关详细信息,请参阅 Microsoft Azure 架构良好的框架

此示例使用 HB 系列的高性能 VM。 HB 系列针对计算流体动力学 (CFD) 等内存带宽驱动的应用程序进行了优化,Standard_HB120rs_v2 VM 是该系列中的最新版本。 如果是基于 Intel 的硬件,可选择 Standard_HC44rs VM。

为了在 Azure 上测试此 OPM Flow 体系结构,GitHub 示例实现安装了 Norne 用例,这是一个开放基准的真实挪威海油田的用例。 若要运行此测试用例,必须执行以下操作:

  • 使用 Azure Key Vault 存储密钥和机密,这是 GitHub 安装脚本的要求。

  • 在所有计算节点上安装 Linear Algebra PACKage (LAPACK) 库。 GitHub 安装脚本包含此步骤。

  • 在要用作可视化接收器的任何计算机上安装 HP Remote Graphics Software (RGS)。 在此示例中,用户连接到可视化 VM 以运行 ResInsight 并查看 Norne 用例。

作业计划程序

计算密集型工作负载可从 HPC 业务流程软件中获益,该软件可以部署和管理 HPC 计算和存储基础结构。 示例体系结构包括两种部署计算的方法:azurehpc 框架或 Azure CycleCloud

Azure CycleCloud 工具可用于在 Azure 中创建、管理、操作和优化 HPC 与大型计算群集。 可以用它动态预配 Azure HPC 群集以及协调混合工作流与云工作流中的数据。 Azure CycleCloud 还支持可用于 Azure 上 HPC 工作负载的多个工作负载管理器,例如 Grid Engine、HPC Pack、HTCondor、LSF、PBS Pro、Slurm 和 Symphony。

网络

此示例工作负载将 VM 部署在不同的子网中。 为了进一步提高安全性,可为每个子网定义网络安全组。 例如,可以设置安全规则,允许或拒绝进出各个节点的网络流量。 如果不需要此安全级别,则不需要为此实现提供单独的子网。

存储

数据存储和访问需求差异很大,具体取决于工作负载规模。 Azure 支持用多种方法来管理 HPC 应用程序的速度和容量。 azurehpc GitHub 存储库包括示例 Azure HPC 脚本。

以下方法在石油和天然气行业中很常见。 选择的解决方案应最能符合自己的 I/O 和容量需求。

  • 对于像当前示例这样的小型工作负载,可以考虑在头节点上运行 NFS,使用带有大型临时磁盘的存储优化型 Lsv2 系列 VM,或具有 Azure 高级存储的 D 系列 VM,具体取决于你的需求。 此解决方案适用于以下这种工作负载:内核最多有 500 个,吞吐量最大为每秒 1.5 GiB (GiB/s),RAM 最大为 19 TB,存储最大为 100 TB。

  • 大中型读取密集型工作负载:考虑使用 Avere vFXT for Azure(6 到 24 个节点)。 此解决方案适用于以下这种工作负载:内核最多有 50,000 个,写入吞吐量最大为 2 GiB/s,读取吞吐量最大为 14 GiB/s,缓存最大为 192 TB,文件服务器最大为 2 PB。

  • 均衡或写入密集型中等规模工作负载:对于内核最多为 4000 个、吞吐量最大为 6.5 GiB/s、存储最大为 100 TB/卷以及文件大小最大为 12 TB 的工作负载,可考虑使用 Azure NetApp 文件

  • 大型工作负载:使用编排的并行文件服务,例如 Lustre 或 BeeGFS。 此方法适用的内核最多有 50000 个、读写率最大为 50 GiB/s,且存储最大为 500 TB。 对于更大的群集,裸机方法可能更具成本效益。 例如,Cray ClusterStor 是一种托管 HPC 存储解决方案,可以灵活地动态支持更大的弹性群集。

部署此方案

在 GitHub 上获取此 OPM Flow 体系结构的示例实现

后续步骤