RDMA - تقنية أساسية للشبكات الحسابية

تهدف الشبكة الحسابية إلى حل مشكلة توفير القوة الحسابية ، وترتبط العديد من التقنيات الرئيسية للقوة الحسابية ، بما في ذلك الوصول المباشر إلى البيانات عن بُعد (RDMA) ، ارتباطًا وثيقًا بمؤشرات أداء الشبكة.

RDMA هو اختصار لـ Remote Direct Memory Access ، والذي تم إنشاؤه لحل تأخير معالجة البيانات على جانب الخادم في نقل الشبكة.

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

التحليل الميكانيكي الديناميكي (DMA) بالمعنى التقليدي

الوصول المباشر للذاكرة (DMA) هو وضع تشغيل يتم فيه تبادل الإدخال / الإخراج بالكامل بواسطة الأجهزة. في هذا الوضع ، تتولى وحدة التحكم DMA التحكم الكامل في الناقل من وحدة المعالجة المركزية ، ويتم تبادل البيانات مباشرة بين الذاكرة وأجهزة الإدخال / الإخراج دون المرور عبر وحدة المعالجة المركزية. ترسل وحدة تحكم DMA إشارات العنوان والتحكم إلى الذاكرة ، وتعديل العنوان ، وتحسب عدد الكلمات المنقولة ، وتبلغ عن نهاية عملية النقل إلى وحدة المعالجة المركزية في مقاطعة.

الغرض من استخدام طريقة DMA هو تقليل حمل وحدة المعالجة المركزية أثناء عمليات نقل البيانات الكبيرة باستخدام وحدة تحكم DMA مخصصة (DMAC) لإنشاء عناوين الوصول والتحكم في عملية الوصول. تتمثل المزايا في أن العمليات يتم تنفيذها بواسطة دوائر الأجهزة ، وسرعة النقل سريعة ، ولا تتدخل وحدة المعالجة المركزية ، ولكنها تشارك فقط أثناء التهيئة والإنهاء ، وتعمل وحدة المعالجة المركزية بالتوازي مع الأجهزة الطرفية لتحقيق كفاءة عالية.

التحليل الميكانيكي الديناميكي (DMA) بالمعنى التقليدي

مبدأ عمل RDMA

تدمج بطاقات NIC العادية دعم فحص الأجهزة وتحسينات البرامج لتقليل عدد نسخ البيانات المرسلة ، ولكن ليس عدد نسخ البيانات المستلمة ، والتي تستهلك عددًا كبيرًا من دورات حساب وحدة المعالجة المركزية.

عملية عمل NIC العادي

  1. يحتاج مرسل البيانات إلى نسخ البيانات من المخزن المؤقت لمساحة المستخدم إلى المخزن المؤقت للمقبس في مساحة النواة.
  2. يجب على مرسل البيانات إضافة رؤوس حزم في مساحة kernel لتغليف البيانات.
  3. يتم نسخ البيانات من المخزن المؤقت للمقبس في مساحة kernel إلى المخزن المؤقت لبطاقة واجهة الشبكة (NIC) لنقل الشبكة.
  4. يتلقى جهاز استقبال البيانات الحزمة المرسلة من الجهاز البعيد وينسخ الحزمة من NIC Buffer إلى Socket Buffer في مساحة kernel.
  5. بعد سلسلة من بروتوكولات الشبكة متعددة الطبقات لتحليل الحزم ، يتم نسخ البيانات التي تم تحليلها من مساحة kernel Space Socket Buffer إلى المخزن المؤقت لمساحة المستخدم.
  6. في هذه المرحلة ، يتم تنفيذ تبديل سياق النظام واستدعاء تطبيق المستخدم.

يتم أولاً تخزين الحزم المستلمة مؤقتًا على النظام ، حيث تتم معالجتها وتعيين البيانات المقابلة إلى اتصال TCP. يقوم نظام الاستلام بعد ذلك بربط بيانات TCP غير المرغوب فيها بالتطبيق المقابل ونسخ البيانات من المخزن المؤقت للنظام إلى عنوان التخزين الوجهة. وبالتالي ، تظهر قيود سرعة الشبكة: زيادة كثافة اتصالات التطبيق والمهمة الثقيلة لوحدة المعالجة المركزية المضيفة في معالجة البيانات بين النواة وذاكرة التطبيق تتطلب من النظام إضافة موارد وحدة المعالجة المركزية المضيفة باستمرار ، وتهيئة البرامج الفعالة ، وتحسين إدارة حمل النظام.

مفتاح المشكلة هو التخلص من عمليات نقل البيانات غير الضرورية والمتكررة في وحدة المعالجة المركزية المضيفة وتقليل زمن انتقال الرسائل بين الأنظمة.

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

عملية عمل RDMA

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

تقنية النسخ الصفري في RDMA

تتيح تقنية الشبكات ذات النسخ الصفري لبطاقة واجهة الشبكة (NIC) نقل البيانات مباشرةً من ذاكرة التطبيق وإليها ، وبالتالي تقضي على الحاجة إلى نسخ البيانات بين ذاكرة التطبيق وذاكرة kernel. يسمح تجاوز ذاكرة Kernel للتطبيقات بإرسال أوامر إلى NIC بدون تنفيذ استدعاءات ذاكرة kernel. بدون أي تدخل في ذاكرة kernel ، يتم إرسال طلبات RDMA من مساحة المستخدم إلى NIC المحلي وعبر الشبكة إلى NIC البعيد ، مما يقلل من عدد محولات البيئة بين مساحة ذاكرة kernel ومساحة المستخدم عند معالجة تدفقات نقل الشبكة.

تقنية النسخ الصفري في RDMA

على الجانب الأيسر ، يمكننا رؤية بروتوكول TCP / IP التقليدي وعملية الاتصال التي يتم إجراؤها بواسطة NIC العادي. من الواضح ، عندما تريد طبقة التطبيق الحصول على رسالة البيانات من NIC ، فإنها تحتاج إلى المرور عبر مخازن مؤقتة ومكدس بروتوكول TCP / IP العادي ، حيث تكون المقاطعة الناعمة مسؤولة عن قراءة رسالة البيانات من المخزن المؤقت لقائمة انتظار الاستلام الأول ، ثم نسخها إلى MSGBuff ، وأخيراً تقرأ طبقة التطبيق رسالة البيانات إلى حالة المستخدم من خلال استدعاء النظام. من ناحية أخرى ، الجانب الأيمن هو عملية نسخة صفرية باستخدام RDMA مع القواعد التالية.

1) يمكن تنفيذ RDMA و LLP (بروتوكول الطبقة السفلى) الخاص به على NIC المسمى RNIC (RNIC هو RDMA Network Interface Card).

2) كلا التطبيقين المذكورين في 1) يمرون بالخطوات التالية: يتم تخزين البيانات المرسلة والمستلمة مؤقتًا في مساحة ذاكرة محددة ، ثم يتم تعيين مساحة الذاكرة هذه مباشرة إلى مساحة التطبيق وفقًا للقواعد التي تم التفاوض عليها بين الطرفين من LLP و RDMA ، وبالتالي تقليل نسختين من الذاكرة على الأقل في طريقة التنفيذ التقليدية ، أي تحقيق نسخة صفرية. يشير الخط الرفيع إلى اتجاه تدفق البيانات ، في الواقع ، يتم تعيين ذاكرة التخزين المؤقت للعلامة مباشرة إلى مساحة ذاكرة التخزين المؤقت للمستخدم عبر RDMA.

تكوين RDMA

يتم تنفيذ RDMA من خلال ثلاثة بروتوكولات ، RDMA و DDP و MPA ، والتي تشكل عائلة بروتوكول iWARP وتستخدم لضمان قابلية التشغيل البيني للشبكات عالية السرعة. يجب أن يقوم DDP بتغليف رسائل RDMA في حزم DDP وإعادة توجيهها إلى الطبقة السفلية المستندة إلى Marker ، و Protocol-data-unit-Aligned (MPA) ، والتي تُدرج المعرف والطول وفحص CRC في حزم DDP لتشكيل بيانات MPA شريحة. تضيف طبقة IP بيانات توجيه الشبكة الضرورية إلى الحزمة.

طرق تشغيل البيانات

يوفر بروتوكول RDMA سبعة أنواع من عمليات التحكم لمخزن البيانات المباشر البعيد. كل عملية تحكم RDMA ، باستثناء عملية قراءة المخزن المؤقت البعيد ، تولد رسالة RDMA مقابلة واحدة فقط.

  1. إرسال: تستخدم عملية الإرسال إرسال رسالة لإرسال البيانات من تطبيق المرسل مباشرةً إلى مخزن مؤقت لم يتم التصريح عنه صراحةً بواسطة تطبيق مستقبل البيانات. لذلك ، تستخدم رسالة إرسال نموذج نقل بيانات المخزن المؤقت بدون علامات DDP لنقل رسالة التطبيق العلوي إلى المخزن المؤقت في قائمة الانتظار ذات العلامات الوصفية للتطبيق المتلقي.
  2. إرسال مع غير صالح: أضف الأيل للإرسال. بمجرد تخزين الرسالة مؤقتًا في المخزن المؤقت للتطبيق النظير المحدد بواسطة Stag ، ويتم إرسال إشعار وصول الرسالة إلى تطبيق المتلقي ، لا يسمح تطبيق المستلم لتطبيق المرسل بالوصول إلى المخزن المؤقت حتى يعيد تطبيق المستقبِل إعلان المخزن المؤقت المتاح لتطبيق المرسل لمتابعة استخدام.
  3. إرسال مع الحدث المطلوب (إرسال مع SE): تُستخدم هذه الرسالة لإرسال بيانات تطبيق المرسل مباشرةً إلى المخزن المؤقت في قائمة الانتظار غير المميز بتطبيق مستقبل البيانات ، مع جميع ميزات إرسال وإضافة التعليقات إلى الرسالة.
  4. الإرسال باستخدام الحدث المطلوب وإلغاء الصلاحية (إرسال مع SE و Invalidate): الإجراء المقابل لهذه الرسالة هو إرسال بيانات تطبيق المرسل مباشرةً إلى المخزن المؤقت الذي لم يتم الإعلان عنه صراحةً بواسطة تطبيق مستقبل البيانات ، والذي يحتوي على جميع وظائف الإرسال مع SE ويضيف ملاحظات على الرسالة. يحتوي على جميع ميزات Send with SE ويضيف ملاحظات إلى الرسالة.
  5. كتابة الوصول المباشر إلى الذاكرة عن بُعد: يتوافق مع عملية كتابة RDMA ويستخدم لتمرير البيانات من تطبيق المرسل إلى المخزن المؤقت المعلن من قبل تطبيق المتلقي. في هذه العملية ، يجب أن يكون تطبيق المتلقي قد خصص تطبيقًا مميزًا لتلقي المخزن المؤقت مسبقًا والسماح لتطبيق المرسل بتنفيذ كتابة المخزن المؤقت مباشرةً. في الوقت نفسه ، يحصل تطبيق المرسل أيضًا على معلومات حول الموقع والحجم والميلاد المقابل للمخزن المؤقت المذكور في الإعلان. يبدأ تطبيق المرسل بعد ذلك عملية كتابة RDMA ، والتي تستخدم نموذج نقل بيانات المخزن المؤقت المميز بعلامات DDP لنقل رسالة تطبيق المرسل مباشرةً إلى المخزن المؤقت الموسوم الذي تم الإعلان عنه بواسطة تطبيق المتلقي.
  6. قراءة الوصول المباشر للذاكرة عن بُعد: تتوافق مع عملية قراءة RDMA ، التي تمرر البيانات من المخزن المؤقت للتطبيق المحدد على الجانب الآخر (المقابل لمصدر البيانات) إلى المخزن المؤقت للتطبيق المحدد على الجانب المحلي (المقابل لمستقبل البيانات). يحتاج تطبيق الطبقة العليا لمصدر البيانات أولاً إلى تخصيص المخزن المؤقت للتطبيق المميز مسبقًا والسماح بعمليات القراءة المباشرة على محتويات هذا المخزن المؤقت. في الوقت نفسه ، يجب أن يقوم تطبيق الطبقة العليا لمصدر البيانات بتمرير المعلومات مثل الموقع والحجم والميل المقابل لمخزن مصدر البيانات ليتم الإعلان عنه لتطبيق الطبقة العليا المحلي. بعد الحصول على الإعلان أعلاه ، يخصص التطبيق العلوي لمستقبل البيانات المخزن المؤقت المناسب للتطبيق الموسوم ويبدأ في قراءة البيانات من الجانب الآخر.
  7. الإنهاء: تستخدم عملية الإنهاء رسالة إنهاء لإعلام التطبيق المحلي برسالة الخطأ التي حدثت لإنهاء عملية التخزين المؤقت المباشر للبيانات الحالية. تستخدم عملية الإنهاء نموذج المخزن المؤقت ذي العلامات الوصفية الخاص بـ DDP لتمرير إنهاء إلى المخزن المؤقت غير المميز على الجانب الآخر.

عملية نقل البيانات RDMA

تطبيقات RDMA

تتمتع RDMA بميزة استخدام أجهزة الشبكة التقليدية لبناء الإنترنت باستخدام معايير TCP / IP و Ethernet وسيتم استخدامها لتوصيل الخوادم الصغيرة في مجموعة يمكنها التعامل مع قواعد البيانات الكبيرة التي يمكن للخوادم المتطورة اليوم التي تحتوي على أكثر من عشرة معالجات مقبض. عندما تضع RDMA و TOE و 10 جيجا إيثرنت معًا ، إنها تقنية رائعة جدًا.

اصبع القدم (TCP Offمحرك التحميل ، معالجة بروتوكول TCP / IP من وحدة المعالجة المركزية إلى NIC)

أثناء اتصال المضيف عبر الشبكة ، تحتاج وحدة المعالجة المركزية إلى إنفاق الكثير من الموارد على معالجة حزم بروتوكولات الشبكة متعددة الطبقات ، بما في ذلك نسخ البيانات ومعالجة البروتوكول ومعالجة المقاطعة. تحرر تقنية TOE وحدة المعالجة المركزية من هذه العمليات وتحول العمل المذكور أعلاه للمعالج المضيف إلى NIC. تتطلب تقنية TOE بطاقة NIC معينة تدعمها Offالتحميل ، وهو قادر على تغليف حزم بروتوكولات الشبكة متعددة الطبقات. بينما تقوم بطاقات NIC العادية بتشغيل مقاطعة لكل حزمة ، تسمح بطاقات TOE NIC لكل تطبيق بإكمال عملية معالجة البيانات الكاملة قبل بدء المقاطعة ، مما يقلل بشكل كبير من عبء استجابة الخادم للمقاطعات.

تنفذ TOE NIC معالجة البروتوكول داخل NIC أثناء تلقيها للبيانات. لذلك ، ليس من الضروري نسخ البيانات إلى المخزن المؤقت لمساحة kernel ، ولكن مباشرةً إلى المخزن المؤقت لمساحة المستخدم. يتجنب أسلوب "النسخة الصفرية" هذا نسخ البيانات غير الضروري ذهابًا وإيابًا بين NIC والخادم.

RDMA الأصلي

أصبح RDMA بسرعة ميزة أساسية للمجموعات عالية السرعة وشبكات منطقة الخادم. تدعم شبكات InfiniBand والشبكات القائمة على بنية الواجهة الافتراضية RDMA ، بينما تدعم RDMA عبر TCP / IP للاستخدام مع النقل offبطاقات شبكة محرك التحميل قيد التطوير حاليًا. تشمل البروتوكولات التي تدعم الأداء العالي باستخدام RDMA بروتوكول Sockets Direct ، وبروتوكول SCSI RDMA (SRP) ، ونظام ملفات الوصول المباشر (DAFS). تشمل مكتبات الاتصالات التي تستخدم RDMA مكتبة موفر الوصول المباشر (DAPL) وواجهة تمرير الرسائل (MPI) ومكتبة موفر الواجهة الافتراضية (VIPL). تعد المجموعات التي تشغل التطبيقات الموزعة واحدة من المجالات التي يمكن أن تتفوق فيها RDMA ، حيث يمكنها توفير أداء أعلى وقابلية توسع أفضل مقارنة بتطبيقات RDMA المبكرة الأخرى مع نفس عدد العقد عند استخدامها مع DAPL أو VIPL وبرامج قواعد البيانات التي تعمل على الكتلة. بالإضافة إلى ذلك ، أصبحت تقنية RDMA بسرعة ميزة أساسية لأنظمة المجموعات عالية السرعة وشبكات مناطق التخزين ، حيث تعد iWARP / RDMA لبنة أساسية. iWARP (Internet Wide Area RDMA Protocol) هي تقنية RDMA تعتمد على بروتوكول TCP / IP ، والتي تطبق تقنية RDMA على قمة مجموعة بروتوكولات TCP / IP الحالية عن طريق إضافة طبقة DDP أعلى TCP. وهو يدعم استخدام تقنية RDMA على البنية التحتية القياسية لشبكة Ethernet دون الحاجة إلى إرسال Ethernet بدون خسارة مدعوم من المحولات ، ولكن يجب أن تستخدم الخوادم بطاقات الشبكة التي تدعم iWARP. ومع ذلك ، فإن أدائها أسوأ قليلاً بسبب تأثير برنامج التعاون الفني. بالإضافة إلى ذلك ، iSER ، وهو امتداد iSCSI لـ RDMA ، يستفيد بشكل كامل من إمكانات RDMA. تتضمن تطبيقات RDMA المبكرة الوصول إلى خادم الملفات عن بُعد من خلال نظام DAFS والوصول إلى جهاز التخزين من خلال SRP. أصبح RDMA بسرعة ميزة أساسية للمجموعات عالية السرعة وشبكات منطقة الخادم.

التطبيقات في NAS و SAN

التخزين التقليدي المتصل المباشر (DAS) هو عبارة عن بنية تخزين تتمحور حول الخادم مع قيود مثل قيود السعة ومسافات الاتصال المحدودة وصعوبات المشاركة والإدارة. لا يمكنه تلبية احتياجات التطبيقات الخاصة بعصر الشبكة. أحدث وصول عصر الشبكة تغييرات هائلة في تكنولوجيا التخزين. يمكن للتخزين المتصل بالشبكة (NAS) وشبكات منطقة التخزين (SAN) توفير موارد تخزين غنية وسريعة وملائمة لأنظمة التطبيقات على الشبكة مع تمكين موارد التخزين المشتركة والإدارة المركزية ، لتصبح نموذجًا مثاليًا لإدارة التخزين والتطبيق اليوم. ومع ذلك ، فإن هياكل NAS لديها بعض المشكلات التي يصعب حلها ، مثل سعة النقل المحدودة ، وقابلية التوسع المحدودة ، وقدرات النسخ الاحتياطي المحدودة ، والدعم غير الفعال لخدمات قواعد البيانات. تدمج DAFS مزايا إمكانيات تخزين RDMA و NAS ، مع تنفيذ جميع عمليات القراءة والكتابة مباشرة بواسطة برنامج تشغيل RDMA ، وبالتالي تقليل حمل النظام الناجم عن بروتوكولات ملفات الشبكة. في المستقبل ، ستتبنى أنظمة تخزين NAS تقنية DAFS لتحسين أداء النظام والمنافسة بقوة مع أنظمة تخزين SAN من حيث الأداء والسعر.

بتقنية InfiniBand

تعتمد المزايا الأربع الرئيسية لـ InfiniBand على البروتوكولات القياسية وأداء 10 جيجابايت / ثانية و RDMA والنقل offحمولة. تكمن ميزته في النقل عالي السرعة لـ RDMA والنقل offمحركات التحميل. تدعم شبكات InfiniBand والشبكات القائمة على بنية الواجهة الافتراضية استخدام RDMA ، بينما تدعم RDMA عبر TCP / IP مع النقل offتدعم بطاقات NIC الخاصة بمحرك التحميل خوادم InfiniBand. تقوم محولات القنوات المضيفة (HCA) بتحويل البروتوكولات إلى ناقل PCI-X أو ناقل PCI-Express الداخلي للخادم ، وتسمى أحيانًا HCAs المزودة بوظيفة RDMA تجاوز kernel. InfiniBand (IB) هي تقنية RDMA تعتمد على بتقنية InfiniBand العمارة التي تتطلب بطاقات شبكة IB ومفاتيح IB مخصصة. من حيث الأداء ، من الواضح أن شبكات InfiniBand هي الأفضل ، لكن أسعار بطاقات الشبكة والمحولات مرتفعة جدًا أيضًا.

RoCE ، أو RDMA عبر الإيثرنت ، هي تقنية RDMA تعتمد على Ethernet وقد تم اقتراحها أيضًا من قبل IBTA. تدعم RoCE استخدام تقنية RDMA في البنية الأساسية القياسية لشبكة Ethernet ولكنها تتطلب دعمًا للمحول لنقل Ethernet بدون فقدان ، ويجب أن تكون بطاقات الشبكة عبارة عن بطاقات NIC خاصة تدعم RoCE.

مع استمرار تطور التكنولوجيا ، يمكن تقسيم تقنيات RDMA السائدة إلى معسكرين: تقنية IB و IBoE ، أو IB عبر Ethernet ، والتي تدعم تقنيات RDMA القائمة على Ethernet. تنتمي RoCE و iWARP إلى هذه التقنية. يمكن نشر IBoE ، أو IB عبر Ethernet ، على Ethernet واستخدامه مع محولات Ethernet ، بينما يتطلب بروتوكول IB أجهزة وأجهزة توجيه مخصصة.

مع التطوير المستمر لشبكات الطاقة الحاسوبية ، سيتم تطبيق تقنية DMA المستخدمة في الأصل لتطبيقات الجهاز الواحد أو تطبيقات المنطقة المحلية على المساحات الكبيرة وتصبح تقنية رئيسية في شبكات الطاقة الحاسوبية.

RDMA

اترك تعليق

انتقل إلى الأعلى