昇腾社区首页
中文
注册

超节点P2P带宽测试

测试项功能

超节点P2P带宽测试主要用于测试节点之间的网络传输速率和总耗时。

使用约束

  • 当前测试项功能仅支持root用户在超节点Atlas 900 A3 SuperPoD 超节点Atlas 9000 A3 SuperPoD 集群算力系统A200T A3 Box8 超节点服务器上使用。
  • 为了测试最优带宽性能,测试时确保待测节点或Device不受其他因素干扰。
  • 为了保证测试的能正常执行,请勿在3个及以上的超节点同时执行测试,否则可能导致超节点P2P带宽测试失败。
  • 使用前应确保执行超节点P2P带宽测试的2个节点为同一NPU类型。以在Device A、Device B上进行超节点P2P带宽测试为例,即当Device A的NPU芯片为Atlas 900 A3 SuperPoD 超节点时,Device B的NPU也必须为Atlas 900 A3 SuperPoD 超节点
  • 使用带宽测试、超节点P2P带宽测试时,由于双向任务流下发时间并非完全一致,故双向P2P带宽结果存在少量波动属于正常现象。
  • 为了避免频繁输出日志影响测试结果,测试前确认Host和Device的日志级别设置为ERROR,确认及设置方法如下:
    1. 确认日志级别:
      • Host侧:通过执行echo $GLOBAL_LOG_LEVEL命令查询,如果查询结果为非法值或者空,表示日志级别为缺省级别ERROR,对应数值3。
      • Device侧:请参考msnpureport工具使用,查看全局日志级别、模块日志级别和是否开启Event日志。
    2. 如果日志级别不为ERROR,请参考CANN 日志参考》中“设置日志级别”章节,设置Host和Device侧的日志级别。

支持的场景

超节点P2P带宽测试支持的设备及场景如表1所示。(在下表中,Y表示支持,N表示不支持。)

表1 支持的场景和产品型号

场景/产品型号

Atlas A3 训练系列产品

物理机

Y

宿主机+容器

1

虚拟机

2

  1. 仅支持root用户在容器场景下进行超节点P2P带宽测试。
  2. A200T A3 Box8 超节点服务器支持。

测试前准备

  • 在执行超节点P2P带宽测试前,建议提前在环境上安装fuser软件,以便Ascend DMI对NPU进程进行监测。

测试流程

超节点需要通过共享目录来传递共享地址和进程ID。以在Device A、Device B上进行超节点P2P带宽测试为例,测试流程如下:

  1. 请准备挂载共享目录的超节点环境,确保待测节点能够访问同一共享目录;
  2. 已完成CANN、MindCluster ToolBox的安装,并配置环境变量
  3. Device A启动Ascend DMI,参数指定为超节点带宽测试,并指定Device B的IP地址;
  4. Device B启动Ascend DMI,参数指定为超节点带宽测试,并指定Device A地址;
  5. 打印测试结果。
  • 在上述流程中,Device A和Device B启动Ascend DMI工具进行超节点带宽测试时,时间间隔不能超过10s。
  • 请确认参数填写的IP地址有效。

测试项参数查询

用户可任选以下指令之一查看带宽测试命令的可用参数。

ascend-dmi --bw -h

ascend-dmi --bw --help

命令各参数解释如表2所示。

表2 参数说明

参数

说明

约束

是否必填

[-bw, --bw, --bandwidth]

使用该参数测试芯片的带宽。支持-bw,但建议使用--bw或--bandwidth。

-

[-t, --type]

指测试数据流向的分类。

当前仅支持带宽类型为p2p的指定。

[-sp, --sp, --super-pod]

指定超节点测试。

该参数取值为0或1,0表示该节点优先测试单向带宽(源节点),1表示测试对方节点(目标节点)。

必须与[-ip, --ip, --peer-ip]、[-hip, --hip, --host-ip]参数同时指定。

指定该参数必须同时指定--ip。

[-ip, --ip, --peer-ip]

用于指定超节点测试时对方节点的ip地址。

必须与[-hip, --hip, --host-ip]、[-sp, --sp, --super-pod]参数同时指定。

  • 必须为有效IP。
  • 当前仅支持IPV4类型的IP地址。

[-hip, --hip, --host-ip]

指定本端Host IP。

必须与[-ip, --ip, --peer-ip]、[-sp, --sp, --super-pod]参数同时指定。

  • 必须为有效IP。
  • 当前仅支持IPV4类型的IP地址。

[-spp, --spp, --super-pod-path]

指定节点间可访问的同一共享目录路径。

指定路径需符合安全要求,且不支持包含通配符“*”。

[-ds, --ds, --device-src]

指定P2P测试的源头Device的ID号。必须与[-dd, --dd, --device-dst]参数成对指定。

使用[-ds, --ds, --device-src]、[-dd, --dd, --device-dst]指定后,不可再指定[-d, --device]参数。

[-dd, --dd, --device-dst]

指定P2P测试的目标Device的ID号。必须与[-ds, --ds, --device-src]参数成对指定。

使用[-ds, --ds, --device-src]、[-dd, --dd, --device-dst]指定后,不可再指定[-d, --device]参数。

[-m, --mode]

指定带宽测试模式,执行卡粒度或芯片粒度的带宽测试。

不指定该参数时默认测试device粒度的带宽测试。

  • device:表示芯片粒度,指昇腾芯片的逻辑ID。
  • card:表示卡粒度,指昇腾芯片的卡ID,测试整卡的带宽。

仅支持Atlas 900 A3 SuperPoD 超节点Atlas 9000 A3 SuperPoD 集群算力系统A200T A3 Box8 超节点服务器场景下,使用此参数。

[-d, --device]

指定待测节点的Device ID,默认值为0。

  • 当--mode参数未指定或指定device时,该参数指定昇腾芯片逻辑ID。
  • 当--mode参数指定为card时,该参数指定的是昇腾芯片的卡ID。
  • 若[-d, --device]、[-ds, --ds, --device-src]、[-dd, --dd, --device-dst]都未指定时,则测试Device 0的结果。

使用[-d, --device]指定后,不可再指定[-ds, --ds, --device-src]、[-dd, --dd, --device-dst]参数。

[-s, --size]

指传输数据大小并指定测试结果显示方式。

  • 传输数据的取值范围为1Byte~4GB。
  • 当前默认值为536870912字节。
  • 指定-s参数后面必须填写数值指定传输数据的大小,不填写属于错误写法。
  • 执行超节点P2P带宽测试的2个节点指定的-s参数的数值大小必须相同。

[-et, --et, --execute-times]

指迭代次数,即内存拷贝次数。

  • 取值范围为[1, 1000],若不填写,则默认为40。
  • 执行超节点P2P带宽测试的2个节点指定的-et参数的数值大小必须相同。

[-fmt, --fmt, --format]

指定输出格式,可以为normal或json。若未指定则默认为normal。

-

[-q, --quiet]

指定该参数时,将不再进行防呆提示,用户将默认允许该操作。

若不指定该参数,将进行防呆提示,用户需要输入Y或N(y或n)确认是否进行测试。

[-h, --help]

查看Ascend DMI工具“超节点P2P带宽测试”功能的帮助信息。

-

注:

临时文件名分别为flag、procInfo和procInfoBi(会在--spp参数指定的目录下生成一个ascend_check目录,ascend_check目录下会生成一个以--hip参数指定的IP为名称的目录,临时文件会放在该目录下)。

  • --ds与--dd参数需要配合使用,单独使用是错误用法。
  • ascend-dmi --bw后使用-t,-d等多个二级参数时,可任意指定这些参数的排列顺序,不影响命令结果输出。例如:ascend-dmi --bw -t p2p --sp 0 --ip yy.yy.yy.yy -d 1 --spp /xxx/xxx/xxx --hip xx.xx.xx.xxascend-dmi --bw -d 1 -t p2p --sp 0 --ip yy.yy.yy.yy --spp /xxx/xxx/xxx --hip xx.xx.xx.xx输出结果相同。
  • 使用-s-et参数指定的数据搬运量和数据拷贝的次数较小时,可能无法获取最佳性能,如需稳定测得最佳性能,建议-s指定为512M,-et指定为>10。

使用实例

实例一:以不指定超节点P2P带宽测试的Device ID为例

命令如下所示(请将下文中的xx.xx.xx.xx替换为优先测试单向带宽的节点IP,请将下文中的yy.yy.yy.yy替换为对方节点的IP)。

优先测试单向带宽的节点(源节点)上执行:

ascend-dmi --bw -t p2p --sp 0 --ip yy.yy.yy.yy --spp /xxx/xxx/xxx --hip xx.xx.xx.xx

对方节点(目标节点)上执行:

ascend-dmi --bw -t p2p --sp 1 --ip xx.xx.xx.xx --spp /xxx/xxx/xxx --hip yy.yy.yy.yy
图1 超节点P2P带宽测试示例(目标节点)
[root@*****~]#  ascend-dmi --bw -t p2p -sp 1 -ip xx.xx.xx.xx -q --spp /xxx/xxx/xxx --hip yy.yy.yy.yy
Unidirectional Peer to Peer Test
Pod: yy.yy.yy.yy device id: 0 to Pod: xx.xx.xx.xx device id: 0
----------------------------------------------------------------
  Size(Bytes)  Execute Times  Bandwidth(GB/s)  Elapsed Time(us)
----------------------------------------------------------------
   536870912         40          164.336497       3266.90
----------------------------------------------------------------

Bidirectional Peer to Peer Test
Pod: yy.yy.yy.yy device id: 0 and Pod: xx.xx.xx.xx device id: 0
----------------------------------------------------------------
  Size(Bytes)  Execute Times  Bandwidth(GB/s)  Elapsed Time(us)
----------------------------------------------------------------
   536870912         40          290.613631       3694.74
----------------------------------------------------------------
图2 超节点P2P带宽测试示例(源节点)
[root@*****~]#  ascend-dmi --bw -t p2p -sp 0 -ip yy.yy.yy.yy -q --spp /xxx/xxx/xxx --hip xx.xx.xx.xx
Unidirectional Peer to Peer Test
Pod: xx.xx.xx.xx device id: 0 to Pod: yy.yy.yy.yy device id: 0
----------------------------------------------------------------
  Size(Bytes)  Execute Times  Bandwidth(GB/s)  Elapsed Time(us)
----------------------------------------------------------------
   536870912         40          164.336497       3266.90
----------------------------------------------------------------

Bidirectional Peer to Peer Test
Pod: xx.xx.xx.xx device id: 0 and Pod: yy.yy.yy.yy device id: 0
----------------------------------------------------------------
  Size(Bytes)  Execute Times  Bandwidth(GB/s)  Elapsed Time(us)
----------------------------------------------------------------
   536870912         40          290.613631       3694.74
----------------------------------------------------------------

实例二:以测试2个节点Device 1之间的带宽为例

优先测试单向带宽的节点上执行:

ascend-dmi --bw -t p2p --sp 0 --ip yy.yy.yy.yy -d 1 --spp /xxx/xxx/xxx --hip xx.xx.xx.xx

对方节点上执行:

ascend-dmi --bw -t p2p --sp 1 --ip xx.xx.xx.xx -d 1 --spp /xxx/xxx/xxx --hip yy.yy.yy.yy

实例三:以测试2个节点Card 1之间的带宽为例

优先测试单向带宽的节点(源节点)上执行:

ascend-dmi --bw -t p2p --sp 0 --ip yy.yy.yy.yy -d 1 --spp /xxx/xxx/xxx --hip xx.xx.xx.xx -m card

对方节点(目标节点)上执行:

ascend-dmi --bw -t p2p --sp 1 --ip xx.xx.xx.xx -d 1 --spp /xxx/xxx/xxx --hip yy.yy.yy.yy -m card
超节点P2P带宽测试示例(目标节点)为例,在上述显示界面中,各参数说明如下表所示。
表3 显示界面参数介绍

参数

说明

Unidirectional Peer to Peer Test

单向P2P。

Bidirectional Peer to Peer Test

双向P2P。

Pod: yy.yy.yy.yy device/card: 0 to Pod: xx.xx.xx.xx device/card: 0

根据mode参数,呈现device/card。

前一个Pod代表优先测试单向带宽的节点;yy.yy.yy.yy为优先测试单向带宽的节点IP;device为优先测试单向带宽的Device ID。

后者为对方节点;对方节点IP;对方节点Device ID。

Size(Bytes)

传输数据大小,单位为字节。

Execute Times

迭代次数。

Bandwidth(GB/s)

芯片的带宽,单位为GB。

Elapsed Time(us)

总执行时长。