بروتوكول IB والنقل: الطبقات، QP، RDMA، مدير الشبكة الفرعية
صُمِّم InfiniBand منذ البداية ليكون نسيجًا لحواسيب تتخاطب مع ذاكرة بعضها بعضًا، لا لحزم بين أطراف غريبة عن بعضها. وطبقاته وعنونته وإدارته تبدو غير مألوفة لمهندسي Ethernet، لكنها بسيطة بمجرد التمكن من المفردات — وهي ما يفسر خضوع الطبقة الفيزيائية لمعايير بهذا القدر من الصرامة. وهذه الصفحة هي منظور البروتوكول؛ أما البصريات ففي بصريات InfiniBand.
الطبقات
| الطبقة | المحتوى | ملاحظات |
|---|---|---|
| الفيزيائية | المسارات (1x، و4x، و8x، و12x)، والإشارة لكل مسار (من NRZ إلى PAM4 في HDR… راجع السرعات)، والترميز (من 8B/10B حتى QDR، و64B/66B من FDR فصاعدًا)، وFEC (اختياري من FDR، وRS-FEC في HDR/NDR) | عالم وحدة الإرسال والاستقبال |
| الوصلة | ترويسة التوجيه المحلي (LRH) بمعرِّفات LID، والمسارات الافتراضية (VL0–VL14 للبيانات، وVL15 للإدارة)، والتحكم في التدفق القائم على الرصيد لكل مسار افتراضي، وCRC لطبقة الوصلة (ICRC/VCRC) | بلا فقد بحكم التصميم |
| الشبكة | ترويسة التوجيه العام (GRH) بمعرِّفات GID بطول 128 بتًا للتوجيه بين عدة شبكات فرعية | نادرة الاستخدام داخل عنقود واحد |
| النقل | أزواج الطابور (QP) بطوابير إرسال واستقبال، وأنواع خدمة RC/UC/UD/XRC، والتجزئة حتى MTU، وACK/NAK للخدمة الموثوقة | هنا يعيش RDMA |
| العليا | واجهة برمجة verbs، وMPI، وNCCL (عبر UCX/SHARP)، والتخزين (SRP، وiSER، وNVMe/IB)، وIPoIB | ما تستخدمه التطبيقات |
العنونة والهوية
| المعرِّف | الحجم | من يُسنِده | المعنى |
|---|---|---|---|
| GUID | 64 بتًا | الجهة المصنِّعة | هوية دائمة للمنفذ أو العقدة أو النظام (مثل MAC) |
| LID (المعرِّف المحلي) | 16 بتًا | مدير الشبكة الفرعية | عنوان داخل الشبكة الفرعية؛ وجداول التوجيه تستخدم معرِّفات LID |
| GID | 128 بتًا | SM (البادئة) + GUID | بادئة الشبكة الفرعية + GUID؛ يُستخدم بين الشبكات الفرعية وفي RoCE |
| PKey (مفتاح التقسيم) | 16 بتًا | SM | العضوية في تقسيم (مثل VLAN)؛ أعضاء كاملون أو محدودون |
| QPN | 24 بتًا | HCA | رقم زوج الطابور — نقطة النهاية داخل المنفذ |
أزواج الطابور وخدمات النقل
زوج الطابور طابور إرسال واحد وطابور استقبال واحد في HCA، يملكه تطبيق ما. وتُنفَّذ طلبات العمل الموضوعة فيه بواسطة العتاد؛ وتصل الإتمامات إلى طابور الإتمام. أنواع الخدمة:
| النوع | موثوقة | مُوصَّلة | الاستخدام |
|---|---|---|---|
| RC — موثوقة ومُوصَّلة | نعم (ACK/NAK، وإعادة إرسال) | نعم، زوج طابور واحد لكل طرف نظير | معظم حركة RDMA؛ MPI، وNCCL، والتخزين |
| UC — غير موثوقة ومُوصَّلة | لا | نعم | نادرة |
| UD — مخطط بيانات غير موثوق | لا | لا، زوج طابور واحد لكل الأطراف النظيرة | الإدارة، وIPoIB، والبث المتعدد |
| XRC — موثوقة ومُوصَّلة موسَّعة | نعم | طوابير استقبال مشتركة بين العمليات | مهام MPI الكبيرة لخفض عدد أزواج الطابور |
| RD — مخطط بيانات موثوق | نعم | لا | غير مستخدَمة عمليًا |
تنقل عمليات RDMA (القراءة، والكتابة، والعمليات الذرية) البيانات مباشرة بين مخازن التطبيق المؤقتة على مضيفين اثنين دون أن ينسخها أي من المعالجين؛ بينما تحمل SEND/RECEIVE الرسائل. ويجب تسجيل الذاكرة (تثبيتها ومنحها مفتاحًا) قبل أن يستطيع HCA لمسها. ويوسِّع GPUDirect RDMA هذا إلى ذاكرة GPU (نُسُج GPU).
التحكم في التدفق وMTU
تُشغِّل كل وصلة تحكمًا في التدفق قائمًا على الرصيد لكل مسار افتراضي: يُعلن المستقبل عن مساحة المخزن المؤقت لديه، ولا يرسل المرسل أكثر مما يستطيع المستقبل استيعابه. ولا يُسقَط أي إطار بسبب الازدحام؛ بل ينتشر الضغط الراجع بدلًا من ذلك — وهي المفاضلة نفسها القائمة على أرصدة Fibre Channel، وسبب تدهور مهمة كاملة بسبب وصلة واحدة بطيئة أو بها أخطاء. ويتراوح MTU الخاص بالوصلة بين 256 و4096 بايت (والشائع 4096)؛ ويُتفاوَض على MTU الخاص بالمسار من طرف إلى طرف. وتُطابِق مستويات الخدمة (SL) المسارات الافتراضية لفصل فئات الحركة، ويمكن لـالتوجيه التكيفي أن يوجِّه التدفقات حول الوصلات المزدحمة.
مدير الشبكة الفرعية
يكون مدير شبكة فرعية واحد (SM) بالضبط نشطًا في كل شبكة فرعية (والبقية في وضع الاستعداد). وهو:
- يكتشف الطوبولوجيا بمسح النسيج بحزم إدارة موجَّهة المسار (SMP على VL15/QP0) — كل منفذ مبدِّل وHCA.
- يسنِد معرِّفات LID ويهيّئ المنافذ (السرعة، والعرض، وMTU، والتحكيم بين المسارات الافتراضية، ومفاتيح PKey).
- يحسب المسارات — أقل عدد قفزات، وUp-Down، وFat-tree، وDragonfly+، والتوجيه التكيفي — ويبرمج جدول التوجيه الخطي لكل مبدِّل.
- يجري مسحًا دوريًا وعند حدوث مصائد (trap) (تفعيل المنفذ أو تعطيله)، فيعيد التوجيه متجاوزًا الأعطال.
- يشغِّل مسؤول الشبكة الفرعية (SA) الذي يجيب عن استعلامات المسار الواردة من المضيفين.
وتنفِّذه أداة OpenSM (مفتوحة المصدر) ومديرو نسيج من المورّدين (UFM)؛ ومدير النسيج هو أيضًا الموضع الذي تُجمَع فيه أخطاء المنافذ، ونتائج التفاوض على سرعة الوصلة وعرضها، وDDM البصريات، على مستوى الأسطول كله (موثوقية الوصلة ومراقبتها).
التفاوض على الوصلة
عند تفعيل الوصلة يتفاوض الطرفان على العرض (1x/2x/4x) والسرعة (المعدل لكل مسار) وصولًا إلى أعلى قيمة مشتركة بينهما. ووصلة تُفعَّل بعرض 2x أو بجيل أبطأ من المتوقع هي نظير InfiniBand لحالة Ethernet «الوصلة بسرعة 10G لا 25G»: ألياف أو ليزر مسار واحد، أو كبل هامشي، أو جيل وحدة إرسال واستقبال غير مطابق (السرعة والمعدل). ويُبلِّغ مدير النسيج عن الحالة المتفاوَض عليها؛ وتُظهرها ibstat / ibportstate على المضيف.
أدوات الإدارة والتشخيص
| الأداة | الغرض |
|---|---|
ibstat، ibstatus | حالة المنفذ المحلي، والمعدل، والعرض، وLID |
ibnetdiscover | تفريغ الطوبولوجيا |
ibdiagnet | فحص على مستوى النسيج كله: الأخطاء، وعدم تطابق السرعة/العرض، وتكرار GUID، ومعلومات الكبل |
perfquery، ibqueryerrors | عدّادات لكل منفذ: أخطاء الرموز، وتعطل الوصلة، واستعادة الوصلة، وأخطاء استقبال المنفذ، وفيضان المخزن المؤقت الزائد، وإسقاط VL15، وعدّادات FEC |
mlxlink، mlxcables | تفاصيل الطبقة الفيزيائية لكل منفذ، وEEPROM الكبل/وحدة الإرسال والاستقبال، وDDM، ومدرَّج FEC التكراري |
ibportstate | فرض السرعة/العرض، وإعادة ضبط منفذ |
أخطاء الرموز واستعادات الوصلة هي عدّادات الطبقة الفيزيائية — نظير CRC/FEC في Ethernet، وترتبط بقدرة Rx ونظافة الوصلة (النسيج).
InfiniBand مقابل RoCE في فقرة واحدة
يحمل RoCE v2 نقل verbs/RDMA نفسه فوق UDP/IP/Ethernet؛ فيستبدل مدير الشبكة الفرعية بالتوجيه عبر IP، ومفاتيح PKey بشبكات VLAN، ويستبدل التحكم في التدفق القائم على الرصيد بـPFC/ECN (DCQCN) — التي يجب ضبطها بشكل صحيح لتكون بلا فقد (إيثرنت بلا فقد، وصلات الترابط). ووحدات الإرسال والاستقبال هي نفسها فيزيائيًا؛ والفرق الوحيد في ترميز الهوية وسياسات المضيف.
في CodingBox
تُقرأ وحدات InfiniBand مثل أي QSFP/OSFP: الهوية (بما في ذلك بتات معدل InfiniBand في البايت 164 من SFF-8636 أو تطبيقات CMIS)، وDDM لكل مسار، والمجاميع الاختبارية، على شاشتي Check transceiver وDDM. ومنفذ يتفاوض بسرعة أقل من سرعته المقنَّنة يستحق قراءة الطرفين على منصة الاختبار.