พื้นฐานแฟบริก InfiniBand
ฟาบริกของ InfiniBand มีพฤติกรรมต่างจากเครือข่าย Ethernet ในแบบที่มีผลตอนวินิจฉัยลิงก์ หน้านี้ครอบคลุมแนวคิดที่วิศวกรออปติกส์ต้องเจอ ได้แก่ ตัวจัดการซับเน็ต การควบคุมการไหลแบบไม่มีการสูญเสีย โทโพโลยี และลิงก์ที่มีปัญหาจะแสดงอาการอย่างไร
ตัวจัดการซับเน็ต
ทุกซับเน็ตของ IB มี ตัวจัดการซับเน็ต (Subnet Manager, SM) ที่ทำงานอยู่หนึ่งตัว มันค้นพบพอร์ตและสวิตช์ทั้งหมด กำหนดตัวระบุภายใน (LID) คำนวณตารางฟอร์เวิร์ด และตั้งค่าตารางเหล่านั้นลงในสวิตช์ทุกตัว เมื่อลิงก์กระพริบ SM จะตรวจกวาดฟาบริกใหม่อีกครั้ง — ออปติกที่อยู่ในระดับก้ำกึ่งจึงไม่ได้แค่ทำให้ลิงก์เดียวหลุดไป แต่ยังกระตุ้นเหตุการณ์จัดเส้นทางใหม่ทั่วทั้งฟาบริกที่ทุกคนสังเกตเห็นได้
ไม่มีการสูญเสียด้วยเครดิต
ลิงก์ IB ไม่ทิ้งแพ็กเก็ตเลยในการทำงานปกติ: ฝั่งส่งจะส่งได้ก็ต่อเมื่อฝั่งรับประกาศเครดิตบัฟเฟอร์ไว้แล้วเท่านั้น ความแออัดจึงเกิดเป็นแรงดันย้อนกลับแทนที่จะทิ้งข้อมูล และลิงก์ที่เสื่อมสภาพ (ข้อผิดพลาดสัญลักษณ์ไต่สูงขึ้น, การแก้ไขของ FEC) จะทำให้งานทั้งหมดที่พึ่งพาลิงก์นั้นช้าลงไปด้วย — ปัญหา “ลิงก์เดียวที่ช้า” ในการดำเนินการแบบกลุ่ม
โทโพโลยี
- Fat-tree (Clos) — มาตรฐานทั่วไป: สวิตช์ลีฟเชื่อมต่อโฮสต์ สวิตช์สไปน์เชื่อมต่อลีฟ โดยมีอัปลิงก์มากพอที่จะไม่เกิดการบล็อก ลิงก์ส่วนใหญ่เป็นออปติกส์แบบลีฟ–สไปน์
- Dragonfly+ และรูปแบบ torus ปรากฏในระบบขนาดใหญ่ที่สุดเพื่อประหยัดสวิตช์และสาย
- การออกแบบแบบปรับให้เหมาะกับเรลสำหรับ AI จะวาง NIC ของแต่ละ GPU ไว้บน “เรล” ที่แยกจากกันของฟาบริก เพื่อให้ GPU ที่มีลำดับเดียวกันข้ามเซิร์ฟเวอร์ต่าง ๆ ห่างกันแค่หนึ่งฮอป — ดูโทโพโลยีฟาบริกของ GPU
RDMA และ GPUDirect
แอปพลิเคชันใช้ verbs ของ RDMA เพื่อย้ายข้อมูลระหว่างหน่วยความจำของโหนดโดยไม่ต้องให้ CPU คัดลอกข้อมูล; GPUDirect RDMA ขยายกลไกนี้ไปถึงหน่วยความจำ GPU ผลที่ตามมาคือความผิดพลาดของฟาบริกจะปรากฏให้แอปพลิเคชันเห็นเป็นอาการค้างหรือหมดเวลาในการดำเนินการแบบกลุ่ม ซึ่งมักเกิดขึ้นนานก่อนที่ผู้ดูแลระบบจะเห็นพอร์ตดาวน์เสียอีก
ลิงก์ที่มีปัญหาจะมีอาการอย่างไร
| อาการในฟาบริก | สาเหตุระดับฟิสิคัลเลเยอร์ที่ควรตรวจสอบ |
|---|---|
| ข้อผิดพลาดสัญลักษณ์ไต่สูงขึ้น / บล็อกที่ FEC แก้ไขบนพอร์ตเดียว | MPO สกปรก, กำลัง Rx อยู่ในระดับก้ำกึ่ง, เลนเสื่อมสภาพ |
| ลิงก์ค้างอยู่ที่ความกว้างหรือความเร็วต่ำกว่าที่ควร | FEC ไม่ตรงกัน, โมดูลไม่ประกาศอัตราส่งตามที่คาดไว้ |
| พอร์ต “Not supported”, ไม่มีลิงก์ | ข้อมูลระบุตัวตนของโมดูลไม่ถูกจดจำ — การล็อกผู้ผลิต |
| SM ตรวจกวาดซ้ำ ๆ | มีลิงก์ที่กระพริบอยู่ที่ไหนสักแห่ง — หาด้วยตัวนับข้อผิดพลาดต่อพอร์ต |
ทำตามแผนที่ปัญหาและวิธีการวินิจฉัยตามปกติ: ระดับสัญญาณ → ทำความสะอาด → เปลี่ยนตัว → สาย
ใน CodingBox
อ่านโมดูล IB ที่ต้องสงสัยบนโต๊ะทดสอบ: ค่า Rx/Tx และไบอัสต่อเลนบนหน้าจอ DDM จะบอกได้ว่าเลนใดเลนหนึ่งของโมดูล SR4/DR4 กำลังจะตายหรือไม่ และฟิลด์ข้อมูลระบุตัวตนจะบอกได้ว่าฟาบริกจะยอมรับตัวที่เปลี่ยนใหม่หรือไม่
เลเยอร์โปรโตคอล คู่คิว และหน้าที่ของตัวจัดการซับเน็ตแบบละเอียด: โปรโตคอลและทรานสปอร์ตของ IB; การเดินสายฟาบริกแยกตามรุ่นและระยะส่ง: การเดินสาย IB