기본 Redhat InfiniBand 지원에 비해 MLNX OFED 설치에 이점이 있습니까?

기본 Redhat InfiniBand 지원에 비해 MLNX OFED 설치에 이점이 있습니까?

RHEL 8.8에서는 Mellanox InfiniBand 하드웨어를 사용하는 사용자가 선택할 수 있습니다. Red Hat과 함께 제공되는 그룹 설치 InfiniBand Support(설치 중에 선택)를 활용하여 InfiniBand 네트워킹을 활성화하거나 스크립트를 선택 MLNX_OFED_LINUX-23.04-1.1.3.0-rhel8.8-x86_64.iso하고 실행하여 mlnxofedinstallRed Hat 패키지를 자체 패키지로 대체할 수 있습니다.

펌웨어 업데이트 외에 Red Hat 경로를 통해 MLNX 경로를 사용하여 InfiniBand를 설정하면 어떤 이점이 있는지 아는 사람이 있습니까?

MLNX 접근 방식에는 일반적으로 더 많은 설정과 구성이 필요하므로 Red Hat에서 제공하는 성능상의 이유보다는 MLNX 접근 방식(하드웨어를 사용하고 있다는 점을 감안할 때)을 사용하는 데 관심이 있습니다.

참고로:

Usage: ./mlnxofedinstall [OPTIONS]

Installation control:
    --force              Force installation
    --tmpdir             Change tmp directory. Default: /tmp
    -k|--kernel <version>
                         Default on this system: 3.10.0-1160.92.1.el7.x86_64
    -s|--kernel-sources <path>
                         Default on this system: /lib/modules/3.10.0-1160.92.1.el7.x86_64/build
    -U|--update          Update installed version
    --with-32bit         Install 32-bit libraries. Relevant for x86_64 platforms
    --without-32bit      Skip 32-bit libraries installation (Default). Relevant for x86_64 platforms
    --distro             Set Distro name for the running OS (e.g: rhel6.5, sles12sp3). Default: Use auto-detection
    --skip-distro-check  Do not check MLNX_OFED_LINUX vs Distro matching
    --without-depcheck   Run the installation without verifying that all required Distro's packages are installed
    --check-deps-only    Check for missing required Distro's packages and exit
    --print-distro       Print distribution name and exit

    --add-kernel-support
                         Add kernel support (Run mlnx_add_kernel_support.sh) and install it
    --add-kernel-support-build-only
                         Add kernel support (Run mlnx_add_kernel_support.sh) and exit

    --kernel-extra-args '<args>'
                         pass <args> to kernel configure script (single paraeter, space separated)
                         - Pass it along with --add-kernel-support

    --kmp                Install kernel RPMs with KMP support if available
                         - Enabled by default with official MLNX_OFED_LINUX releases
                         - Disabled by default if new MLNX_OFED_LINUX was created with mlnx_add_kernel_support.sh
                         - Passing it along with --add-kernel-support will pass --kmp to mlnx_add_kernel_support.sh
    --disable-kmp        Install kernel RPMs without KMP support if available
                         - Enabled by default if new MLNX_OFED_LINUX was created with mlnx_add_kernel_support.sh
    --skip-kmp-verify    Do not check if the KMP rpms are compatiable with the target kernel
    --speed-up-kmp       Speed up KMP RPMs installation by skipping %post section and running the required operations once for all KMPs

    --umad-dev-rw        Grant non root users read/write permission for umad devices instead of default
    --umad-dev-na        Prevent from non root users read/write access for umad devices. Overrides '--umad-dev-rw'
    --enable-mlnx_tune   Enable Running the mlnx_tune utility
    --enable-affinity    Run mlnx_affinity script upon boot
    --disable-affinity   Disable mlnx_affinity script (Default)
    --skip-unsupported-devices-check
                         Don't abort if system has an older, unsupported card
    --enable-opensm      Run opensm upon boot

    --package-install-options
                         RPM install options to use when installing RPM packages (comma separated list)
    --pre-install-<package> <path to script>
                         Run given script before given package's install
    --post-install-<package> <path to script>
                         Run given script after given package's install

Firmware update control:
    --without-fw-update  Skip firmware update
    --fw-update-only     Update firmware. Skip driver installation
    --force-fw-update    Force firmware update
    --fw-image-dir       Firmware images directory to use instead of default package content

Package selection:
    -c|--config <packages config_file>
                         Example of the config file can be found under docs
    --all                Install all available packages
    --bluefield          Install BlueField packages
    --hpc                Install minimum packages required for HPC
    --basic              Install minimum packages for basic functionality
    --dpdk               Install minimum packages required for DPDK
    --ovs-dpdk           Install DPDK and OVS packages
    --vma                Install minimum packages required for VMA
    --xlio                Install minimum packages required for XLIO
    --guest              Install minimum packages required by guest OS
    --hypervisor         Install minimum packages required by hypervisor OS
    --with-fabric-collector
                         Enable installing fabric-collector package
    --with-nvmf          Enable NVMEoF support
    --with-nfsrdma       Enable NFSoRDMA support
    --without-nfsrdma    Disable NFSoRDMA support (Default)

Extra package filtering:
    --kernel-only        Install kernel space packages only
    --user-space-only    Filter selected packages and install only User Space packages
    --without-<package>  Do not install package
    --with-<package>     Force installing package

Miscellaneous:
    -h|--help            Display this help message and exit
    --post-start-delay <sec>
                         Set openibd POST_START_DELAY parameter in seconds. (Default 0)
    -p|--print-available Print available packages for current platform
                         And create corresponding ofed.conf file
    --copy-ifnames-udev  Copy compatibility udev rules for interface names

Output control:
    -v|-vv|-vvv          Set verbosity level
    -q                   Set quiet - no messages will be printed

답변1

Red Hat 배포 버전은 일반적으로 Mellanox/NVIDIA 버전보다 뒤떨어지며 Mellanox/NVIDIA 버전의 모든 유틸리티를 포함하지 않습니다. Red Hat 버전이 설치되어 있었다면 이를 제거하고 Mellanox/NVIDIA 버전을 설치했습니다.

Red Hat에서 출시한 버전에 버그가 있을 때 Red Hat 7에서 이 작업을 시작했습니다. 이 버그로 인해 RC(신뢰할 수 있는 연결)에서만 작동합니다.

UC(Unreliable Connections) 또는 UD(Unreliable Datagrams)를 사용하여 코드를 실행하려고 하면 오류가 발생합니다.

또 다른 측면은 펌웨어와 코드 버전이 상호 의존성을 갖는다는 것입니다. 보유하고 있는 펌웨어가 OFED 버전 지원 목록에 포함되어 있는지 확인해야 합니다.

관련 정보