CodingBox الوثائق

بروتوكول 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ما تستخدمه التطبيقات

العنونة والهوية

المعرِّفالحجممن يُسنِدهالمعنى
GUID64 بتًاالجهة المصنِّعةهوية دائمة للمنفذ أو العقدة أو النظام (مثل MAC)
LID (المعرِّف المحلي)16 بتًامدير الشبكة الفرعيةعنوان داخل الشبكة الفرعية؛ وجداول التوجيه تستخدم معرِّفات LID
GID128 بتًاSM (البادئة) + GUIDبادئة الشبكة الفرعية + GUID؛ يُستخدم بين الشبكات الفرعية وفي RoCE
PKey (مفتاح التقسيم)16 بتًاSMالعضوية في تقسيم (مثل VLAN)؛ أعضاء كاملون أو محدودون
QPN24 بتًا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) بالضبط نشطًا في كل شبكة فرعية (والبقية في وضع الاستعداد). وهو:

  1. يكتشف الطوبولوجيا بمسح النسيج بحزم إدارة موجَّهة المسار (SMP على VL15/QP0) — كل منفذ مبدِّل وHCA.
  2. يسنِد معرِّفات LID ويهيّئ المنافذ (السرعة، والعرض، وMTU، والتحكيم بين المسارات الافتراضية، ومفاتيح PKey).
  3. يحسب المسارات — أقل عدد قفزات، وUp-Down، وFat-tree، وDragonfly+، والتوجيه التكيفي — ويبرمج جدول التوجيه الخطي لكل مبدِّل.
  4. يجري مسحًا دوريًا وعند حدوث مصائد (trap) (تفعيل المنفذ أو تعطيله)، فيعيد التوجيه متجاوزًا الأعطال.
  5. يشغِّل مسؤول الشبكة الفرعية (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. ومنفذ يتفاوض بسرعة أقل من سرعته المقنَّنة يستحق قراءة الطرفين على منصة الاختبار.


إذا وجدت معلومة غير دقيقة أو خطأً في هذه المادة، فحدِّد المقطع المعني واضغط Ctrl+Enter .