全部产品
Search
文档中心

Alibaba Cloud Linux:Kesesuaian SMC

更新时间:Jun 28, 2025

Topik ini menjelaskan cara menentukan apakah akselerasi Shared Memory Communication (SMC) cocok untuk suatu skenario dan apakah kondisi penggunaan akselerasi SMC terpenuhi.

Ikhtisar

Seiring dengan semakin banyaknya aplikasi di pusat data tradisional yang bermigrasi ke cloud, latensi jaringan dan throughput menghadapi tantangan baru. Antarmuka jaringan virtual tradisional dan tumpukan TCP tidak dapat memenuhi persyaratan throughput tinggi dan latensi rendah dari pusat data modern. Dengan peningkatan kemampuan Data Processing Unit (DPU) dalam skenario komputasi awan, jaringan Remote Direct Memory Access (RDMA) ditawarkan untuk sepenuhnya memanfaatkan kemampuan perangkat keras dan meningkatkan kinerja jaringan. Dalam konteks ini, tumpukan protokol kolaboratif perangkat lunak dan perangkat keras yang memanfaatkan performa perangkat keras DPU dasar, mendukung aplikasi cloud berskala besar, serta ramah bagi pengembang, penyebaran, dan pemeliharaan, menjadi pilihan penting untuk jaringan pusat data berbasis cloud.

SMC, yang dibuka sumbernya oleh IBM ke komunitas Linux dan ditingkatkan di Alibaba Cloud Linux 3, memenuhi persyaratan tersebut. SMC adalah tumpukan protokol jaringan kernel yang berjalan sejajar dengan tumpukan TCP/IP tetapi lebih ringan. SMC memindahkan pemrosesan protokol jaringan, seperti enkapsulasi dan penguraian paket, ke perangkat keras dasar, secara efektif mengurangi latensi dan overhead CPU. Selain itu, SMC mentransmisikan data dengan membaca dan menulis langsung ke memori bersama jarak jauh dan secara signifikan meningkatkan throughput jaringan.

SMC dikategorikan menjadi SMC over RDMA (SMC-R) berdasarkan teknologi RDMA dan SMC over Direct Memory Access (SMC-D) berdasarkan teknologi internal shared memory (ISM). Alibaba Cloud Linux 3 menyediakan kemampuan akselerasi SMC-R berdasarkan Elastic RDMA (eRDMA). Deskripsi berikut berkaitan dengan SMC-R.

Secara desain, tumpukan SMC kompatibel dengan antarmuka soket jaringan tradisional, dan metode pengembangan serta penggunaannya mirip dengan aplikasi TCP tradisional. Dengan mencegat panggilan sistem socket() untuk mengubah keluarga soket dan parameter protokol, aplikasi TCP yang ada dapat beralih ke tumpukan SMC tanpa perlu memodifikasi atau mengkompilasi ulang aplikasi. Untuk informasi lebih lanjut, lihat Aktifkan dan konfigurasikan SMC.

Saat membangun koneksi komunikasi, tumpukan SMC awalnya membangun koneksi TCP dengan peer. Selama jabat tangan tiga arah TCP, opsi TCP khusus (Kind: 254, Value: 0xE2D4C3D9) disertakan dalam paket SYN untuk menunjukkan kemampuan SMC dan memeriksa apakah peer mendukung SMC. Jika jabat tangan berhasil, kedua ujung membuat sumber daya RDMA yang sesuai dan menyelesaikan jabat tangan tambahan. Trafik data selanjutnya ditransmisikan melalui jaringan RDMA. Jika jabat tangan gagal, kedua ujung aman kembali ke koneksi TCP yang telah dibuat, yang memastikan komunikasi tidak terganggu meskipun peer tidak mendukung SMC.

Setelah koneksi dibangun, tumpukan SMC menciptakan koneksi RDMA reliable connection (RC) (tautan SMC) untuk koneksi SMC pertama. Trafik ditransmisikan melalui tautan SMC melalui jaringan RDMA. Untuk menggunakan tautan RDMA secara efisien dan meminimalkan overhead sumber daya RDMA, koneksi SMC berikutnya mencoba menggunakan kembali tautan SMC ini. Saat batas penggunaan ulang tercapai, tautan SMC baru dibuat. Beberapa tautan SMC dapat membentuk grup tautan SMC (LGR) untuk memberikan kemampuan transmisi RDMA dan mencapai pemulihan bencana.

Dependensi

  • Kemampuan eRDMA

    Untuk menggunakan SMC-R pada Alibaba Cloud Elastic Compute Service (ECS), konfigurasikan antarmuka jaringan eRDMA (ERI). Untuk informasi tentang jenis instans yang mendukung ERI dan cara mengonfigurasi ERI, lihat Aktifkan eRDMA pada instans tingkat perusahaan.

  • Sistem operasi

    Alibaba Cloud Linux 3 mendukung kemampuan SMC-R mulai dari kernel 5.10.134-16. Untuk informasi tentang cara melihat dan memperbarui kernel, lihat Ubah versi kernel.

Skenario

SMC cocok untuk skenario-skenario berikut:

  • Skema di mana Anda tidak ingin memodifikasi program mode pengguna

    Keuntungan utama SMC adalah memungkinkan aplikasi TCP memanfaatkan teknologi RDMA tanpa modifikasi apa pun untuk mempercepat kinerja jaringan. Namun, sebagai tumpukan protokol kernel, SMC menimbulkan panggilan sistem tambahan dan overhead salinan data mode kernel dan mode pengguna, yang menghasilkan performa lebih rendah daripada aplikasi RDMA asli. SMC ideal untuk skenario di mana integrasi tanpa hambatan dengan aplikasi yang ada lebih diutamakan.

  • Skema sensitif latensi dan sensitif throughput

    SMC memindahkan pemrosesan protokol jaringan ke perangkat keras dasar, secara efektif mengurangi latensi dan overhead CPU. SMC juga meningkatkan throughput jaringan dengan memungkinkan akses memori langsung untuk transmisi data. Oleh karena itu, SMC cocok untuk skenario yang mengutamakan metrik latensi dan throughput.

  • Skema jaringan internal

    SMC memerlukan dukungan dari kedua ujung. Ini lebih layak dalam skenario jaringan internal di mana SMC mudah diaktifkan di server dan klien. Tautan jaringan pendek dalam skenario ini juga memperbesar manfaat jaringan dari SMC.

  • Proporsi besar sumber daya jaringan

    Layanan dengan proporsi besar sumber daya jaringan akan melihat peningkatan yang lebih signifikan dalam latensi dan throughput jaringan dengan SMC.

Cegah skenario merugikan

SMC mungkin berperforma lebih buruk daripada TCP atau gagal mencapai hasil yang diharapkan dalam beberapa skenario. Hindari menggunakan SMC dalam skenario berikut.

Skema

Deskripsi

Solusi

Komunikasi siklus hidup pendek

Pembentukan koneksi SMC melibatkan beberapa proses seperti jabat tangan TCP, jabat tangan SMC, dan pembuatan sumber daya RDMA (saat menggunakan SMC-R), yang menghasilkan performa koneksi buruk dan performa lebih rendah daripada TCP dalam komunikasi siklus hidup pendek.

Gunakan alat smc-ebpf untuk mengonfigurasi rentang aktivasi SMC untuk mencegah penggunaan SMC untuk koneksi semacam itu. Untuk informasi lebih lanjut, lihat Aktifkan dan konfigurasikan SMC.

Jumlah besar koneksi burst

Mirip dengan skenario komunikasi siklus hidup pendek, performa koneksi buruk dari SMC mengarah pada antrian dan penantian dalam proses pembentukan koneksi jika sejumlah besar koneksi burst dimulai, dan menghasilkan waktu habis pembentukan koneksi.

Komunikasi lintas elemen jaringan

Selama pembentukan koneksi SMC, koneksi TCP pertama kali dibangun dengan peer. Dalam jabat tangan tiga arah TCP, paket SYN/SYN-ACK mencakup Opsi Eksperimental TCP khusus untuk menunjukkan dukungan untuk SMC.

image.png

Namun, beberapa elemen jaringan salah membuang paket SYN dengan opsi yang tidak dikenali atau secara kondisional membalas opsi ini dalam paket SYN-ACK yang dikembalikan, yang dapat menyebabkan waktu habis jabat tangan atau penilaian yang salah tentang dukungan peer untuk SMC dan menghasilkan waktu habis pembentukan koneksi atau blokir. Masalah ini kadang-kadang terjadi saat layanan Internet diakses. Alat pemeriksaan otomatis dapat digunakan untuk memeriksa apakah tautan layanan melewati elemen jaringan abnormal. Untuk operasi spesifik, lihat Alat pemeriksaan otomatis.

Komunikasi jaringan publik

Mirip dengan skenario komunikasi lintas elemen jaringan, komunikasi jaringan publik sering melibatkan akses lintas elemen jaringan, yang dengan mudah mengarah pada waktu habis pembentukan koneksi atau blokir.

Selain itu, kondisi penggunaan SMC di kedua ujung dalam komunikasi jaringan publik sulit dipenuhi, yang menghasilkan fallback ke TCP.

Terakhir, SMC dirancang untuk mempercepat jaringan pusat data internal dan tidak menyediakan mekanisme pengamanan keamanan. SMC tidak cocok untuk lingkungan yang tidak tepercaya.

Sumber daya memori terbatas

SMC didasarkan pada komunikasi memori bersama dan menggunakan buffer yang dialokasikan sebelumnya sebagai memori bersama, yang menimbulkan overhead memori.

Secara default, koneksi SMC menempati ukuran buffer sysctl net.smc.wmem + sysctl net.smc.rmem di satu ujung. Untuk informasi lebih lanjut, lihat Aktifkan dan konfigurasikan SMC.

  • Gunakan alat smc-ebpf untuk mengonfigurasi rentang aktivasi SMC untuk mencegah mengaktifkan SMC di lingkungan di mana sumber daya memori terbatas. Untuk informasi lebih lanjut, lihat Aktifkan dan konfigurasikan SMC.

  • Atur ukuran default buffer transmisi dan penerimaan. Untuk informasi lebih lanjut, lihat Aktifkan dan konfigurasikan SMC.

Komunikasi lintas zona

Dalam skenario lintas zona, latensi transmisi berkisar dari ratusan mikrodetik hingga beberapa milidetik, yang mengurangi keunggulan latensi yang dibawa oleh SMC dan menghasilkan tidak ada manfaat signifikan. Di sisi lain, peningkatan produk bandwidth-latensi jaringan memerlukan peningkatan buffer transmisi dan penerimaan untuk sepenuhnya memanfaatkan bandwidth, meningkatkan tekanan sumber daya memori.

Gunakan Pengidentifikasi Endpoint Unik (UEID) untuk mencegah penggunaan komunikasi SMC lintas zona. Untuk informasi lebih lanjut, lihat Aktifkan dan konfigurasikan SMC.

Alat pemeriksaan otomatis

Alibaba Cloud Linux 3 menyediakan alat aliyunsmc-check untuk pemeriksaan otomatis konfigurasi lingkungan dasar terkait SMC, tautan komunikasi, dan kemampuan komunikasi. Alat aliyunsmc-check termasuk dalam paket aliyun-smc-extensions.

  • Instal paket

    Jalankan perintah berikut untuk menginstal paket aliyun-smc-extensions:

    sudo yum install -y aliyun-smc-extensions
  • Pemeriksaan konfigurasi lingkungan dasar

    Pemeriksaan konfigurasi lingkungan dasar memverifikasi kebenaran lingkungan dasar, seperti versi kernel sistem operasi dan keberadaan perangkat eRDMA. Jalankan perintah berikut untuk melakukan pemeriksaan:

    aliyunsmc-check basic_check

    Contoh keluaran perintah

    image

  • Pemeriksaan tautan komunikasi

    Pemeriksaan tautan komunikasi memverifikasi apakah elemen jaringan pada tautan komunikasi memengaruhi komunikasi SMC untuk menentukan kesesuaian tautan untuk komunikasi SMC. Jalankan perintah berikut untuk melakukan pemeriksaan. Ganti <url> dengan URL aktual.

    aliyunsmc-check syn_check --url <url>

    Contoh keluaran perintah

    image.png

    Jika URL benar dan tautan gagal dalam pemeriksaan, tautan tersebut tidak cocok untuk komunikasi SMC. Gunakan alat smc-ebpf untuk menonaktifkan komunikasi SMC pada tautan. Untuk informasi lebih lanjut, lihat Aktifkan dan konfigurasikan SMC.

  • Pemeriksaan komunikasi SMC

    Pemeriksaan komunikasi SMC memverifikasi apakah SMC dapat digunakan untuk komunikasi normal antara mesin saat ini dan host jarak jauh yang ditentukan oleh parameter hosts. Selama pemeriksaan, SSH digunakan untuk masuk ke host jarak jauh. Informasi autentikasi SSH diperlukan dalam parameter perintah.

    Metode autentikasi SSH berikut didukung:

    • Gunakan keyfile untuk logon SSH.

      • Ganti <peer ip> dengan alamat IP host jarak jauh.

      • Ganti <usr> dengan nama pengguna host jarak jauh.

      • Ganti <keyfile> dengan jalur file kunci privat SSH.

      aliyunsmc-check connect_check --hosts <peer ip> --user <usr> --key <keyfile>
    • Gunakan kata sandi untuk logon SSH.

      • Ganti <peer ip> dengan alamat IP host jarak jauh.

      • Ganti <usr> dengan nama pengguna host jarak jauh.

      • Ganti <passwd> dengan kata sandi host jarak jauh.

      aliyunsmc-check connect_check --hosts <peer ip> --user <usr> --pwd <passwd>
    • Gunakan logon SSH tanpa kata sandi.

      • Ganti <peer ip> dengan alamat IP host jarak jauh.

      • Ganti <usr> dengan nama pengguna host jarak jauh.

      aliyunsmc-check connect_check --hosts <peer ip> --user <usr>

    Contoh keluaran perintah

    image.png