ما هو الوصول المباشر عن بعد للذاكرة في الشبكات RDMA

اقرأ في هذا المقال


يُعد الوصول المباشر للذاكرة عن بُعد “RDMA” امتداداً لتقنية “DMA” وهي القدرة على الوصول إلى ذاكرة المضيف مباشرةً دون تدخل وحدة المعالجة المركزية، ويسمح “RDMA” بالوصول إلى بيانات الذاكرة من مضيف إلى آخر، وتتمثل إحدى السمات الرئيسية “RDMA” في أنّها تحسن الإنتاجية والأداء بشكل كبير نظراً لأنّ هناك حاجة إلى دورات أقل لوحدة المعالجة المركزية لمعالجة حزم الشبكة.

ما هو الوصول المباشر عن بعد للذاكرة RDMA

الوصول المباشر عن بعد للذاكرة “RDMA”: هو الوصول إلى ذاكرة كمبيوتر عن طريق آخر في شبكة دون إشراك أي من نظام التشغيل أو المعالج أو ذاكرة التخزين المؤقت، ويحسن الإنتاجية وأداء الأنظمة لأنّه يحرر العديد من الموارد.

يمكن إجراء عمليات مثل القراءة والكتابة على جهاز بعيد دون مقاطعة وحدة المعالجة المركزية لهذا الجهاز، وتساعد هذه التقنية في زيادة معدل نقل البيانات والشبكات ذات زمن الوصول المنخفض وكما يستخدم “RDMA” شبكة خالية من النسخ، وعن طريق تمكين محولات الشبكة لنقل البيانات مباشرة إلى المخازن المؤقتة للأنظمة.

  • “RDMA” هي اختصار لـ “Remote Direct Memory Access”.
  • “DMA” هي اختصار لـ “Direct Memory Access”.

ميزات RDMA

1- شبكة نسخة صفرية

يمكن نقل البيانات واستقبالها مباشرة بين المخازن المؤقتة للتطبيقات دون نسخها بين طبقات الشبكة.

2- انخفاض مشاركة وحدة المعالجة المركزية

يمكن للتطبيقات الانتقال إلى البيانات مباشرة من الخوادم البعيدة دون استهلاك وقت وحدة المعالجة المركزية للخوادم البعيدة، كما لن يتم ملء ذاكرة التخزين المؤقت لوحدة المعالجة المركزية للخادم البعيد بالمحتوى الذي تم الوصول إليه.

3- معاملة فعالة

يتم إرسال البيانات واستلامها في شكل رسائل منفصلة بدلاً من التدفقات ممّا يلغي الحاجة إلى فصل الرسائل.

بروتوكولات الشبكة التي تدعم RDMA

1- بروتوكول InfiniBand

بروتوكول “InfiniBand”: هو بروتوكول يدعم “RDMA” أصلاً من البداية، ونظراً لأنّها تقنية شبكة جديدة فهي تتطلب بطاقات واجهة الشبكة “NIC” والمحولات التي تدعم هذه التقنية.

  • “NIC” هي اختصار لـ “network interface card”.

2- بروتوكول RDMA عبر إيثرنت متقارب

بروتوكول RDMA عبر إيثرنت متقارب: بروتوكول شبكة يسمح بتنفيذ “RDMA” عبر شبكة “Ethernet” وهذا يسمح باستخدام “RDMA” عبر البنية التحتية القياسية لشبكة إيثرنت.

3- بروتوكول RDMA للمنطقة الواسعة للإنترنت

بروتوكول RDMA للمنطقة الواسعة للإنترنت: هو بروتوكول يسمح بتنفيذ “RDMA” عبر “TCP” ولا يتم دعم بعض ميزات “IB” و”RoCE” في “iWARP”، وهذا يسمح باستخدام “RDMA” عبر البنية التحتية القياسية لشبكة إيثرنت.

  • “IB” هي اختصار لـ “Infini Band”.
  • “RoCE” هي اختصار لـ “RDMA over Converged Ethernet”.
  • “iWARP” هي اختصار لـ “Internet Wide-Area RDMA Protocol”.
  • “TCP” هي اختصار لـ “Transmission Control Protocol”.

تطبيقات RDMA

  • تُستخدم في الصناعات التي تتطلب بصمة صغيرة لوحدة المعالجة المركزية مثل الحوسبة السحابية.
  • يستخدم في الصناعات التي تتطلب نطاق ترددي عالٍ مثل المعدات الطبية والتخزين والنسخ الاحتياطي.

مسار البيانات التقليدي مقابل RDMA

في مسار بيانات الشبكة التقليدي يحتاج التطبيق إلى المرور عبر المخازن المؤقتة باستخدام واجهة برمجة تطبيقات التوصيل في مساحة المستخدم، وفي النواة يتضمن مسار البيانات “TCP” و”IPv4 / 6″ وصولاً إلى برنامج تشغيل الجهاز وفي النهاية نسيج الشبكة، وكل هذه الخطوات تتطلب دورات “CPU” للمعالجة.

ومع شبكات النطاق الترددي العالي اليوم يمكن أن يشكل هذا تحدياً بسبب مقدار الوقت اللازم لوحدة المعالجة المركزية لمعالجة البيانات ووضع تلك البيانات على السلك وهنا يأتي دور “RDMA”، وعندما يتم إعداد ما يسمى بمسار الاتصال بين المصدر والوجهة يتم تجاوز النواة، ومن خلال القيام بذلك يتم تقليل وقت استجابة الشبكة أثناء زيادة إنتاجية البيانات نظراً لوجود دورات أقل بكثير لوحدة المعالجة المركزية.

يتحدث تطبيق “RDMA” إلى محول القناة المضيفة “HCA” باستخدام واجهة برمجة تطبيقات “RDMA Verbs”، ويمكن رؤية “HCA” كبطاقة واجهة شبكة “NIC” قادرة على “RDMA” ولنقل “RDMA” عبر نسيج شبكة يتم دعم “InfiniBand” و”RDMA” عبر الإيثرنت المتقارب.

  • “HCA” هي اختصار لـ “host channel adapter”.
  • “CPU” هي اختصار لـ “central processing unit”.

دعم RMDA للأجهزة الافتراضية

هناك خيارات متعددة لتعريض “RDMA” للأجهزة الافتراضية، والخيار الأول هو استخدام ديناميكي لعبور “HCA” أو “NIC” القادر على “RDMA” إلى الجهاز الظاهري، كما يؤدي استخدام العبور إلى إنشاء علاقة 1 إلى 1 بين الجهاز الظاهري وجهاز شبكة “RDMA”، والجانب السلبي هو أنّ ميزات “vSphere” مثل “vMotion” غير مدعومة بالمرور.

يتم دعم “RDMA” عبر الإيثرنت المتقاربة مع “PVRDMA”، ويكمن أهمية “RoCE” في إمكانية استخدام نسيج إيثرنت، ولا توجد متطلبات صريحة للنسيج المنفصل مثل “Infiniband” ويحتاج نسيج الإيثرنت إلى دعم “RDMA”، وبشكل أساسي من خلال دعم التحكم في التدفق ذي الأولوية “PFC” ويدعم “PVRDMA” كلاً من “RoCE v1” و”v2″، والاختلاف هو أنّ “RoCE v1” يدعم الشبكات المحولة فقط حيث يدعم “RoCE v2” الشبكات الموجهة.

على أجهزة الكمبيوتر التي تدعم الوصول المباشر للذاكرة عن بعد “RDMA” يمكن لمحولات الشبكة نقل البيانات مباشرة من الذاكرة في أحد أجهزة الكمبيوتر إلى الذاكرة في كمبيوتر آخر عبر الشبكة، ويمكن أن تقلل هذه الإستراتيجية أو تزيل العديد من مصادر زمن الوصول الناتجة عن الحمل بما في ذلك حمل بروتوكول الشبكة ونفقات نظام التشغيل وتحويل السياق الزائد.

على كل كمبيوتر مضيف يخصص النقل مخازن مؤقتة لكل اتصال على نقل “RDMA”، وهو بروتوكول مهيأ للاتصال، وتعاريف النقل الخاصة به مجزأة بطبيعتها ويجب تحديد تعريفين مكملين على الأقل للنقل لإنشاء حافلة.

  • “PVRDMA” هي اختصار لـ “Paravirtual RDMA”.
  • “PFC” هي اختصار لـ “power factor correction”.

كيفية عمل RDMA

لكي يعمل تبادل البيانات عبر “RDMA” يلزم وجود مجموعة مناسبة من البروتوكولات في بطاقات الشبكة كما يتم استخدام “TCP / IP” كأساس، وفقط من خلال بروتوكول نقل مناسب يمكن للتكنولوجيا أن تدعم ما يسمى شبكات النسخ الصفري على سبيل المثال.

ولا تستخدم شبكات النسخة الصفرية معالج الكمبيوتر، حيث يتيح كلا النظامين استخدام الوصول المباشر للذاكرة عن بُعد، ويكون نقل البيانات بينهما أسرع بكثير من ذلك بين الأنظمة التي لا تدعم “RDMA” وللحصول على نقل سلس باستخدام “RDMA” توفر تقنيات الشبكات والواجهات.

و”RDMA” عبر الإيثرنت المتقاربة تعمل على تمكين “RDMA” عبر اتصال “Ethernet”، وبروتوكول الإنترنت واسع النطاق “IWARP”، وبالنسبة لنقل البيانات يعتمد على بروتوكول النقل “TCP” أو بدلاً من ذلك على تدفق “TCP”، وبدأ “IWARP” من قبل فريق عمل هندسة الإنترنت “IETF” من أجل كتابة المهام والعمليات مباشرة على التطبيقات في نظام آخر.

و”InfiniBand” هو معيار اتصال لأجهزة الكمبيوتر عالية الأداء من أجل نقل الملفات مع زمن انتقال أقل، كما يتم استخدامه بشكل متكرر في مراكز الكمبيوتر من أجل توصيل مجموعات الكمبيوتر ببعضها البعض، ويعد “RDMA” عبر “InfiniBand” أحد أكثر الطرق شيوعاً للتبادل السريع للبيانات.

ومع ذلك يمكن استخدام “RDMA” بالاقتران مع وسائط تخزين “Flash” أو “SSD” ووحدات ذاكرة مضمنة مزدوجة غير متطايرة “NVDIMMs”، ولا يزال تطور “RDMA” بشكل كستمر وكما هو الحال مع “RDMA” على التقنيات فإنّ تطبيقه المحتمل التالي موجود بالفعل في لبنات البداية.

ويشار إلى البنى التحتية بين العديد من الخوادم وأجهزة الكمبيوتر على أنّها نسيج، حيث أنّها تدعم نقل البيانات عبر شبكات قنوات الألياف أي شبكات منطقة التخزين، وكذلك قياسي للاتصالات عالية السرعة “PCI Express”.

  • “IETF” هي اختصار لـ “Internet Engineering Task Force”.
  • “SSD” هي اختصار لـ “Solid state drives”.
  • “PCI” هي اختصار لـ “Peripheral Component Interconnect”.

المصدر: COMPUTER NETWORKING / James F. Kurose & Keith W. RossComputer Networks - The Swiss BayCOMPUTER NETWORKS LECTURE NOTES / B.TECH III YEAR – II SEM (R15)An Introduction to Computer Networks / Peter L Dordal


شارك المقالة: