利用eRDMA技术,E-HPC集群在工业仿真任务中可达到媲美线下集群的高网络性能,包括高带宽和低延迟,可显著提升仿真效率和可靠性。同时,无需额外部署RDMA网卡,即可在现有业务组网中体验到RDMA的优势,实现无缝集成和便捷应用。本文以LS-DYNA和STAR-CCM+两个广泛使用的工业仿真应用为例,介绍如何配置工业仿真软件以支持并使用eRDMA技术。
背景信息
弹性RDMA(Elastic Remote Direct Memory Access,简称eRDMA)是由阿里云自主研发的云上弹性RDMA网络技术,它不仅继承了传统RDMA网络的高性能特性,包括极高的数据吞吐量与超低延迟,而且实现了前所未有的可扩展性,能够在秒级时间内完成大规模RDMA网络的动态构建。更多信息,请参见eRDMA概述。
eRDMA特别适用于工业仿真应用,例如像LS-Dyna多物理场仿真软件和Starccm+计算流体力学软件,eRDMA技术可以显著提升数据传输速度,减少计算任务间的等待时间,从而加快仿真过程,缩短产品设计周期。能够提供与线下部署的Infini Band或RoCE等高端RDMA网络相匹敌的跨节点通信带宽与延迟表现。
支持说明
eRDMA提供的MPI版本在设计上拥有较好的兼容性,既能适应当前常用的MPI实现,也能兼容某些旧版本的MPI实现。此外,它还支持与RDMA技术相关的通信库(如DAPL、OpenFabrics等),这使得它能够在高性能计算环境中做到无缝集成,并确保良好的通信性能。具体支持情况如下:
MPI库 | 通过DAPL提供对eRDMA的支持 | 通过OFI提供对eRDMA的支持 |
MPI库 | 通过DAPL提供对eRDMA的支持 | 通过OFI提供对eRDMA的支持 |
Intel MPI 2017、2018 | ✔️ | ❌ |
Intel MPI 2019 | ❌ | ✔️ |
oneAPI MPI 2021.1及以后 | ❌ | ✔️ |
Platform MPI | ✔️ | ❌ |
Open MPI 4 | ❌ | ✔️ |
MPICH 3及以后 | ❌ | ✔️ |
前提条件
已创建E-HPC集群。具体操作,请参见使用向导创建集群。
配置集群时,您需要打开弹性RDMA接口开关。
已创建集群用户。具体操作,请参见管理用户。
集群内计算节点需满足以下条件:
实例规格及镜像符合eRDMA的使用条件。更多信息,请参见使用限制。
已配置eRDMA。具体操作,请参见在企业级实例上配置eRDMA。
如果您是通过弹性高性能计算控制台创建的集群,并在软件配置页面开启了弹性RDMA接口开关,那么您无需进行手动配置。系统会自动为计算节点绑定弹性RDMA网卡,以便您直接享受高性能RDMA网络服务。
已下载安装
LS-DYNA
或STAR-CCM+
软件。
步骤一:连接集群
选择以下一种方式连接集群。
通过客户端
该方式仅支持使用PBS调度器的集群。操作前,请确保您已下载安装E-HPC客户端,且已配置客户端所需环境。具体操作,请参见配置客户端所需环境。
打开并登录E-HPC客户端。
在客户端左侧导航栏,单击会话管理。
在会话管理页面的右上角,单击terminal,打开Terminal窗口。
通过控制台
登录弹性高性能计算控制台。
在顶部菜单栏左上角处,选择地域。
在左侧导航栏,单击集群。
在集群页面,找到目标集群,单击远程连接。
在远程连接页面,输入集群用户名、登录密码和端口,单击ssh连接。
步骤二:配置软件支持eRDMA
为确保软件支持eRDMA,请在运行软件时添加以下参数进行配置。
LS-DYNA
请根据您实际使用的软件的MPI库,选择相应的参数添加到运行软件的命令中。
增加以下参数:
-rdmacm
:启用RDMA的连接管理。-UDAPL
:程序使用UDAPL接口来进行RDMA操作。
运行命令示例如下:
mpirun \
-e LSTC_LICENSE=network \
-e LSTC_LICENSE_SERVER=192.168.**.** \
-e MATFEMD_LICENSE_FILE=7790@192.168.**.** \
-rdmacm -UDAPL \
-hostlist ${hostfile} \
... > output.log &
增加以下参数:
-genv I_MPI_FABRICS=shm:dapl
:使用共享内存(shm)和DAPL作为通信的底层传输协议。-gen I_MPI_DAPL_PROVIDER=ofa-v2-erdma_0
:指定使用的DAPL提供者为ofa-v2-erdma_0
。
运行命令示例如下:
mpirun \
-np 192 \
-hostlist ${HOSTLIST} \
-perhost 64 \
-genv I_MPI_FABRICS=shm:dapl \
-genv I_MPI_DAPL_PROVIDER=ofa-v2-erdma_0 \
... > dyna.log 2>&1 &
增加以下参数:
-genv I_MPI_FABRICS=shm:ofi
:使用共享内存(shm)和OFI作为通信的底层传输协议。-genv I_MPI_OFI_PROVIDER=verbs
:指定使用verbs
作为OFI提供者。
运行命令示例如下:
mpirun \
-np 192 \
-hostlist ${HOSTLIST} \
-perhost 64 \
-genv I_MPI_FABRICS=shm:ofi \
-genv I_MPI_OFI_PROVIDER=verbs \
... > dyna.log 2>&1 &
STAR-CCM+
执行以下命令,安装相关依赖库。
sudo yum -y install libXext libXt
请根据您实际使用的软件的MPI库,选择相应的参数添加到运行软件的命令中。
Platform MPIIntel MPI 2017、2018Intel MPI 2019、oneAPI MPI 2021.1及以后增加以下参数:
-rdmacm
:启用RDMA的连接管理。-UDAPL
:程序使用UDAPL接口来进行RDMA操作。
运行命令示例如下:
starccm+ -batch \ -on node1,node2 \ -rsh ssh \ -cpubind \ -mpi platform \ -mppflags "-intra=shm -rdmacm -UDAPL" \ -fabricverbose \ /xxx/xxx/xx.sim \ -batch /xxx/xxx/RunStar.java \ 2>&1 > output.log &
增加以下参数:
-genv I_MPI_FABRICS=shm:dapl
:使用共享内存(shm)和DAPL作为通信的底层传输协议。-gen I_MPI_DAPL_PROVIDER=ofa-v2-erdma_0
:指定使用的DAPL提供者为ofa-v2-erdma_0
。
运行命令示例如下:
starccm+ \ -batch \ -on node1,node2 \ -rsh ssh \ -cpubind \ -mpi intel \ -mppflags "-genv I_MPI_FABRICS=shm:dapl -genv I_MPI_DAPL_PROVIDER=ofa-v2-erdma_0" \ -fabricverbose \ /xxx/xxx/xx.sim \ -batch \ /xxx/xxx/RunStar.java \ 2>&1 > output.log &
增加以下参数:
-genv I_MPI_FABRICS=shm:ofi
:使用共享内存(shm)和OFI作为通信的底层传输协议。-genv I_MPI_OFI_PROVIDER=verbs
:指定使用verbs
作为OFI提供者。
运行命令示例如下:
starccm+ -batch \ -on node1,node2 \ -rsh ssh \ -cpubind \ -mpi intel \ -mppflags "-genv I_MPI_FABRICS=shm:ofi -genv I_MPI_OFI_PROVIDER=verbs" \ -fabricverbose /xxx/xxx/xx.sim \ -batch /xxx/xxx/RunStar.java \ 2>&1 > output.log &
(可选)您还可以在
mppflags
字段后根据您的业务需求添加额外参数,以调整或扩展命令的功能:-genv FI_OFI_RXM_BUFFER_SIZE=1024
:设定用于接收消息的缓冲区大小。-genv FI_PROVIDER=verbs;ofi_rxm
:指定使用的OFI提供者,允许在RDMA和其他模式之间切换。-genv FI_OFI_RXM_USE_SRX=0
:禁用SRX(Shared Receive Queue)模式。-genv FI_VERBS_RX_IOV_LIMIT=1
:限制接收I/O向量的数量为1。-genv I_MPI_FABRICS=shm:ofi
:使用共享内存(shm)和OFI作为通信的底层传输协议。-genv I_MPI_DYNAMIC_CONNECTIONS_MODE=reject
:拒绝动态连接的模式。-genv I_MPI_DYNAMIC_CONNECTION=0
:禁用动态连接。-genv I_MPI_OFA_USE_XRC=0
:禁用XRC(Extended Reliable Connections)。
相关操作
您可以在任一计算节点执行以下命令,监控eRDMA网络的实时流量状况。
eadm stat -l
- 本页导读 (1)
- 背景信息
- 支持说明
- 前提条件
- 步骤一:连接集群
- 步骤二:配置软件支持eRDMA
- LS-DYNA
- STAR-CCM+
- 相关操作