IB پروٹوکول اور ٹرانسپورٹ: تہیں، QPs، RDMA، سب نیٹ مینیجر · InfiniBand · ٹیکنالوجیز · دستاویزات · CodingBox
CodingBox دستاویزات

IB پروٹوکول اور ٹرانسپورٹ: تہیں، QPs، RDMA، سب نیٹ مینیجر

InfiniBand ابتدا ہی سے ایسے کمپیوٹرز کے لیے فیبرک کے طور پر ڈیزائن کیا گیا تھا جو ایک دوسرے کی میموری سے گفتگو کرتے ہیں، نہ کہ اجنبیوں کے درمیان پیکٹس کے لیے۔ اس کی لیئرز، ایڈریسنگ اور مینجمنٹ Ethernet انجینئرز کو غیر مانوس لگتی ہیں، مگر اصطلاحات سمجھ آنے پر سادہ ہیں، اور یہ بتاتی ہیں کہ فزیکل لیئر کے لیے اتنے سخت معیار کیوں رکھے جاتے ہیں۔ یہ صفحہ پروٹوکول کا منظر پیش کرتا ہے؛ آپٹکس InfiniBand آپٹکس میں ہیں۔

لیئرز

لیئرموادنوٹس
فزیکللینز (1x، 4x، 8x، 12x)، فی لین سگنلنگ (NRZ سے HDR کے PAM4 تک… رفتاریں دیکھیے)، انکوڈنگ (QDR تک 8B/10B، FDR سے 64B/66B)، FEC (FDR سے اختیاری، HDR/NDR پر RS-FEC)ٹرانسیور کی دنیا
لنکLIDs کے ساتھ مقامی روٹنگ ہیڈر (LRH)، ورچوئل لینز (VL0–VL14 ڈیٹا، VL15 مینجمنٹ)، ہر VL پر کریڈٹ پر مبنی فلو کنٹرول، لنک لیئر CRC (ICRC/VCRC)ڈیزائن کے لحاظ سے لاس لیس
نیٹ ورکملٹی سب نیٹ روٹنگ کے لیے 128-بٹ GIDs کے ساتھ گلوبل روٹنگ ہیڈر (GRH)ایک کلسٹر کے اندر شاذ ہی استعمال ہوتا ہے
ٹرانسپورٹسینڈ/ریسیو کیوز کے ساتھ کیو پیئرز (QPs)، سروس اقسام RC/UC/UD/XRC، MTU کے لیے سیگمنٹیشن، قابلِ اعتماد سروس کے لیے ACK/NAKRDMA یہاں موجود ہے
بالائیverbs API، MPI، NCCL (UCX/SHARP کے ذریعے)، اسٹوریج (SRP، iSER، NVMe/IB)، IPoIBایپلی کیشنز کا استعمال

ایڈریسنگ اور شناخت

شناخت کنندہسائزتفویض کنندہمطلب
GUID64-بٹمینوفیکچررپورٹ، نوڈ یا سسٹم کی مستقل شناخت (MAC کی طرح)
LID (مقامی شناخت کنندہ)16-بٹسب نیٹ مینیجرسب نیٹ کے اندر ایڈریس؛ فارورڈنگ ٹیبلز LIDs استعمال کرتی ہیں
GID128-بٹSM (پریفکس) + GUIDسب نیٹ پریفکس + GUID؛ سب نیٹس کے پار اور RoCE کے ذریعے استعمال ہوتا ہے
PKey (پارٹیشن کی)16-بٹSMپارٹیشن میں رکنیت (VLAN کی طرح)؛ مکمل/محدود ممبرز
QPN24-بٹHCAکیو پیئر نمبر — پورٹ کے اندر اینڈ پوائنٹ

کیو پیئرز اور ٹرانسپورٹ سروسز

ایک کیو پیئر HCA میں ایک سینڈ کیو اور ایک ریسیو کیو ہے، جس کی ملکیت ایپلی کیشن کے پاس ہوتی ہے۔ اس پر پوسٹ کی گئی ورک ریکویسٹس ہارڈویئر انجام دیتا ہے؛ تکمیلات کمپلیشن کیو میں آتی ہیں۔ سروس کی اقسام:

قسمقابلِ اعتمادمنسلکاستعمال
RC — قابلِ اعتماد منسلکہاں (ACK/NAK، دوبارہ ترسیل)ہاں، ہر پیئر کے لیے ایک QPزیادہ تر RDMA ٹریفک؛ MPI، NCCL، اسٹوریج
UC — غیر قابلِ اعتماد منسلکنہیںہاںنایاب
UD — غیر قابلِ اعتماد ڈیٹاگرامنہیںنہیں، تمام پیئرز کے لیے ایک QPمینجمنٹ، IPoIB، ملٹی کاسٹ
XRC — توسیع شدہ قابلِ اعتماد منسلکہاںپراسیسز میں مشترک ریسیو کیوزQP تعداد کم کرنے کے لیے بڑے MPI جابز
RD — قابلِ اعتماد ڈیٹاگرامہاںنہیںعملاً استعمال نہیں ہوتا

RDMA آپریشنز (READ، WRITE، atomic) دو ہوسٹس پر ایپلی کیشن بفرز کے درمیان کسی بھی CPU سے کاپی کیے بغیر ڈیٹا براہِ راست منتقل کرتے ہیں؛ SEND/RECEIVE پیغامات لے جاتا ہے۔ HCA کے چھونے سے پہلے میموری کو رجسٹرڈ (پن کیا ہوا اور کی دیا ہوا) ہونا ضروری ہے۔ GPUDirect RDMA اسے GPU میموری تک بڑھاتا ہے (GPU فیبرکس)۔

فلو کنٹرول اور MTU

ہر لنک ہر ورچوئل لین پر کریڈٹ پر مبنی فلو کنٹرول چلاتا ہے: ریسیور بفر کی جگہ کا اعلان کرتا ہے، اور بھیجنے والا اتنا ہی منتقل کرتا ہے جتنا وہ جذب کر سکے۔ کنجیشن کی وجہ سے کوئی فریم نہیں گرایا جاتا؛ اس کے بجائے بیک پریشر پھیلتا ہے، یہ Fibre Channel کے کریڈٹس جیسا ہی سمجھوتا ہے اور اس کی وجہ سے ایک سست یا غلطیوں والا لنک پورے جاب کو خراب کرتا ہے۔ لنک MTU 256–4096 بائٹس ہے (4096 عموماً)؛ پاتھ MTU سروں کے درمیان طے ہوتا ہے۔ سروس لیولز (SL) ٹریفک کلاسز کو الگ کرنے کے لیے VLs سے میپ ہوتے ہیں، اور اڈاپٹو روٹنگ فلو کو کنجیسٹڈ لنکس کے گرد موڑ سکتی ہے۔

سب نیٹ مینیجر

ہر سب نیٹ میں عین ایک سب نیٹ مینیجر (SM) فعال ہوتا ہے (دوسرے اسٹینڈ بائی رہتے ہیں)۔ وہ:

  1. ڈائریکٹڈ روٹ مینجمنٹ پیکٹس (VL15/QP0 پر SMPs) کے ذریعے فیبرک میں چل کر ٹوپولوجی دریافت کرتا ہے، یعنی ہر سوئچ اور HCA پورٹ۔
  2. LIDs تفویض کرتا ہے اور پورٹس کو کنفیگر کرتا ہے (رفتار، چوڑائی، MTU، VL آربیٹریشن، PKeys)۔
  3. روٹس شمار کرتا ہے، یعنی min-hop، up-down، fat-tree، dragonfly+، اڈاپٹو روٹنگ، اور ہر سوئچ کی لینیئر فارورڈنگ ٹیبل کو پروگرام کرتا ہے۔
  4. وقتاً فوقتاً اور ٹریپس (پورٹ up/down) پر اسکین کرتا ہے، اور ناکامیوں کے گرد دوبارہ روٹنگ کرتا ہے۔
  5. سب نیٹ ایڈمنسٹریٹر (SA) چلاتا ہے، جو ہوسٹس کی پاتھ کوئریز کا جواب دیتا ہے۔

OpenSM (اوپن سورس) اور وینڈر فیبرک مینیجرز (UFM) اسے نافذ کرتے ہیں؛ فیبرک مینیجر وہ جگہ بھی ہے جہاں پورٹ کی غلطیاں، لنک رفتار/چوڑائی نیگوشی ایشن کے نتائج اور آپٹکس DDM پورے فلیٹ سے جمع کیے جاتے ہیں (لنک کی قابلِ اعتمادیت اور نگرانی)۔

لنک نیگوشی ایشن

لنک اپ پر دونوں سرے سب سے بلند مشترک قدر تک چوڑائی (1x/2x/4x) اور رفتار (فی لین شرح) طے کرتے ہیں۔ کوئی لنک جو متوقع سے 2x یا ایک نسل سست رفتار پر اپ ہو، InfiniBand میں Ethernet کے “10G پر لنک ہوتا ہے، 25G پر نہیں” کے برابر ہے: ایک لین کا فائبر یا لیزر، کم مارجن والی کیبل، یا غیر مطابق ٹرانسیور نسل (رفتار اور شرح)۔ فیبرک مینیجر طے شدہ حالت رپورٹ کرتا ہے؛ ibstat / ibportstate اسے ہوسٹ پر دکھاتے ہیں۔

مینجمنٹ اور تشخیصی ٹولز

ٹولمقصد
ibstat, ibstatusمقامی پورٹ اسٹیٹ، شرح، چوڑائی، LID
ibnetdiscoverٹوپولوجی ڈمپ
ibdiagnetفیبرک بھر کی جانچ: غلطیاں، رفتار/چوڑائی عدم مطابقتیں، نقل GUIDs، کیبل معلومات
perfquery, ibqueryerrorsفی پورٹ کاؤنٹرز: سمبل غلطیاں، لنک ڈاؤن، لنک ریکوری، پورٹ rcv غلطیاں، حد سے زیادہ بفر اووررن، VL15 ڈراپ، FEC کاؤنٹرز
mlxlink, mlxcablesفی پورٹ PHY تفصیلات اور کیبل/ٹرانسیور EEPROM، DDM، FEC ہسٹوگرام
ibportstateرفتار/چوڑائی پر مجبور کرنا، پورٹ ری سیٹ کرنا

سمبل غلطیاں اور لنک ریکوریز فزیکل لیئر کاؤنٹرز ہیں، Ethernet CRC/FEC کے مساوی، جو Rx پاور اور صفائی سے مربوط ہیں (فیبرک)۔

ایک پیراگراف میں InfiniBand بمقابلہ RoCE

RoCE v2 وہی verbs/RDMA ٹرانسپورٹ UDP/IP/Ethernet پر لے جاتا ہے؛ یہ سب نیٹ مینیجر کو IP روٹنگ سے اور PKeys کو VLANs سے بدلتا ہے، اور کریڈٹ فلو کنٹرول کو PFC/ECN (DCQCN) سے بدلتا ہے، جسے لاس لیس رہنے کے لیے درست کنفیگر کرنا ضروری ہے (لاس لیس Ethernet، انٹرکنیکٹس)۔ ٹرانسیورز فزیکلی ایک جیسے ہیں؛ صرف شناختی کوڈنگ اور ہوسٹ پالیسیز مختلف ہیں۔

CodingBox میں

InfiniBand ماڈیولز کو کسی بھی QSFP/OSFP کی طرح پڑھا جاتا ہے: شناخت (بشمول SFF-8636 بائٹ 164 یا CMIS ایپلی کیشنز میں InfiniBand ریٹ بٹس)، فی لین DDM اور چیک سمز Check transceiver اور DDM پر۔ اپنے ریٹڈ رفتار سے کم پر نیگوشی ایٹ کرنے والا پورٹ دونوں سروں کو بینچ پر پڑھنے کے قابل ہے۔


اگر آپ کو اس مضمون میں کوئی غلطی یا عدم درستی ملے تو متعلقہ حصہ منتخب کریں اور Ctrl+Enter دبا کر ۔