The OFED Packages
NVIDIA® OpenFabrics Enterprise Distribution for Linux (MLNX_OFED) is a single Virtual Protocol Interconnect (VPI) software stack that operates across all NVIDIA network adapter solutions.
NVIDIA OFED (MLNX_OFED) is an NVIDIA-tested and packaged version of OFED and supports two interconnect types using the same RDMA (remote DMA) and kernel bypass APIs called OFED verbs—InfiniBand and Ethernet. Up to 200 Gb/s InfiniBand and RoCE (based on the RDMA over Converged Ethernet standard) over 10/25/40/50/100/200 GbE are supported with OFED to enable OEMs and System Integrators to meet the needs of end users in the said markets.1
OFED Performance Tests
可以通过 perftest 2 对 RDMA 性能进行测试,安装
|
|
Ib_read_bw
|
|
示例如下:
|
|
Ib_write_bw
|
|
Ib_send_bw
|
|
延迟测试
延迟测试也有三个命令,使用方法与上类似:
ib_read_latib_write_latib_send_lat
以 ib_read_lat 为例,测试结果如下:
|
|
InfiniBand Diagnostics Commands
参考3
| Command | Description |
|---|---|
| ibstat | Shows the host adapters status. |
| ibstatus | Similar to ibstat but implemented as a script. |
| ibnetdiscover | Scans the topology. |
| ibaddr | Shows the LID range and default GID of the target (default is the local port). |
| ibroute | Displays unicast and multicast forwarding tables of the switches. |
| ibtracert | Displays unicast or multicast route from source to destination. |
| ibping | Uses vendor MADs to validate connectivity between InfiniBand nodes. On exit, (IP) ping-like output is shown. |
| ibsysstat | Obtains basic information for the specific node which may be remote. This information includes: hostname, CPUs, memory utilization. |
| sminfo | Queries the SMInfo attribute on a node. |
| smpdump | A general purpose SMP utility which gets SM attributes from a specified SMA. The result is dumped in hex by default. |
| smpquery | Enables a basic subset of standard SMP queries including the following: node info, node description, switch info, port info. Fields are displayed in human readable format. |
| perfquery | Dumps (and optionally clears) the performance counters of the destination port (including error counters). |
| ibcheckport | Performs basic tests on the specified port. |
| ibchecknode | Performs basic tests on the specified node. |
| ibcheckerrs | Checks if the error counters of the port/node have exceeded some predefined thresholds. |
| ibchecknet | Performs port/node/errors check on the subnet. Ibnetdiscover output can be used as in input topology. |
| ibswitches | Scans the net or uses existing net topology file and lists all switches. |
| ibhosts | Scans the net or uses existing net topology file and lists all hosts. |
| ibnodes | Scans the net or uses existing net topology file and lists all nodes. |
| ibportstate | Gets the logical and physical port states of an InfiniBand port or disables or enables the port (only on a switch). |
| ibcheckwidth | Performs port width check on the subnet. This command is used to find ports with 1 x link width. |
| ibcheckportwidth | Performs 1 x port width check on specified port. |
| ibcheckstate | Performs a port state check on the subnet (as well as a physical port state). This command is used to find ports that are not in LinkUp physical port state and that are not in active port state. |
| ibcheckportstate | Performs a port state check on the specified port (as well as a physical port state). |
| ibcheckerrors | Performs an error check on the subnet. This command is used to find ports with error counters (Performance Management Agent (PMA) PortCounters) beyond the indicated thresholds. |
| ibclearerrors | Clears all error counters on the subnet. |
| ibclearcounters | Clears all port counters on the subnet. |
| ibdiscover.pl | Takes the ibnetdiscover output and a map file and produces a topology file (local node GUID and port connected to remote node GUID and port). |
| saquery | Issues SA queries. |
| ibdiagnet | ibdiagnet scans the fabric using directed route packets and extracts all the available information regarding its connectivity and devices. |
| ibnetsplit | Automatically groups hosts and creates scripts that can be run in order to split the network into sub-networks each containing one group of hosts. |
|
|
ibstatus
A script that displays basic information obtained from the local InfiniBand driver. Output includes LID, SMLID, port state, link width active, and port physical state.
|
|
示例:
|
|
|
|
ibstat
Similar to the ibstatus utility but implemented as a binary and not as a script. Includes options to list CAs and/or ports.
|
|
ibstat # display status of all IB ports
ibstat mthca1 # status of mthca1 ports`
ibstat mthca1 2 # show status of specified ports
ibstat -p mthca0 # list the port guids of mthca0
ibstat –l # list all CA names
See also: ibstatus
|
|
show_gids
show_gids 是一个脚本,Mellanox 和 Intel 都有自己的脚本
https://enterprise-support.nvidia.com/s/article/understanding-show-gids-script
|
|
ibdev2netdev
ibdev2netdev 是一个脚本,Mellanox 和 Intel 都有自己的脚本
|
|
ibverbs-utils
关于 ibverbs-utils 4 可以查看主机上是否有 RDMA 设备
|
|
ibv_devices
ibv_devices 是一个包含在 libibverbs-utils 包里的工具,用于显示本机上的 RDMA 设备:
|
|
ibv_devinfo
ibv_devinfo 也是 libibverbs-utils 包中的一个工具,它会打开一个设备查询设备的属性,通过它可以验证用户空间和内核空间的 RMDA 栈是否能够一起正常运作:
|
|
|
|
至少要有一个端口的状态是 PORT_ACTIVE,才能说明 RDMA 相关组件已经正常运行起来。
Mlxlink
|
|
ethtool
|
|
Reference
-
No backlinks found.