Elastic Remote Direct Memory Access (eRDMA) adalah layanan jaringan RDMA berkinerja tinggi dari Alibaba Cloud yang menawarkan latensi rendah, throughput tinggi, dan elastisitas tinggi. eRDMA merupakan layanan RDMA hemat biaya untuk Instance ECS yang dibangun di atas arsitektur sistem X-Dragon generasi keempat dan jaringan VPC. Layanan ini sepenuhnya kompatibel dengan ekosistem RDMA dan mendukung penyebaran jaringan skala besar. Topik ini menjelaskan cara mengonfigurasi dan menggunakan eRDMA dalam kluster ACK.
Prasyarat
-
Anda telah membuat kluster yang menjalankan versi 1.20 atau lebih baru. Untuk meningkatkan kluster, lihat Upgrade a cluster.
-
Anda telah membuat node yang mendukung elastic Remote Direct Memory Access (eRDMA) dalam kelompok node.
Anda hanya dapat mengikat ERIs ke Instance ECS dari family instans tertentu. Untuk informasi mengenai family instans yang mendukung ERIs, lihat Instance family overview.
Langkah 1: Instal komponen ACK eRDMA Controller
Instal komponen ACK eRDMA Controller.
-
Jika kluster Anda menggunakan plugin jaringan Terway, Anda juga harus mengonfigurasi daftar putih untuk Terway agar komponen tersebut tidak mengubah ENI yang mendukung eRDMA. Untuk informasi selengkapnya, lihat Configure a whitelist for ENIs.
-
Jika suatu node memiliki beberapa network interface controller (NIC), ACK eRDMA Controller mengonfigurasi entri rute untuk ENI yang mendukung eRDMA dengan prioritas lebih rendah dibandingkan entri rute untuk NIC dalam Blok CIDR yang sama. Prioritas rute default adalah
200. Untuk mengonfigurasi NIC secara manual setelah menginstal ACK eRDMA Controller, pastikan untuk menghindari konflik rute.
Pada halaman Clusters, klik nama kluster Anda. Di panel navigasi sebelah kiri, klik Add-ons.
-
Pada halaman Add-ons, klik tab Network, temukan komponen ACK eRDMA Controller, lalu ikuti petunjuk untuk mengonfigurasi dan menginstalnya.
Item Konfigurasi
Deskripsi
preferDriver Driver type
Pilih jenis driver eRDMA yang akan digunakan pada node kluster. Nilai yang valid:
-
default: Mode driver default. -
compat: Mode driver yang kompatibel dengan RoCE. -
ofed: Mode driver berbasis OFED. Mode ini cocok untuk tipe instans GPU-accelerated.
Untuk informasi selengkapnya mengenai jenis driver, lihat Enable eRDMA.
Specifies whether to assign all eRDMA devices of nodes to pods
Nilai yang valid:
-
True (dipilih): Mengalokasikan semua perangkat eRDMA pada node ke Pod.
-
False (tidak dipilih): Mengalokasikan satu perangkat eRDMA ke Pod berdasarkan topologi NUMA. Node harus memiliki kebijakan manajemen CPU statis yang diaktifkan untuk memastikan alokasi NUMA tetap untuk Pod dan perangkat. Untuk informasi cara mengonfigurasi kebijakan CPU, lihat Create and manage node pools.
Setelah instalasi selesai, di panel navigasi sebelah kiri, pilih Workloads > Pods. Kemudian, atur namespace ke ack-erdma-controller dan periksa status Pod untuk memastikan komponen berjalan sesuai harapan.
-
Langkah 2: Gunakan eRDMA untuk mempercepat jaringan kontainer
Setelah menginstal komponen ACK eRDMA Controller, Anda dapat menggunakan konfigurasi berikut dalam Pod untuk mengaktifkan akselerasi eRDMA.
|
Konfigurasi |
Metode |
Deskripsi |
|
Aktifkan eRDMA |
Deklarasikan resource
|
Deklarasikan resource Setelah perangkat dialokasikan, lihat perangkat tersebut di dalam Pod.
|
|
Aktifkan akselerasi transparan dengan SMC-R |
Setelah Anda mengaktifkan eRDMA, deklarasikan
|
Setelah Anda mengaktifkan akselerasi transparan dengan SMC-R, akselerasi eRDMA hanya dapat digunakan jika kedua ujung koneksi TCP dikonfigurasi dengan SMC-R. Anda dapat menginstal tool Catatan
|
Skenario 1: Gunakan eRDMA untuk mempercepat komunikasi NCCL pada tipe instans GPU-accelerated
-
Ikuti petunjuk dalam Langkah 1: Instal komponen ACK eRDMA Controller untuk menginstal komponen tersebut. Atur
preferDriverkeofeduntuk komunikasi NCCL. -
Tambahkan node GPU ke kelompok node. Untuk informasi selengkapnya, lihat Create and manage node pools.
-
Instal paket terkait eRDMA saat membangun gambar kontainer aplikasi.
-
Jalankan aplikasi GPU yang menggunakan eRDMA di kluster. Contoh ini menggunakan
nccl-test. -
Verifikasi bahwa NCCL menggunakan eRDMA untuk akselerasi.
Anda dapat memeriksa log aplikasi untuk melihat jenis komunikasi dan jumlah NIC yang digunakan oleh NCCL. Gambar berikut menunjukkan contohnya.

Output yang diharapkan menunjukkan bahwa perangkat eRDMA
erdma_0danerdma_1digunakan untuk akselerasi.
Skenario 2: Gunakan SMC-R untuk mempercepat jaringan aplikasi secara transparan
-
Ikuti petunjuk dalam Langkah 1: Instal komponen ACK eRDMA Controller untuk menginstal komponen tersebut. Atur
preferDriverkedefaultuntuk akselerasi komunikasi standar. -
Gunakan kode contoh berikut untuk membuat aplikasi yang dipercepat oleh SMC-R di kluster.
-
Periksa status akselerasi koneksi jaringan di dalam Pod.
Anda dapat menginstal
smc-toolsdi dalam kontainer dan menjalankan perintahsmcssuntuk melihat efek akselerasi./# smcss State UID Inode Local Address Peer Address Intf Mode ACTIVE 00000 0059964 172.17.192.73:47772 172.17.192.10:80 0000 SMCROutput yang diharapkan menunjukkan
SMCRpada kolomMode, yang menunjukkan bahwa koneksi telah dipercepat oleh eRDMA.