阿里云超算上气象应用WRF的集谛优化

简介: 阿里云超算上气象应用WRF的集谛优化

作者:孙相征
弹性高性能计算(E-HPC,https://ehpc.console.aliyun.com/ )基于阿里云基础设施,为用户提供公有云之上的HPC服务。除了提供计算资源环境,E-HPC还提供了很多独立的功能模块,如作业管理、用户管理、集群命令执行等。其中,借助集谛(CloudMetrics)模块,用户可以通过性能大盘查看集群资源的饱和度,从全局监控集群节点的状态;从节点性能,查看节点具体指标的变化曲线和历史数据,并且能够与调度的作业信息相关联;从进程性能,查看具体进程的历史信息,进而确定需要剖析的进程;从性能剖析,获取热点函数分布及其调用栈信息,了解应用内部的执行状态。

WRF(Weather Research and Forecasting)是新一代中尺度预报模式,被气象行业广泛应用的开源数值气象模拟(NWS)软件,随着气象气候计算上云的趋势,WRF需要针对云超算环境进行优化,本文描述了通过集谛分析WRF在云上运行的性能特征,逐步实现性能优化的过程。

运行算例是中国范围天气预测;运行平台为ecs.scch5.16xlarge,32core, 64vCPU, 192GB内存,配有10Gbit/s Ethernet和46Gbit/s RoCE网络。

初始运行监控

借助集谛与集群调度系统相关联、历史信息自动保存的功能,可以直接在调度系统提交作业,待作业完成后随时查看作业运行过程中的运行性能特征,如图1所示。

base_node_cn.jpg
a.按节点分类
base_node_mt.jpg
b.按指标分类
图1 WRF运行时性能特征

从单个节点不同指标变化(图1.a)可以看出,程序有明显的周期性特征,存储带宽会在一段间隔有明显的增大,同时伴随着节点间网络通讯的减少。从本算例,运行共产生7个结果文件,与监控的7次存储带宽高峰相对应,而且结果文件主要是在每小时预测后统一写出,在运行过程中,没有存储带宽的压力。
从节点间网络性能变化(图1.b)看,节点间的网络负载不均衡,从应用逻辑也可以解释,由于天气预测跟地形(陆地、海洋等)相关,或伴随负载动态变化(如云的移动),进程边界交换信息不同,节点间会存在网络通讯不均衡现象。但是,所有节点的网络带宽偏低,由于平台配置两种网络,需要检查是否使用高速RoCE网络。

改用RoCE性能监控

通过查看运行配置,发现MPI通讯为Ethernet,因此需要调整网络配置利用高速的RoCE网络,提交作业再次监控,得到运行特征如图2所示。

net_node_cn.jpg
a.按节点分类
net_node_mt_net.jpg
b.按指标分类
图2 使用RoCE后的WRF运行时性能特征

显然,程序运行使的节点间网络带宽和存储带宽增大,原因在于计算时通讯使用了RoCE网络,可以将Ethernet带宽资源用于存储操作使用。网络通讯带宽由原来的180MB/s、240MB/s提升到320MB/s、450MB/s。
从监控结果发现,节点间的存储带宽极不均衡,仅有compute22节点负载文件操作,难以利用NAS的整体带宽资源。

PNetCDF多节点并行I/O

通过日志分析文件I/O操作耗时比例较高(约25%左右,以某算例为例,并随计算规模变化)。WRF使用NetCDF文件格式,若采用NetCDF classic经典模式,即主进程汇集所有从进程的部分结果数据,再由主进程完成文件写操作,如图3 a),跟之前的网络和存储监控数据相吻合。

pnetcdf_fig_ab.png
图3 NetCDF I/O 方案比较。a) 串行I/O; b)并行I/O。

为了提高运行效率,可采用并行NetCDF I/O的优化方案,即所有节点参与I/O操作,减少I/O操作等待时间,如图3 b)所示。

因此,可以借此PNetCDF方案提升WRF的性能,提交作业再次监控,得到运行特征如图4所示。

pnet_node_cn.jpg
a.按节点分类
pnet_node_mt.jpg
b.按指标分类

图4 使用RoCE+PNetCDF后的WRF运行时性能特征

可以看出,每个节点均有I/O操作相关的指标监控数据,跟PNetCDF的原理相匹配。从监控结果看,每完成一小时预测后的文件操作时间明显减小,性能得到进一步提升。

总结

通过E-HPC集谛 —— 集群运行监控和应用性能分析模块,能够充分了解WRF在运行过程的性能特征,改变了以往仅靠WRF日志输出的时间戳观测程序运行状态。同时,可以以应用的运行性能特征为依据,使用RoCE高速网络和PNetCDF并行I/O的优化策略,逐步提高了WRF的运行效率,最终性能提高加速比达到2.4X,如图5所示。

Speedup.jpg
图5 WRF单小时平均预测时间的性能优化结果

目录
相关文章
|
机器学习/深度学习 人工智能 数据挖掘
数据上新 | AI Earth上线长时序土地覆盖数据集(来自武汉大学黄昕教授团队)
数据上新 | AI Earth上线长时序土地覆盖数据集(来自武汉大学黄昕教授团队)
数据上新 | AI Earth上线长时序土地覆盖数据集(来自武汉大学黄昕教授团队)
|
2月前
|
存储 人工智能 数据格式
总说具身智能的数据太贵,鹏城实验室开源百万规模标准化数据集
【9月更文挑战第18天】鹏城实验室提出的ARIO(All Robots In One)标准,为具身智能领域带来了统一的数据格式、丰富的感知模态及多样化的真实与模拟数据,显著提升了数据集的质量与规模,助力智能系统更好地与物理世界互动。基于此标准构建的大规模数据集包含约300万个片段,覆盖258个系列和321,064个任务,极大地推动了具身智能的研究与发展。然而,该数据集也面临着存储需求高、系统互操作性及应用场景适应性等挑战。论文详情见:http://arxiv.org/abs/2408.10899。
72 11
|
5月前
|
存储 数据可视化 大数据
高性能计算HPC优化实例在摩托车外流场仿真场景的最佳实践
本文整理自阿里云高性能计算研发工程师曹杭在【HPC优化实例商业化发布会】中的动手实验分享,集中讲解HPC优化实例动手实验Demo细节。
|
6月前
|
算法 测试技术 云计算
WaveRider for Sentieon,加速云中的下一代测序
Memory Machine软件的WaveRider功能提高了Sentieon性能40%,这是Sentieon基因组分析相对于开源替代品的10倍性能优势的补充。
579 0
|
存储 机器学习/深度学习 人工智能
人工智能创新挑战赛:助力精准气象和海洋预测Baseline[1]、NetCDF4使用教学、Xarray 使用教学,针对气象领域.nc文件读取处理
人工智能创新挑战赛:助力精准气象和海洋预测Baseline[1]、NetCDF4使用教学、Xarray 使用教学,针对气象领域.nc文件读取处理
人工智能创新挑战赛:助力精准气象和海洋预测Baseline[1]、NetCDF4使用教学、Xarray 使用教学,针对气象领域.nc文件读取处理
|
机器学习/深度学习 数据可视化 数据挖掘
第十二届“中国软件杯”大赛:A10-基于机器学习的分布式系统故障诊断系统——baseline(一)
第十二届“中国软件杯”大赛:A10-基于机器学习的分布式系统故障诊断系统——baseline(一)
588 0
第十二届“中国软件杯”大赛:A10-基于机器学习的分布式系统故障诊断系统——baseline(一)
|
调度
【SCI一区】考虑P2G和碳捕集设备的热电联供综合能源系统优化调度模型(Matlab代码实现)
【SCI一区】考虑P2G和碳捕集设备的热电联供综合能源系统优化调度模型(Matlab代码实现)
|
存储 监控 并行计算
X86 vs ARM 架构同台竞技: 生物大数据大规模并行计算(如何将WGS全基因组计算成本降到1美元)
Sentieon DNAseq 实施的全基因组测序 (WGS) 二级分析流程与行业标准的 BWA-GATK 最佳实践流程结果相匹配,且运行速度提高了 5-20 倍。 Sentieon软件安装简单,开箱即用,并且提供了与ARM和x86指令集适配的版本。使30X WGS 数据样本在OCI 实例上的计算成本压缩到每个样本 1 美元以下,处理时间缩短到近一小时。
257 0
X86 vs ARM 架构同台竞技: 生物大数据大规模并行计算(如何将WGS全基因组计算成本降到1美元)
|
机器学习/深度学习 人工智能 编解码
微软行星云计算Planetary Computer——微软云平台的主要可视化APP(全球10米的最新土地覆盖,森林毁坏监测,生态系统监测,森林碳风险评估,AI加持的的土地覆盖制图)
微软行星云计算Planetary Computer——微软云平台的主要可视化APP(全球10米的最新土地覆盖,森林毁坏监测,生态系统监测,森林碳风险评估,AI加持的的土地覆盖制图)
374 0
微软行星云计算Planetary Computer——微软云平台的主要可视化APP(全球10米的最新土地覆盖,森林毁坏监测,生态系统监测,森林碳风险评估,AI加持的的土地覆盖制图)
|
存储 编解码 人工智能
启明云端分享|IDO-SOM3568:可用于轻量级人工智能应用
IDO-SOM3568 采用 Rockchip 新一代 64 位处理器 RK3568(Quad-core ARM CortexA55, Neon and FPU,主频最高 2.0GHz),集成双核心架构 GPU 以及高效能 NPU;最大支 持 8G 大内存;支持 WiFi6,5G/4G 等高速无线网络通讯;内置独立的 NPU,可用于轻量级人工智能应用。
343 0
启明云端分享|IDO-SOM3568:可用于轻量级人工智能应用