Setelah Anda menyambungkan Elastic RDMA Interface (ERI) ke instans GPU-accelerated, Anda dapat mengaktifkan Remote Direct Memory Access (RDMA) untuk mempercepat komunikasi antar instans GPU-accelerated dalam Virtual Private Cloud (VPC). eRDMA mentransfer data lebih efisien dibandingkan RDMA tradisional, sehingga meningkatkan komunikasi antar instans GPU-accelerated dan mengurangi waktu pemrosesan tugas. Topik ini menjelaskan cara mengaktifkan eRDMA pada instans GPU-accelerated.
Batasan
Item | Deskripsi |
Instance type | Elastic RDMA Interface (ERI) mendukung tipe instans berikut:
|
Image | Gunakan salah satu image berikut:
|
Jumlah perangkat eRDMA |
|
Batasan jaringan |
|
Prosedur
Untuk menggunakan fitur eRDMA, sebuah instans harus memiliki tumpukan perangkat lunak eRDMA yang terinstal dan elastic network interface yang diaktifkan ERI tersambung.
Konfigurasikan eRDMA saat pembuatan instans
Buka halaman Custom Launch di Konsol ECS.
Buat instans GPU-accelerated yang mendukung ERI.
Saat membuat instans, perhatikan konfigurasi berikut. Untuk parameter lainnya, lihat Buat instans menggunakan wizard.
Instance Type: Pilih tipe instans yang mendukung ERI. Untuk informasi lebih lanjut, lihat Batasan. Topik ini menggunakan ebmgn8is sebagai contoh.
Images: Saat memilih gambar publik, opsi Auto-install GPU Driver dan Install eRDMA Software Stack dipilih secara default. Setelah instans dibuat, sistem secara otomatis menginstal driver GPU, CUDA, cuDNN, dan tumpukan perangkat lunak eRDMA.
Dalam contoh ini, sistem operasinya adalah Alibaba Cloud Linux 3.2104 LTS 64-bit, dan versi driver GPU-nya adalah CUDA 12.4.1 / Driver 550.127.08 / CUDNN 9.2.0.82.
(Opsional) Jumbo Frame: Jika instans yang dipilih mendukung jumbo frames, Anda dapat mengaktifkan fitur ini untuk meningkatkan kinerja komunikasi
eRDMA.Mengaktifkan jumbo frames memungkinkan Anda menetapkan MTU yang lebih besar. Saat menggunakan NCCL dan protokol low-latency LL128 untuk komunikasi, MTU harus 8500. Jika jumbo frames tidak diaktifkan, MTU sebaiknya 1400. Pengaturan MTU yang salah dapat menyebabkan masalah konsistensi data.
ENIs: Saat membuat instans GPU, NIC primer eRDMA dan antarmuka jaringan sekunder eRDMA dibuat secara default pada halaman Bandwidths & Security Groups wizard konfigurasi. Opsi eRDMA Interface di sisi kanan antarmuka jaringan primer dan sekunder dipilih secara otomatis.
CatatanAnda tidak dapat mengaktifkan atau menonaktifkan eRDMA untuk elastic network interface selama instans sedang berjalan.
Dua ENI yang diaktifkan eRDMA secara otomatis diikat ke saluran yang berbeda. Anda tidak perlu menentukan salurannya.
NIC primer tidak dapat dilepas dari instans GPU-accelerated. NIC ini dibuat dan dihapus bersamaan dengan instans.
Buka halaman detail instans yang telah dibuat dan klik tab ENIs untuk melihat tipe NIC.
Jika tipe NIC untuk NIC primer atau ENI sekunder mengandung "(eRDMA Interface)", berarti ENI dengan Elastic RDMA Interface (ERI) yang diaktifkan telah tersambung ke instans.
Konfigurasikan eRDMA untuk instans GPU-accelerated yang sudah ada
Login ke Konsol ECS.
Temukan instans target, buka halaman detailnya, lalu klik tab ENIs untuk memeriksa apakah elastic network interface dengan Elastic RDMA Interface (ERI) yang diaktifkan telah tersambung ke instans.
Saat eRDMA diaktifkan untuk elastic network interface, kolom NIC Type menampilkan Primary NIC(eRDMA Interface) atau Secondary NIC(eRDMA Interface).
Jika ERI sudah diaktifkan, lewati langkah-langkah berikutnya.
Jika ERI belum diaktifkan, konfigurasikan untuk NIC primer atau ENI sekunder.
Konfigurasikan eRDMA untuk NIC primer atau ENI sekunder.
CatatanUntuk tipe instans yang mendukung jumbo frames, Anda dapat mengaktifkan jumbo frames untuk meningkatkan kinerja komunikasi
eRDMA.Mengaktifkan jumbo frames memungkinkan Anda menetapkan MTU yang lebih besar. Saat menggunakan NCCL dan protokol low-latency LL128 untuk komunikasi, MTU harus 8500. Jika jumbo frames tidak diaktifkan, MTU sebaiknya 1400. Pengaturan MTU yang salah dapat menyebabkan masalah konsistensi data.
Jika Anda tidak memilih opsi eRDMA Interface untuk NIC primer maupun ENI sekunder saat pembuatan instans, Anda dapat membuat dan mengaktifkan dua ENI sekunder yang diaktifkan eRDMA setelah instans dibuat.
Jika Anda hanya memilih opsi eRDMA Interface untuk salah satu NIC (primer atau sekunder) saat membuat instans GPU-accelerated, Anda hanya dapat membuat dan mengaktifkan satu lagi ENI sekunder yang diaktifkan eRDMA setelah instans dibuat.
(Opsional) Instal tumpukan perangkat lunak Elastic RDMA Interface (ERI) pada instans.
Jika Anda tidak memilih opsi Install eRDMA Software Stack saat memilih gambar publik, Anda harus menginstal tumpukan perangkat lunak eRDMA menggunakan skrip atau instalasi manual.
Instalasi berbasis skrip
Setelah instans GPU-accelerated dibuat, Anda dapat menggunakan skrip contoh berikut untuk menginstal tumpukan perangkat lunak eRDMA, driver GPU, CUDA, dan cuDNN:
#!/bin/sh #Please input version to install DRIVER_VERSION="570.133.20" CUDA_VERSION="12.8.1" CUDNN_VERSION="9.8.0.87" IS_INSTALL_eRDMA="TRUE" IS_INSTALL_RDMA="FALSE" INSTALL_DIR="/root/auto_install" #using .run to install driver and cuda auto_install_script="auto_install_v4.0.sh" script_download_url=$(curl http://100.100.100.200/latest/meta-data/source-address | head -1)"/opsx/ecs/linux/binary/script/${auto_install_script}" echo $script_download_url rm -rf $INSTALL_DIR mkdir -p $INSTALL_DIR cd $INSTALL_DIR && wget -t 10 --timeout=10 $script_download_url && bash ${INSTALL_DIR}/${auto_install_script} $DRIVER_VERSION $CUDA_VERSION $CUDNN_VERSION $IS_INSTALL_RDMA $IS_INSTALL_eRDMAInstalasi manual
Setelah membuat instans GPU-accelerated, Anda dapat menginstal driver OFED, driver eRDMA, dan driver GPU secara manual, lalu memuat komponen layanan
nv_peer_mem.Lakukan koneksi jarak jauh ke instans GPU-accelerated.
Untuk informasi lebih lanjut, lihat Hubungkan ke instans Linux menggunakan Workbench.
Instal driver OFED.
Jalankan perintah berikut untuk menginstal paket yang diperlukan.
Alibaba Cloud Linux 3
yum install rpm-build flex iptables-devel systemd-devel gdb-headless elfutils-devel python3-Cython bison numactl-devel libmnl-devel libnl3-devel libdb-devel libselinux-devel perl-generators elfutils-libelf-devel kernel-rpm-macros valgrind-devel cmake lsof -yCentOS 8.5/8.4/7.9
CentOS 8.5/8.4
wget http://mirrors.cloud.aliyuncs.com/opsx/ecs/linux/binary/erdma/centos8/python3-Cython-0.29.32-3.16.x86_64.rpm yum install python3-Cython-0.29.32-3.16.x86_64.rpm -y yum install kernel-rpm-macros perl-generators libmnl-devel valgrind-devel rpm-build systemd-devel libdb-devel iptables-devel lsof elfutils-devel bison libnl3-devel libselinux-devel flex cmake numactl-devel -yCentOS 7.9
sudo yum install python-devel python3-Cython kernel-rpm-macros perl-generators libmnl-devel valgrind-devel rpm-build systemd-devel libdb-devel iptables-devel lsof elfutils-devel bison libnl3-devel libselinux-devel flex cmake numactl-devel -y
Ubuntu 24.04/22.04/20.04/18.04
Ubuntu 24.04
sudo apt-get update -y sudo apt-get install -y pkg-configUbuntu 22.04
sudo apt-get update -y sudo apt-get install -y pkg-configUbuntu 20.04
sudo apt-get update -y sudo apt-get install -y pkg-configUbuntu 18.04
sudo apt-get update sudo apt-get install -y pkg-config sudo apt install -y make dh-python libdb-dev libselinux1-dev flex dpatch swig graphviz chrpath quilt python3-distutils bison libmnl-dev libelf-dev gcc sudo python3
Jalankan perintah berikut untuk mengunduh file konfigurasi paket OFED.
Alibaba Cloud Linux 3
sudo wget http://mirrors.cloud.aliyuncs.com/erdma/kernel-fix/MLNX_OFED_SRC-24.10-3.2.5.0.tgz sudo tar -xvf MLNX_OFED_SRC-24.10-3.2.5.0.tgz && cd MLNX_OFED_SRC-24.10-3.2.5.0 sudo wget http://mirrors.cloud.aliyuncs.com/opsx/ecs/linux/binary/erdma/ofed/alibaba_cloud3/3/ofed_alibaba_cloud3.conf sudo rm -rf SRPMS/mlnx-ofa_kernel-24.10-OFED.24.10.3.2.5.1.src.rpm sudo wget http://mirrors.cloud.aliyuncs.com/erdma/kernel-fix/mlnx-ofa_kernel-24.10-OFED.24.10.3.2.5.1.egs.1.src.rpm -O SRPMS/mlnx-ofa_kernel-24.10-OFED.24.10.3.2.5.1.egs.1.src.rpmCentOS 8.5/8.4/7.9
CentOS 8.5/8.4
cd /root wget http://mirrors.cloud.aliyuncs.com/opsx/ecs/linux/binary/erdma/ofed/MLNX_OFED_SRC-5.4-3.5.8.0.tgz tar -xvf MLNX_OFED_SRC-5.4-3.5.8.0.tgz && cd MLNX_OFED_SRC-5.4-3.5.8.0/ wget http://mirrors.cloud.aliyuncs.com/opsx/ecs/linux/binary/erdma/ofed/alibaba_cloud3/3/ofed_alibaba_cloud3.conf rm -rf SRPMS/mlnx-ofa_kernel-5.4-OFED.5.4.3.5.8.1.src.rpm wget http://mirrors.cloud.aliyuncs.com/erdma/kernel-fix/mlnx-ofa_kernel-5.4-OFED.5.4.3.5.8.1.egs.1.src.rpm -O SRPMS/mlnx-ofa_kernel-5.4-OFED.5.4.3.5.8.1.egs.1.src.rpmCentOS 7.9
sudo wget http://mirrors.cloud.aliyuncs.com/opsx/ecs/linux/binary/erdma/ofed/MLNX_OFED_SRC-5.4-3.5.8.0.tgz sudo tar -xvf MLNX_OFED_SRC-5.4-3.5.8.0.tgz && cd MLNX_OFED_SRC-5.4-3.5.8.0/ sudo wget http://mirrors.cloud.aliyuncs.com/opsx/ecs/linux/binary/erdma/ofed/alibaba_cloud3/3/ofed_alibaba_cloud3.conf sudo rm -rf SRPMS/mlnx-ofa_kernel-5.4-OFED.5.4.3.5.8.1.src.rpm sudo wget http://mirrors.cloud.aliyuncs.com/erdma/kernel-fix/mlnx-ofa_kernel-5.4-OFED.5.4.3.5.8.1.egs.1.src.rpm -O SRPMS/mlnx-ofa_kernel-5.4-OFED.5.4.3.5.8.1.egs.1.src.rpm
Ubuntu 24.04/22.04/20.04/18.04
Ubuntu 24.04/22.04/20.04
sudo wget http://mirrors.cloud.aliyuncs.com/erdma/kernel-fix/deb/MLNX_OFED_SRC-debian-24.10-3.2.5.0.tgz sudo tar -xvf MLNX_OFED_SRC-debian-24.10-3.2.5.0.tgz && cd MLNX_OFED_SRC-24.10-3.2.5.0 && curl -O http://mirrors.cloud.aliyuncs.com/erdma/kernel-fix/deb/ofed_debian.conf sudo rm -rf SOURCES/mlnx-ofed-kernel_24.10.OFED.24.10.3.2.5.1.orig.tar.gz wget http://mirrors.cloud.aliyuncs.com/erdma/kernel-fix/deb/mlnx-ofed-kernel_24.10.egs.1.OFED.24.10.3.2.5.1.orig.tar.gz -O SOURCES/mlnx-ofed-kernel_24.10.egs.1.OFED.24.10.3.2.5.1.orig.tar.gzUbuntu 18.04
sudo wget http://mirrors.cloud.aliyuncs.com/opsx/ecs/linux/binary/erdma/ofed/MLNX_OFED_SRC-debian-5.4-3.6.8.1.tgz sudo tar -xvf MLNX_OFED_SRC-debian-5.4-3.6.8.1.tgz && cd MLNX_OFED_SRC-5.4-3.6.8.1 && curl -O http://mirrors.cloud.aliyuncs.com/erdma/kernel-fix/deb/ofed_debian.conf sudo rm -rf SOURCES/mlnx-ofed-kernel_5.4.orig.tar.gz sudo wget http://mirrors.cloud.aliyuncs.com/erdma/kernel-fix/deb/mlnx-ofed-kernel_5.4.egs.orig.tar.gz -O SOURCES/mlnx-ofed-kernel_5.4.egs.orig.tar.gz
Jalankan perintah berikut untuk menginstal driver OFED sesuai sistem operasi Anda.
Alibaba Cloud Linux 3
sudo ./install.pl --config ./ofed_alibaba_cloud3.conf --distro RHEL8 sudo dracut -fCentOS 8.5/8.4/7.9
CentOS 8.5/8.4
./install.pl --config ./ofed_alibaba_cloud3.conf --distro RHEL8CentOS 7.9
sudo ./install.pl --config ./ofed_alibaba_cloud3.conf --distro RHEL7
Ubuntu 24.04/22.04/20.04/18.04
Ganti
${VERSION_ID}dengan versi Ubuntu Anda, misalnya 24.04.sudo curl -O http://mirrors.cloud.aliyuncs.com/erdma/kernel-fix/deb/ofed_debian.conf sudo ./install.pl --config ./ofed_debian.conf --without-dkms --build-only --kernel-only sudo /usr/bin/dpkg -i --force-confmiss DEBS/ubuntu`lsb_release -s -r`/x86_64/*.deb update-initramfs -uJalankan perintah berikut untuk memeriksa apakah direktori
/usr/src/ofa_kernel/`uname -r`ada.Jika direktori tersebut ada, lanjutkan ke langkah berikutnya.
ls /usr/src/ofa_kernel/`uname -r`Jika direktori tersebut tidak ada, jalankan perintah berikut untuk membuat tautan simbolik, lalu lanjutkan ke langkah berikutnya.
sudo ln -s /usr/src/ofa_kernel/default /usr/src/ofa_kernel/`uname -r`
Restart instans.
Setelah driver OFED diinstal, Anda harus merestart instans agar modul kernel baru berlaku. Untuk informasi lebih lanjut, lihat Restart instans.
Instal driver eRDMA.
Unduh dan instal driver eRDMA.
sudo wget http://mirrors.cloud.aliyuncs.com/erdma/env_setup.sh sudo bash env_setup.sh --egsJalankan perintah berikut untuk memverifikasi instalasi driver eRDMA menggunakan tool eadm.
eadm verOutput yang mirip dengan berikut menunjukkan instalasi berhasil.
[root@xxx ~]# eadm ver Query kernel driver version: 0.2.35CatatanTopik ini menggunakan versi driver 0.2.35 sebagai contoh. Jika muncul error "command not found" atau perintah gagal dijalankan, instal ulang driver eRDMA.
Instal driver GPU.
Untuk informasi lebih lanjut, lihat Instal driver NVIDIA GPU secara manual pada instans Linux.
Muat komponen layanan nv_peer_mem.
(Direkomendasikan) Driver GPU 470.xx.xx atau yang lebih baru
Untuk mengaktifkan GPUDirect RDMA, Anda harus memuat komponen layanan nv_peer_mem. Driver GPU NVIDIA 470.xx.xx dan yang lebih baru sudah menyertakan komponen ini secara pra-instal, dan Anda dapat langsung menjalankan perintah berikut untuk memuat modul nvidia_peermem.
sudo modprobe nvidia_peermem # Anda dapat menjalankan perintah lsmod|grep nvidia untuk memeriksa apakah modul nvidia_peermem telah dimuat.CatatanJika instans direstart, Anda harus memuat ulang modul nvidia_peermem.
Driver GPU sebelum versi 470.xx.xx
Anda harus mengunduh dan menginstal komponen layanan secara manual. Kode berikut menunjukkan cara mengunduh, mengompilasi, dan menginstal komponen tersebut.
sudo git clone https://github.com/Mellanox/nv_peer_memory.git # Compile and install nv_peer_mem.ko. cd nv_peer_memory && make cp nv_peer_mem.ko /lib/modules/$(uname -r)/kernel/drivers/video depmod -a modprobe nv_peer_mem # Anda dapat menjalankan perintah lsmod|grep nv_peer_mem untuk memeriksa hasilnya. service nv_peer_mem start
Verifikasi bandwidth.
Lakukan koneksi jarak jauh ke instans GPU-accelerated.
Untuk informasi selengkapnya, lihat Menyambung ke instans Linux dengan menggunakan Workbench.
Jalankan perintah berikut untuk memeriksa apakah dua perangkat eRDMA berfungsi sebagaimana mestinya.
sudo ibv_devinfoSecara default, skrip instalasi driver eRDMA menginstal versi driver terbaru. Jika Anda perlu menginstal versi driver eRDMA yang lebih lama, ajukan tiket untuk bantuan.
Topik ini menggunakan driver eRDMA versi 0.2.37 atau yang lebih baru sebagai contoh. Output berikut menunjukkan dua perangkat eRDMA berfungsi dengan benar. Perangkat berada dalam kondisi normal jika
stateport-nya adalahPORT_ACTIVE.[ecs-xxx...xxx4gnd0hZ ~]$ sudo ibv_devinfo hca_id: erdma_0 transport: eRDMA (0) fw_ver: 0.2.0 node_guid: 0216:3eff:fe36:1eb4 sys_image_guid: 0216:3eff:fe36:1eb4 vendor_id: 0x1ded vendor_part_id: 4223 hw_ver: 0x0 phys_port_cnt: 1 port: 1 state: PORT_ACTIVE (4) max_mtu: 1024 (3) active_mtu: 1024 (3) sm_lid: 0 port_lid: 0 port_lmc: 0x00 link_layer: Ethernet hca_id: erdma_1 transport: eRDMA (0) fw_ver: 0.2.0 node_guid: 0216:3eff:fe43:9c2a sys_image_guid: 0216:3eff:fe43:9c2a vendor_id: 0x1ded vendor_part_id: 4223 hw_ver: 0x0 phys_port_cnt: 1 port: 1 state: PORT_ACTIVE (4) max_mtu: 1024 (3) active_mtu: 1024 (3) sm_lid: 0 port_lid: 0 port_lmc: 0x00 link_layer: EthernetCatatanJika
stateport perangkat eRDMA adalahinvalid state, perangkat tersebut berada dalam kondisi abnormal. Kami menyarankan Anda memeriksa terlebih dahulu apakah ENI sekunder dikonfigurasi dengan benar. Misalnya, jalankan perintahifconfiguntuk memverifikasi bahwa konfigurasi dan alamat IP untuk semua NIC tersedia.Jalankan perintah berikut untuk menginstal tool perftest.
sudo yum install perftest -yJalankan perintah berikut untuk menguji apakah bandwidth jaringan RDMA sesuai ekspektasi perangkat keras.
Pada server, jalankan perintah berikut untuk mendengarkan permintaan koneksi dari klien.
sudo ib_write_bw -d erdma_0 -F -q 16 --run_infinitely --report_gbits -p 18515Untuk mengirim permintaan koneksi dan paket data, jalankan perintah berikut pada klien.
sudo ib_write_bw -d erdma_0 -F -q 16 --run_infinitely --report_gbits -p 18515 server_ipDalam perintah ini,
server_ipadalah Alamat IP pribadi ENI yang diaktifkan eRDMA pada instans server. Untuk menemukan alamat IP ini, lihat Lihat alamat IP.
CatatanTolok ukur perftest di atas menggunakan satu NIC untuk komunikasi. Jika layanan Anda memerlukan dua NIC untuk komunikasi, Anda harus menjalankan dua proses perftest. Kemudian, gunakan parameter
-duntuk menentukan perangkat eRDMA untuk setiap proses dan parameter-puntuk menentukan port komunikasi yang berbeda. Untuk informasi lebih lanjut, lihat detail perftest.Hasil pengujian mencakup bandwidth rata-rata. Output yang mirip dengan berikut menunjukkan komunikasi eRDMA berjalan normal.
Uji dan verifikasi
Topik ini menggunakan nccl-tests sebagai contoh untuk menunjukkan cara menguji kinerja aplikasi instans GPU dengan jaringan eRDMA. Untuk informasi lebih lanjut, lihat nccl-tests.
Instal NCCL dengan perintah berikut.
CatatanAnda juga dapat mengunduh paket instalasi dari situs web resmi NVIDIA NCCL lalu menginstalnya.
Contoh ini menginstal NCCL ke
/usr/local/nccl. Anda dapat menentukan path berbeda sesuai kebutuhan.# build nccl cd /root git clone https://github.com/NVIDIA/nccl.git cd nccl/ make -j src.lib PREFIX=/usr/local/nccl make install PREFIX=/usr/local/ncclVerifikasi instalasi NCCL dan keberadaan library libnccl.so dengan menjalankan perintah berikut.
# Check for NCCL ls /usr/local/nccl # Check for the libnccl.so library ls /usr/local/nccl/libInstal Open MPI dan kompilator yang diperlukan dengan perintah berikut.
wget https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-4.1.3.tar.gz tar -xzf openmpi-4.1.3.tar.gz cd openmpi-4.1.3 ./configure --prefix=/usr/local/openmpi make -j && make installAtur variabel lingkungan.
NCCL_HOME=/usr/local/nccl CUDA_HOME=/usr/local/cuda MPI_HOME=/usr/local/openmpi export LD_LIBRARY_PATH=${NCCL_HOME}/lib:${CUDA_HOME}/lib64:${MPI_HOME}/lib:$LD_LIBRARY_PATH export PATH=${CUDA_HOME}/bin:${MPI_HOME}/bin:$PATHPerintah di atas menggunakan path contoh berikut:
NCCL_HOMEmengarah ke path instalasi NCCL (/usr/local/nccl),CUDA_HOMEmengarah ke path instalasi CUDA (/usr/local/cuda), danMPI_HOMEmengarah ke path instalasi Open MPI (/usr/local/openmpi). Ganti path tersebut dengan path instalasi aktual Anda.Setelah mengedit file
~/.bashrcuntuk mengatur variabelPATHdanLD_LIBRARY_PATH, jalankan perintah berikut untuk menerapkan perubahan.source ~/.bashrcUnduh dan kompilasi kode uji.
git clone https://github.com/NVIDIA/nccl-tests cd nccl-tests/ make MPI=1 CUDA_HOME=/usr/local/cuda MPI_HOME=/usr/local/openmpiBuat akses SSH tanpa password antar instans.
Untuk membuat akses SSH tanpa password, buat kunci publik pada host1 dan salin ke host2.
# On host1 ssh-keygen ssh-copy-id -i ~/.ssh/id_rsa.pub ${host2} # On host1, run this command to test the connection. A successful login without a password prompt confirms the setup. ssh root@${host2}Uji kinerja all-reduce NCCL dengan perintah berikut.
# Replace host1 and host2 with the IP addresses of your instances. mpirun --allow-run-as-root -np 16 -npernode 8 -H host1:8,host2:8 \ --bind-to none \ -mca btl_tcp_if_include eth0 \ -x NCCL_SOCKET_IFNAME=eth0 \ -x NCCL_GIN_TYPE=0 \ -x NCCL_DEBUG=INFO \ -x LD_LIBRARY_PATH \ -x PATH \ ./build/all_reduce_perf -b 4M -e 4M -f 2 -g 1 -t 1 -n 20
Verifikasi konfigurasi eRDMA
Setelah mengonfigurasi eRDMA, gunakan daftar periksa berikut untuk memverifikasi bahwa fitur tersebut berfungsi dengan benar.
Bagian ini berlaku untuk tipe Instans Elastic Bare Metal GPU berikut yang mendukung eRDMA: ecs.ebmgn9g, ecs.ebmgn9gc, ecs.ebmgn9ge, ecs.ebmgn8is, dan ecs.ebmgn8v.
Kategori | Item | Metode verifikasi | Deskripsi |
Konfigurasi antarmuka jaringan | Instans memiliki dua antarmuka jaringan eRDMA | Jalankan perintah | Saat membuat instans dari konsol, dua antarmuka jaringan eRDMA dikonfigurasi secara default. Tidak diperlukan tindakan tambahan. |
Status antarmuka jaringan adalah PORT_ACTIVE | Jalankan perintah berikut dan verifikasi bahwa status semua port adalah | Jika pemeriksaan gagal, jalankan perintah | |
Dua antarmuka jaringan terikat ke node NUMA yang berbeda | Jalankan perintah berikut dan verifikasi bahwa nilai yang dikembalikan adalah | Jika kedua perintah mengembalikan 0, antarmuka jaringan sekunder terikat ke node NUMA yang salah. Untuk memperbaikinya, ikuti langkah-langkah berikut:
| |
Jumbo frames diaktifkan | Jalankan perintah berikut dan verifikasi bahwa MTU antarmuka jaringan adalah 4096: | Jika MTU bukan 4096, aktifkan jumbo frames lalu jalankan pemeriksaan lagi. | |
Algoritma pengendalian kemacetan MPCC diaktifkan | Jalankan perintah berikut untuk memeriksa algoritma pengendalian kemacetan: | Driver eRDMA versi 1.5.6 dan yang lebih baru menggunakan algoritma MPCC secara default. Jika tidak, jalankan perintah berikut untuk mengaktifkannya: | |
Tidak ada konflik alamat IP untuk antarmuka jaringan eRDMA | Jalankan perintah | Masalah ini sering terjadi saat menggunakan plugin jaringan Terway untuk ACK. Jika Anda mengalami masalah ini, lihat konfigurasi daftar putih Terway. | |
NCCL | Tentukan file topologi NCCL (hanya diperlukan untuk tipe instans ecs.ebmgn9g, ecs.ebmgn9gc, dan ecs.ebmgn9ge) | Simpan file topologi (l20n.xml) ke path lokal pada instans, misalnya Sebelum memulai tugas NCCL, atur variabel lingkungan berikut: | URL unduhan file topologi: |
GPU | Nonaktifkan ACS GPU untuk meningkatkan komunikasi P2P (hanya untuk tipe instans ecs.ebmgn9g, ecs.ebmgn9gc, dan ecs.ebmgn9ge) | Jalankan perintah berikut untuk memeriksa status ACS: Jika | Jika |
Referensi
Konfigurasikan eRDMA pada instans ECS tingkat enterprise untuk layanan jaringan RDMA elastis dengan latensi ultra-rendah dan throughput tinggi tanpa mengubah jaringan bisnis Anda. Untuk informasi lebih lanjut, lihat Aktifkan eRDMA pada instans tingkat enterprise.
Untuk aplikasi yang memerlukan transfer data skala besar dan komunikasi jaringan berkinerja-tinggi dalam kontainer, Anda dapat mengintegrasikan eRDMA ke dalam lingkungan kontainer (Docker). Hal ini memungkinkan aplikasi kontainer melewati kernel OS dan langsung mengakses perangkat eRDMA fisik host, sehingga memberikan transfer data lebih cepat dan komunikasi lebih efisien. Untuk informasi lebih lanjut, lihat Aktifkan eRDMA dalam kontainer (Docker).
Untuk memantau atau mendiagnosis eRDMA dan melacak status real-time-nya, lihat Pantau dan diagnosa eRDMA.