暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

油气服务行业软件云端落地的技术实践与总结

西云数据云计算 2022-04-19
276

本文作者 | 胡靖麟




作为传统能源消耗的旺季,北半球 2022 年的春天似乎来的格外不平静。


目前,全球范围内正在进行新旧能源的转换。在中国,“如何助力实现碳达峰、碳中和目标” 也成了当下油气产业最重要的课题。充足的清洁能源供应,既能帮助全球解决当前的能源危机,也能为可再生能源的推广构建一个坚实且稳定的基础。而在清洁能源供应中,勘测与勘探扮演了重要的角色。


长期以来,地球物理以及油气勘探都是高性能计算的主要应用领域,生成地质统计学反演的不同实现同样也是一个计算密集型的过程。


为满足各大油气服务企业将软件快速落地中国的需求,亚马逊云科技和行业内知名公司在软件部署、易用性、成本优化等方面进行了一系列的探索。接下来,我会详细介绍在油气行业数字化创新实践中使用到的解决方案及部署过程中的技术问题。


解决方案概述




为帮助油气服务企业在由西云数据运营的亚马逊云科技中国(宁夏)区域快速部署其软件,我们使用 Scale-Out Computing on Amazon 解决方案。


Scale-Out Computing on Amazon,简称 SOCA,可帮助用户轻松地部署和运营一个多用户环境,以执行计算密集型工作,满足油服软件在高性能计算场景下的大型负载需求。


SOCA 解决方案架构图

场景技术说明:


系统管理员可在亚马逊云科技账号下的管理控制台,使用 Amazon CloudFormation 一键部署 SOCA 环境。


 终端用户和系统管理员通过 Amazon Elastic Compute Cloud (Amazon EC2)实例托管的 SOCA Web UI 界面,与整个环境进行交互。


 终端用户可以通过 SOCA Web UI 启动基于 NICE Desktop Cloud Visualization (DCV) 的 2D 或 3D 工作站,用于提交批处理计算任务和运行 GUI 工具。


 当终端用户提交批处理计算任务时,SOCA 通过调度器 EC2 实例(Scheduler instance),并通过 Amazon EC2 Auto Scaling 自动动态预置运行集群计算任务所需的计算资源。


 当终端用户需上传工区数据时,可通过 SOCA Web UI 控制台,进行上传,数据上传后默认使用 Amazon Elastic Block Store(EBS)用于持久性存储。


 关于其他的可选存储服务,如 Amazon Elastic File System (EFS)共享文件存储、用于持久性日志的 Amazon Simple Storage Service(S3),及并行文件系统 Amazon FSx forLustre,系统管理员都可对架构涉及的存储进行调整。


 Amazon Lambda 为 Elastic Load Balancing(ELB)提供的可访问域名创建默认的签名证书,并用于验证环境所需的先决条件。以正常管理对 DCV 工作站会话的访问。


 使用了 Amazon Secrets Manager、Amazon Certificate Manager、VPC 安全组和 AmazonIdentity and Access Management (IAM)以满足对整个环境的系统安全性要求。


部署 SOCA 解决方案




步骤1:使用 SOCA 启动并配置基础设施


打开 CloudFormation 控制台,使用 Amazon S3 URL 创建 CloudFormation 堆栈。


→请复制下方链接至浏览器,查看 Amazon S3 URL:
https://nwcd-samples.s3.cn-northwest-1.amazonaws.com.cn/soca/v2.6.4.1/templates/scale-out-computing-on-aws-without-es.template


该堆栈模版为基础版本,可基于该模版进行定制开发,如页面功能调整、指定可启动自定义 AMI、启动机型实例范围,以及存储的选型等。


创建 CloudFormation 堆栈时,需提供以下参数:主要涉及 Scheduler instance 机型、操作系统、允许访问的网络配置、以及登录 SOCA Web UI 控制台的初始用户名及密码。


整个创建过程需大约 30-40 分钟完成部署及配置。完成后,可通过 CloudFormation Stack(CloudFormation堆栈)-> Outputs(输出)-> WebUserInterface(Web 用户界面)下的 HTTPS 链接访问 SOCA 界面。

→有关部署 SOCA 的详细说明,请复制下方链接至浏览器访问:
https://awslabs.github.io/scale-out-computing-on-aws/install-soca-cluster/

步骤2:自定义 Amazon 系统映像(AMI)


对于大型集群,建议从亚马逊云科技 Marketplace 提供的操作系统开始,然后根据软件应用程序要求对其进行自定义。然后通过安装 SOCA 解决方案所需的系统软件包对其进行自定义,以减少计算节点启动时间。


→请复制下方链接至浏览器访问亚马逊云科技 Marketplace:
https://awsmarketplace.amazonaws.cn/

例如:系统管理员可在 “EC2 启动向导” 中搜索 “nice dcv” 找到所需初始化镜像(见下图),根据软件所需操作系统选择启动后,进行软件的安装、系统配置、以及所需初始化数据的上传等等。


Tips:

假如软件部署于 Windows 操作系统,则需完成以上步骤完成后,在 Windows 开始菜单中,执行以下操作:


● 对于 Windows Server 2008 至 Windows Server 2012 R2,打开  EC2ConfigService Settings (EC2ConfigService 设置),然后选择 Image(映像) 选项卡。


● 对于 Windows Server 2016 或更高版本,打开 EC2 Launch Settings (EC2 启动设置)。


● 并选择 “Shutdown without Sysprep (不使用 Sysprep 关闭)”。

当在该启动的实例中,完成所有的 AMI 自定义操作后,可进入 Amazon EC2 控制台,选择该自定义的实例,点击 Actions(操作)-> Image(映像)-> Create Image(创建映像)并记下 AMI ID。

完成 AMI 制作后,进入 SOCA 控制台 “镜像管理” 中使用创建好的 AMI ID 完成注册,便可在工作站工作站实例中使用自定义 AMI。

→有关自定义 AMI 的步骤的详细说明,请复制下方链接至浏览器查看:
https://awslabs.github.io/scale-out-computing-on-aws/tutorials/reduce-compute-node-launch-time-with-custom-ami/

步骤 3:设置 License 服务器


油气服务软件需要完成许可认证,所以在对于大规模测试、计算的集群节点与许可证服务器之间的延迟越小越好。

因此,在 SOCA 自动生成的 Amazon VPC 中的 Scheduler Instance 部署并启动软件的 License 服务,也可单独在该 VPC 中预置一台实例进行软件 License 服务的部署(如下图)。

Linux 操作系统中油服软件 License 服务进程

Windows 操作系统某油服软件 License 服务安装

然后在启动的工作站中,进行软件的 License 配置,设置指定 License 服务所部署实例的内网 IP(如图),即可完成对应软件的授权服务。

Linux 操作系统某油服软件配置 License server IP 地址

Windows 操作系统某油服软件配置 License server IP 地址及端口

步骤 4:使用 NICE DCV 连接远程桌面会话

使用步骤 1 中的用户名/密码登录 SOCA Web 界面后,系统管理员可以在 “用户管理” 中完成 SOCA 终端用户的创建及管理,SOCA 使用 LDAP (Lightweight Directory Access Protocol) 完成统一用户认证管理和单点登录。


终端用户登录后,可根据软件所需不同的操作系统选择 Windows 或 Linux 远程桌面。在会话 #1 下,可以根据实际需求启动不同的实例类型、磁盘大小及是否使用步骤 2 中的自定义 AMI,然后点击 “创建会话 #1”。


当会话准备好后,即可直接从浏览器访问会话,或者为 Mac Linux Windows 下载 NICE DCV 本地客户端,并通过本地客户端访问会话。


接下来,就可以启动软件并进行软件对应的地震资料处理,地质建模(地震反演模拟),油藏数值模拟等工作。


→有关图形访问的更多详细信息,请复制下方链接至浏览器访问:
https://awslabs.github.io/scale-out-computing-on-aws/access-soca-cluster/#graphical-access-using-dcv

步骤5:启动作业脚本


SOCA 通过 PBS(Portable Batch System)实现对集群可用计算节点的资源管理和计算作业的调度,主要包含四个组件:命令组件、作业服务器、作业执行组件和作业调度器。当用户提交作业任务后,会进入队列中排队等待,系统会根据作业的优先级和可用的计算资源来调度和执行作业。

当终端用户有集群作业需求时,首先创建一个简单的文本文件并将其命名为 “ job_submit.que”。请参考简单模板(根据实际场景编辑 ** 之间的内容):

#!/bin/bash
## BEGIN PBS SETTINGS: Note PBSlines MUST start with #
#PBS -N **your_job_name**
#PBS -V -j oe -o **your_job_name**.qlog
#PBS -P **your_project**
#PBS -q **your_queue**
#PBS -l nodes=**number_of_nodes_for_this_job**
## END PBS SETTINGS
## BEGIN ACTUAL CODE
** your code goes here **
## END ACTUAL CODE

然后,可通过 Web 页面 “作业管理” 或 Terminal 方式(qsub job_submit.que)以脚本方式进行作业提交并通过 “队列查看器” 进行作业状态的查看。



当作业提交成功后,只需等待 5 分钟左右,作业就会根据配置的 PBS 节点,开始执行。


Tips:

作业节点是根据任务执行情况按需生成且自动终止的,并与给定的作业 ID 相关联。如果实际场中需要,可启动用于全天运行的 “AlwaysOn” 实例。如果模拟需要大量磁盘 I/O,建议使用高性能 SSD-NVMe 实例存储磁盘(磁盘目录为/scratch)而不是默认的 $HOME 路径。


→有关集群作业的更多详细信息,请复制下方链接至浏览器访问:
https://awslabs.github.io/scale-out-computing-on-aws/tutorials/launch-your-first-job/


结论



借助 SOCA,为油气服务行业的地球科学家和工程师们提供一个方便且易用的平台。以下是通过和油气服务行业不断合作探索中的一些总结:


 易用性:通过 SOCA 提供的可视化 UI 和远程桌面会话,完成应用程序的调试及 3D 建模,简化在 HPC 平台的交互。


 高效灵活:借助亚马逊云科技的产品服务能力,能够按需增加或减少系统资源,以满足不断变化的数据模拟需求。


 成本优化:运行 HPC 模拟作业利用亚马逊云科技按需付费定价模型,处理任务的成本远低于管理内部服务器和人员来处理资源的成本。


 本地化:依托由西云数据运营的亚马逊云科技中国(宁夏)区域,能够在更贴近客户的位置以更低的延迟、更本地化的体验为中国的油气勘探开发企业提供服务。


作者介绍

胡靖麟

西云数据解决方案架构师

10 年以上计算广告、微服务、大数据等领域的互联网研发、架构设计实践经验。



互动


参与分享活动,赢取精选好礼!根据 “分享最多” 排行榜,我们将在每月第一次推送中公布获奖名单,为前 10 名送上精美礼品。






推荐阅读

高性能计算工作为何更适合在云端进行?多实现统计学反演云部署方案给你答案

Jason 储层预测专家于广瀛,分享如何利用云计算破解储层预测难题

探云端 | 利用亚马逊云科技高性能计算服务,快速完成多实现的地质统计学反演

话云途 | 突破瓶颈,西云数据助力 CGG 构建高性能地质随机统计反演解决方案

油藏分析云解决方案 | 4 大优势增速油田开发!



文章转载自西云数据云计算,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论