Protokol dan transport IB: lapisan, QP, RDMA, manajer subnet · InfiniBand · Teknologi · Dokumentasi · CodingBox
CodingBox Dokumentasi

Protokol dan transport IB: lapisan, QP, RDMA, manajer subnet

InfiniBand dirancang sejak awal sebagai fabric untuk komputer yang saling mengakses memori satu sama lain, bukan untuk paket antar pihak yang tidak saling kenal. Lapisan, pengalamatan, dan manajemennya terlihat asing bagi engineer Ethernet, tetapi sederhana begitu kosakatanya dikuasai — dan hal ini menjelaskan mengapa lapisan fisik dipegang pada standar yang begitu ketat. Halaman ini adalah sudut pandang protokol; optiknya ada di Optik InfiniBand.

Lapisan

LapisanIsiCatatan
Fisiklane (1x, 4x, 8x, 12x), sinyal per lane (NRZ hingga PAM4 pada HDR… lihat kecepatan), pengkodean (8B/10B hingga QDR, 64B/66B mulai FDR), FEC (opsional mulai FDR, RS-FEC pada HDR/NDR)dunia transceiver
Linklocal routing header (LRH) dengan LID, virtual lane (VL0–VL14 data, VL15 manajemen), flow control berbasis credit per VL, CRC lapisan link (ICRC/VCRC)lossless sejak dirancang
Jaringanglobal routing header (GRH) dengan GID 128-bit untuk routing lintas-subnetjarang dipakai di dalam satu klaster
Transportqueue pair (QP) dengan send queue/receive queue, tipe layanan RC/UC/UD/XRC, segmentasi hingga MTU, ACK/NAK untuk layanan reliableRDMA berada di sini
Atasverbs API, MPI, NCCL (via UCX/SHARP), penyimpanan (SRP, iSER, NVMe/IB), IPoIByang dipakai aplikasi

Pengalamatan dan identitas

PengenalUkuranDitetapkan olehArti
GUID64-bitprodusenidentitas permanen sebuah port, node, atau sistem (seperti alamat MAC)
LID (local identifier)16-bitsubnet manageralamat di dalam subnet; forwarding table memakai LID
GID128-bitSM (prefix) + GUIDprefix subnet + GUID; dipakai lintas subnet dan oleh RoCE
PKey (partition key)16-bitSMkeanggotaan dalam sebuah partition (seperti VLAN); anggota penuh/terbatas
QPN24-bitHCAnomor queue pair — endpoint di dalam sebuah port

Queue pair dan layanan transport

Sebuah queue pair adalah satu send queue dan satu receive queue di dalam HCA, dimiliki oleh sebuah aplikasi. Work request yang diposting ke situ dijalankan oleh perangkat keras; completion mendarat di sebuah completion queue. Tipe layanan:

TipeReliableConnectedKegunaan
RC — reliable connectedya (ACK/NAK, retransmit)ya, satu QP per peersebagian besar trafik RDMA; MPI, NCCL, penyimpanan
UC — unreliable connectedtidakyajarang
UD — unreliable datagramtidaktidak, satu QP untuk semua peermanajemen, IPoIB, multicast
XRC — extended reliable connectedyareceive queue dibagi antar prosesjob MPI besar untuk memangkas jumlah QP
RD — reliable datagramyatidakpada dasarnya tidak dipakai

RDMA operations (READ, WRITE, atomic) memindahkan data langsung antar buffer aplikasi pada dua host tanpa CPU mana pun menyalinnya; SEND/RECEIVE membawa pesan. Memori harus diregistrasikan (di-pin dan diberi kunci) sebelum HCA boleh menyentuhnya. GPUDirect RDMA memperluas ini ke memori GPU (Fabric GPU).

Flow control dan MTU

Setiap link menjalankan flow control berbasis credit per virtual lane: penerima mengumumkan ruang buffer yang tersedia, pengirim tidak pernah mengirim lebih dari yang dapat diserap. Tidak ada frame yang dibuang karena kongesti; sebagai gantinya, back-pressure merambat — trade-off yang sama dengan credit Fibre Channel dan alasan satu link yang lambat atau bermasalah menurunkan kinerja seluruh job. MTU link adalah 256–4096 byte (umumnya 4096); MTU path dinegosiasikan end to end. Service level (SL) dipetakan ke VL untuk memisahkan kelas trafik, dan adaptive routing dapat mengarahkan flow menghindari link yang padat.

Subnet manager

Tepat satu subnet manager (SM) aktif per subnet (yang lain siaga). Subnet manager:

  1. Menemukan topologi dengan menjelajahi fabric memakai paket manajemen directed-route (SMP di VL15/QP0) — setiap port switch dan HCA.
  2. Menetapkan LID dan mengonfigurasi port (kecepatan, lebar, MTU, arbitrase VL, PKey).
  3. Menghitung rute — min-hop, up-down, fat-tree, dragonfly+, adaptive routing — dan memprogram linear forwarding table setiap switch.
  4. Menyapu secara berkala dan saat ada trap (port naik/turun), merutekan ulang di sekitar kegagalan.
  5. Menjalankan subnet administrator (SA) yang menjawab query jalur dari host.

OpenSM (open source) dan fabric manager vendor (UFM) mengimplementasikannya; fabric manager juga menjadi tempat error port, hasil negosiasi kecepatan/lebar link, dan DDM optik dikumpulkan untuk seluruh armada (Keandalan & pemantauan link).

Saat link naik, kedua ujung menegosiasikan lebar (1x/2x/4x) dan kecepatan (rate per lane) ke nilai tertinggi yang sama-sama didukung. Link yang naik pada 2x atau satu generasi lebih lambat dari yang diharapkan adalah padanan InfiniBand dari “link di 10G, bukan 25G” pada Ethernet: serat optik atau laser satu lane, kabel yang marginal, atau generasi transceiver yang tidak cocok (Kecepatan & rate). Fabric manager melaporkan status yang dinegosiasikan; ibstat / ibportstate menampilkannya pada host.

Perkakas manajemen dan diagnostik

PerkakasKegunaan
ibstat, ibstatusstatus port lokal, rate, lebar, LID
ibnetdiscoverdump topologi
ibdiagnetpemeriksaan fabric-wide: error, ketidakcocokan kecepatan/lebar, GUID duplikat, informasi kabel
perfquery, ibqueryerrorscounter per port: symbol error, link downed, link recovery, port rcv error, excessive buffer overrun, VL15 dropped, counter FEC
mlxlink, mlxcablesdetail PHY per port dan EEPROM kabel/transceiver, DDM, histogram FEC
ibportstatememaksa kecepatan/lebar, mereset sebuah port

Symbol error dan link recovery adalah counter lapisan fisik — padanan dari CRC/FEC Ethernet, terkait dengan daya Rx dan kebersihan (Fabric).

InfiniBand vs RoCE dalam satu paragraf

RoCE v2 membawa transport verbs/RDMA yang sama lewat UDP/IP/Ethernet; RoCE menggantikan subnet manager dengan routing IP dan PKey dengan VLAN, serta menggantikan flow control berbasis credit dengan PFC/ECN (DCQCN) — yang harus dikonfigurasi dengan benar agar lossless (Ethernet lossless, Interconnect). Transceivernya secara fisik sama; hanya pengkodean identitas dan kebijakan host yang berbeda.

Di CodingBox

Modul InfiniBand dibaca seperti QSFP/OSFP mana pun: identitas (termasuk bit rate InfiniBand di byte 164 SFF-8636 atau aplikasi CMIS), DDM per lane, dan checksum pada Check transceiver dan DDM. Port yang bernegosiasi di bawah kecepatan nominalnya layak dibaca di meja kerja pada kedua ujungnya.


Jika Anda menemukan ketidakakuratan atau kesalahan dalam artikel ini, pilih bagian teks yang bersangkutan lalu tekan Ctrl+Enter untuk .