พอร์ต NIC, ความเร็ว และแบนด์วิดท์ PCIe
แผงด้านหน้าของ NIC สัญญาไว้ว่า “2 × 100G” แต่เซิร์ฟเวอร์จะย้ายข้อมูลได้จริง 200 Gb/s หรือไม่นั้น ขึ้นอยู่กับสล็อต PCIe ที่อยู่ด้านหลังการ์ด ส่วนโมดูลตัวใดตัวหนึ่งจะใช้งานได้หรือไม่ก็ขึ้นอยู่กับเคจและผังเลนของคอนโทรลเลอร์ เหมือนกับบนสวิตช์ทุกประการ เพียงแต่มีพอร์ตน้อยกว่าและมีบัสที่จัดสรรน้อยเกินไปได้ง่าย หน้านี้รวบรวมเคจและความเร็วที่พบบน NIC กฎของพอร์ตสองอัตราเร็วและสายเบรกเอาต์ วิธีคำนวณ PCIe ฟอร์มแฟกเตอร์ OCP 3.0 และข้อจำกัดด้านกำลังไฟและการระบายความร้อนที่มีผลต่อออปติกบนการ์ด
เคจและความเร็วบน NIC
| เคจ | ความเร็วที่พบบน NIC | คอนโทรลเลอร์ทั่วไป | หมายเหตุ |
|---|---|---|---|
| SFP+ | 10G (บางรุ่นมี 1G) | Intel X520/X710, Broadcom 5741x | การรองรับ 1G แตกต่างกันไป; ตรวจสอบสเปกของการ์ด |
| SFP28 | 25G, 10G (1G พบน้อย) | Intel XXV710/E810-XXV, ConnectX-4 Lx/-6 Lx, Broadcom P225 | 25G ต้องตกลง FEC กัน (FEC และการเจรจาอัตโนมัติ) |
| SFP56 | 50G, 25G, 10G | ConnectX-6 Lx/Dx (บางรุ่น) | เลน PAM4 |
| QSFP28 | 100G, 4 × 25G, 2 × 50G, 40G, 4 × 10G | Intel E810-CQDA2, ConnectX-5/6, Broadcom P2100 | เบรกเอาต์ผ่านสายได้เฉพาะเมื่อคอนโทรลเลอร์อนุญาต |
| QSFP56 | 200G, 100G, 2 × 100G | ConnectX-6 Dx/-7, Broadcom P2200, Pensando | — |
| QSFP112 | 400G, 200G, 100G, 4 × 100G | ConnectX-7, Broadcom P1400GD | 100G ต่อเลน; รองรับ QSFP28/56 |
| QSFP-DD | 400G, 2 × 200G, 4 × 100G | Broadcom BCM57608 | — |
| OSFP (สองพอร์ต) | 2 × 400G, 800G | ConnectX-7/-8, BlueField-3 | หนึ่งเคจ สองพอร์ตเชิงตรรกะในดีไซน์สองพอร์ตของ Nvidia |
| RJ45 | 1G / 10GBASE-T / มัลติกิก | X550, X710-T, BCM57416 | ไม่มีโมดูล มี PHY อยู่บนการ์ด |
กฎความเข้ากันได้ของเคจเป็นกฎเดียวกับของสวิตช์ (ชนิดพอร์ตและเคจ)
พอร์ตสองอัตราเร็วและกลุ่มความเร็ว
- NIC 25G ส่วนใหญ่รันแต่ละพอร์ตอิสระจากกันที่ 10G หรือ 25G ไม่มีการรวมกลุ่มสี่พอร์ต แต่คอนโทรลเลอร์สองพอร์ตบางรุ่นใช้กลุ่ม SerDes ร่วมกันและบังคับให้ทั้งสองพอร์ตใช้ความเร็วเดียวกัน
- การ์ด 100G มักรองรับโมดูล 40G; การ์ด 200G/400G รองรับโมดูล 100G; การลดระดับลงมากกว่าหนึ่งรุ่น (1G ใน SFP28, 10G ใน QSFP56 ผ่าน QSA) แทบไม่มีการรองรับ
- ความเร็วมักเลือกแบบอัตโนมัติจากรหัสความสอดคล้องของโมดูล การบังคับ (
ethtool -s … speed) จำเป็นเมื่อโมดูลเป็นแบบสองอัตราเร็วหรือไม่ถูกจดจำ (เครื่องมือ)
เบรกเอาต์บน NIC
| กรณี | ใช้ได้หรือไม่ |
|---|---|
| พอร์ต NIC QSFP28 100G → 4 × 25G ไปยังสวิตช์ (สายสปลิตเตอร์ DAC) | ใช้ได้เฉพาะเมื่อคอนโทรลเลอร์รองรับโหมด “แบ่งพอร์ต 4 × 25G” (การ์ด Nvidia และ Broadcom หลายรุ่นรองรับ Intel ส่วนใหญ่ไม่รองรับ) เมื่อใช้ได้ การ์ดจะแสดงเป็นอุปกรณ์เครือข่าย (netdev) 4 ตัว |
| พอร์ตสวิตช์ 100G → 4 × 25G ไปยังพอร์ต SFP28 สี่พอร์ตของ NIC | ใช้ได้ — นี่คือทิศทางที่พบทั่วไป การแบ่งพอร์ตถูกคอนฟิกไว้ที่สวิตช์ (เบรกเอาต์และ MPO) |
| OSFP สองพอร์ต 400G → 2 × 400G หรือ 4 × 200G / 8 × 100G | การ์ดสองพอร์ตของ Nvidia: 2 พอร์ตเชิงตรรกะต่อเคจ; การแบ่งเพิ่มเติมขึ้นอยู่กับเฟิร์มแวร์ |
| 2 × 50G จากพอร์ต QSFP28 | คอนโทรลเลอร์บางรุ่น |
PCIe: ความเร็วพอร์ตที่แท้จริง
| รุ่นของ PCIe | ต่อเลน (ดิบ) | x8 ใช้งานได้จริง (≈) | x16 ใช้งานได้จริง (≈) |
|---|---|---|---|
| Gen 3 | 8 GT/s | 56–63 Gb/s | 112–126 Gb/s |
| Gen 4 | 16 GT/s | 112–126 Gb/s | 225–252 Gb/s |
| Gen 5 | 32 GT/s | 225–252 Gb/s | 450–504 Gb/s |
| Gen 6 | 64 GT/s | ~450–500 Gb/s | ~900–1 000 Gb/s |
ทรูพุตที่ใช้งานได้จริงอยู่ที่ 85–90 % ของค่าดิบ หลังหักจากการเข้ารหัสและโอเวอร์เฮดของแพ็กเก็ต จับคู่พอร์ตกับจำนวนเลนดังนี้
| การ์ด | พอร์ต | ต้องการ |
|---|---|---|
| 2 × 25G | 50 Gb/s | Gen 3 x8 |
| 2 × 100G | 200 Gb/s | Gen 4 x16 (Gen 3 x16 อิ่มตัวที่ประมาณ 126) |
| 1 × 200G / 2 × 100G Gen 4 | 200 Gb/s | Gen 4 x16 |
| 2 × 200G | 400 Gb/s | Gen 5 x16 |
| 1 × 400G | 400 Gb/s | Gen 5 x16 (หรือ x16 สองชุดผ่าน “socket direct”/หลายโฮสต์) |
| 2 × 400G | 800 Gb/s | Gen 6 x16 หรือ Gen 5 x16 สองชุด |
การ์ด 2 × 100G ที่เสียบในสล็อต Gen 3 x8 จะลิงก์ได้ที่ 100G ทั้งสองพอร์ต แต่ส่งข้อมูลรวมได้จริงประมาณ 60 Gb/s เท่านั้น ออปติกไม่มีปัญหา แต่บัสมีปัญหา ตรวจสอบความกว้างและความเร็วของลิงก์ที่เจรจาได้ (LnkSta) ด้วย lspci -vv และตรวจสอบการตั้งค่าการแบ่งเลน PCIe (bifurcation) ใน BIOS
OCP NIC 3.0
| รายการ | SFF (ฟอร์มแฟกเตอร์เล็ก) | LFF (ใหญ่) |
|---|---|---|
| ขนาด | 76 × 115 mm | 139 × 115 mm |
| PCIe | สูงสุด x16 | สูงสุด x32 (x16 สองชุด) |
| กำลังไฟ | สูงสุด 80 W | สูงสุด 150 W |
| พอร์ต | 2–4 × SFP28/QSFP28/QSFP56/QSFP112 | 2 × QSFP-DD/OSFP หรือมากกว่า |
| การเข้าถึงออปติก | ด้านหน้าของโมดูล ไม่ต้องใช้เครื่องมือ | เหมือนกัน |
การ์ด OCP อยู่ด้านหลังเซิร์ฟเวอร์พร้อมช่องทางระบายอากาศของตัวเอง การระบายความร้อนของโมดูลมักดีกว่าการ์ด PCIe ที่ฝังอยู่ระหว่าง GPU
กำลังไฟและการระบายความร้อนสำหรับออปติกบนการ์ด
| รายการ | ขีดจำกัด / กฎ |
|---|---|
| กำลังไฟของสล็อต PCIe | 25 W (x1…x8 โปรไฟล์ต่ำ), 75 W (x16); การ์ด 400G ใช้คอนเนกเตอร์เสริม 8 พิน |
| งบประมาณต่อเคจบน NIC | SFP28: 1.5 W (เลเวล II); QSFP28: 3.5–4.5 W; QSFP56/112: 5–8 W; QSFP-DD/OSFP: 12–20 W — ดูค่าที่ระบุในดาต้าชีตของการ์ด (กำลังไฟและการใช้พลังงาน) |
| การไหลเวียนอากาศ | 200–300 LFM ผ่านการ์ด; ออปติกบนการ์ดในเซิร์ฟเวอร์ 1U ใกล้ทางลมร้อนของ CPU จะร้อน — DDM อ่านอุณหภูมิเกิน 60 °C เป็นเรื่องปกติ |
| การควบคุมความร้อน | คอนโทรลเลอร์บางตัวลดโมดูลลงเป็นโหมดกำลังต่ำหรือปิดพอร์ตเมื่อโมดูลรายงานอุณหภูมิสูง |
| โคฮีเรนต์ / ZR บน NIC | ไม่รองรับบน NIC มาตรฐาน — คลาส 8 เกินงบประมาณของเคจ |
หลายโฮสต์และ socket direct
การ์ดระดับสูงสามารถแสดงตัวต่อ CPU สองซ็อกเก็ต (ลิงก์ x8 หรือ x16 สองชุด) หรือต่อหลายโฮสต์ได้ ฝั่งออปติกไม่เปลี่ยนแปลง การแบ่งเกิดขึ้นที่ PCIe เรื่องนี้เกี่ยวข้องกับ 400G บนแพลตฟอร์ม Gen 4 และกับเซิร์ฟเวอร์ GPU ที่ NIC ของแต่ละ GPU ต้องอยู่บนรูทของ PCIe ของตัวเอง
เช็กลิสต์ก่อนซื้อ NIC สำหรับใช้กับออปติก
- ชนิดเคจและความเร็วที่คอนโทรลเลอร์รองรับบนเคจนั้น
- รุ่นของ PCIe และจำนวนเลนในสล็อตเป้าหมาย เทียบกับแบนด์วิดท์รวมของพอร์ต
- ต้องการเบรกเอาต์หรือไม่ คอนโทรลเลอร์ต้องรองรับการแบ่งพอร์ต
- นโยบายโมดูลของไดรเวอร์ (ความเข้ากันได้ของออปติกบน NIC)
- งบประมาณกำลังไฟของเคจ เทียบกับโมดูลที่วางแผนจะใช้; มีคอนเนกเตอร์ไฟเสริมหรือไม่
- การไหลเวียนอากาศในตำแหน่งของแชสซี; พิจารณา OCP 3.0 เพื่อการระบายความร้อนที่ดีกว่า
- การรองรับโหมด FEC และการบังคับความเร็วของ OS/ไดรเวอร์
ใน CodingBox
รหัสความสอดคล้องและคลาสกำลังไฟของโมดูลบอกได้ว่ามันจะใช้กับเคจและความเร็วของ NIC ได้หรือไม่ CodingBox อ่านค่าเหล่านี้ได้ก่อนที่โมดูลจะถูกติดตั้ง ส่วนคำถามเรื่องการแบ่งพอร์ตและ PCIe นั้นตัดสินกันที่ฝั่งเซิร์ฟเวอร์ (Check transceiver)