RDMA (الوصول المباشر للذاكرة عن بُعد) هي تقنية اتصال شبكي مشتقة من DMA (الوصول المباشر للذاكرة). وهي تتيح لتطبيقات المستخدم تجاوز نواة نظام التشغيل (وحدة المعالجة المركزية) والتفاعل مباشرةً مع بطاقات واجهة الشبكة (NICs) لنقل البيانات، مما يوفر نطاقاً ترددياً فائقاً جداً وزمن وصول منخفض جداً. تم تطوير RDMA في البداية من أجل الحوسبة عالية الأداء (HPC)، وقد أصبح الآن معتمداً على نطاق واسع في مراكز البيانات。
يكمن المبدأ الأساسي ل RDMA في الاستفادة من الأجهزة المتخصصة على محولات الشبكة (على سبيل المثال، محركات RDMA على مشغلات الشبكة) لتجاوز نواة نظام التشغيل وإجراء عمليات نقل الذاكرة المباشرة أسفل طبقة نقل الشبكة. تقلل هذه الآلية من وقت الاستجابة والنفقات الزائدة لوحدة المعالجة المركزية مع تعزيز كفاءة الشبكة。
في RDMA، يتم الاتصال بين المرسل والمستقبل من خلال محول RDMA. أولاً، يقوم المرسل بتسجيل المخزن المؤقت للبيانات المراد إرسالها في ذاكرة محول RDMA ويرسل واصفه (الذي يحتوي على العنوان والحجم والمعلومات الأخرى الخاصة بالبيانات) إلى المتلقي. يقوم جهاز الاستقبال بتسجيل المخزن المؤقت للاستقبال مع محول RDMA وإبلاغ المحول بعنوان المخزن المؤقت للاستقبال. بعد ذلك، يقوم المرسل بنقل البيانات مباشرةً من المخزن المؤقت للإرسال إلى المخزن المؤقت للاستقبال من خلال محول RDMA دون تدخل نظام التشغيل. تسمى هذه العملية عملية كتابة RDMA. يمكن للمستقبل أيضاً قراءة البيانات مباشرةً من ذاكرة المرسل من خلال عملية قراءة RDMA.
يدعم RDMA ثلاثة أنواع أساسية من العمليات: عمليات الكتابة وعمليات القراءة والعمليات الذرية. تسمح عمليات الكتابة للعقدة بكتابة البيانات مباشرة إلى ذاكرة عقدة أخرى. تسمح عمليات القراءة للعقدة بقراءة البيانات مباشرةً من ذاكرة عقدة أخرى. العمليات الذرية هي عمليات خاصة يمكنها تنفيذ بعض العمليات الذرية على العقد البعيدة، مثل المقارنة والمبادلة (CAS).
يتمثل مبدأ عمل RDMA بشكل أساسي في تقليل التأخير في نقل البيانات وحمل وحدة المعالجة المركزية من خلال الوصول المباشر للذاكرة على مستوى الأجهزة. بالمقارنة مع طريقة الاتصال التقليدية TCP/IP، لا يحتاج RDMA إلى إنشاء اتصال بين المرسل والمستقبل، ولا يحتاج إلى إجراء معالجة بروتوكول معقدة، لذلك فهو يتمتع بأداء أعلى وزمن وصول أقل. بالإضافة إلى ذلك، يدعم RDMA أيضًا ميزات مثل النسخ الصفري وتجاوز النواة التي يمكن أن تزيد من كفاءة نقل البيانات.
بشكل عام، يتمثل المبدأ التقني لـ RDMA في استخدام أجهزة مخصصة على محول الشبكة من خلال الوصول المباشر إلى الذاكرة، وتجاوز نواة نظام التشغيل، وتحقيق اتصال شبكي فعال ومنخفض الكمون ومنخفض الإشغال لوحدة المعالجة المركزية.
2. تشمل الخصائص التقنية لـ RDMA بشكل رئيسي الجوانب التالية:
* لا يتطلب تدخل وحدة المعالجة المركزية: إحدى الخصائص الأساسية لتقنية RDMA هي أنها لا تتطلب تدخل وحدة المعالجة المركزية. يمكن للتطبيقات الوصول مباشرة إلى ذاكرة المضيف البعيد دون استهلاك أي موارد لوحدة المعالجة المركزية في المضيف البعيد. وهذا يقلل إلى حد كبير من التأخير وشغل وحدة المعالجة المركزية أثناء نقل البيانات ويحسن الأداء العام.
* تجاوز النواة: يدعم RDMA تقنية تجاوز النواة، أي يمكن للتطبيقات إجراء نقل البيانات مباشرةً في وضع المستخدم دون تبديل السياق بين وضع النواة ووضع المستخدم. هذا يقلل من تأخير نقل البيانات ويحسن الكفاءة.
* النسخ الصفري: تتميز تقنية RDMA بخاصية النسخ الصفري، والتي تتجنب عملية نسخ البيانات من وحدة المعالجة المركزية من وحدة تخزين إلى أخرى. في اتصال TCP/IP، يتطلب نقل البيانات بين المضيفين عمليات نسخ متكررة، ويقلل RDMA من عمليات النسخ غير الضرورية هذه من خلال الوصول المباشر إلى الذاكرة، وبالتالي تحسين كفاءة نقل البيانات.
* نطاق ترددي عالٍ ووقت استجابة منخفض: نظرًا لأن RDMA يتجاوز مكدس البروتوكول الذي يوفره نظام التشغيل وينفذ نقل البيانات مباشرةً تحت طبقة نقل الشبكة، فإنه يتمتع باستخدام نطاق ترددي أعلى ووقت استجابة أقل. وهذا يجعل RDMA مناسبًا جدًا لسيناريوهات الاتصال الشبكي التي تتطلب أداءً عاليًا وزمن استجابة منخفض.
* دعم الأجهزة: يتطلب RDMA دعم أجهزة بطاقة شبكة محددة، والتي عادةً ما تحتوي على محرك RDMA مخصص لمعالجة اتصالات RDMA. يمكّن دعم الأجهزة هذا RDMA من تحقيق خصائص الأداء العالي والكمون المنخفض.
بشكل عام، تتضمن الميزات التقنية لـ RDMA بشكل عام عدم تدخل وحدة المعالجة المركزية، وتجاوز وحدة المعالجة المركزية، وعدم وجود نسخ، وعرض نطاق ترددي عالٍ وزمن استجابة منخفض، ودعم الأجهزة. تجعل هذه الميزات من RDMA تقنية اتصالات شبكية فعالة ومنخفضة زمن الوصول، وهي مناسبة بشكل خاص للسيناريوهات التي تتطلب معالجة كميات كبيرة من البيانات واتصالات شبكية عالية الأداء.
3. سيناريوهات تطبيق RDMA
سيناريوهات تطبيق تقنية RDMA واسعة جدًا. وفيما يلي بعض سيناريوهات التطبيق الرئيسية:
* مركز البيانات: في مركز البيانات، تحتاج الخوادم إلى نقل وتبادل كميات كبيرة من البيانات بشكل متكرر. أداء RDMA العالي ووقت الاستجابة المنخفض يجعلها مناسبة جدًا للاتصالات الشبكية في مراكز البيانات، مما يحسّن كفاءة نقل البيانات ويقلل من وقت الاستجابة ويحسّن الأداء العام.
* الحوسبة عالية الأداء (HPC): يتطلب مجال الحوسبة عالية الأداء معالجة كميات كبيرة من البيانات وإجراء عمليات حسابية معقدة. يمكن لتقنية الوصول المباشر للذاكرة RDMA وتقنية النسخ الصفري أن تقلل من عبء نقل البيانات وتحسن كفاءة الحوسبة. في الوقت نفسه، يدعم RDMA المعالجة المتوازية واسعة النطاق وهو مناسب جدًا للحوسبة المتوازية متعددة العقد في بيئات الحوسبة عالية الأداء.
* نظام التخزين الموزع: في نظام التخزين الموزع، تحتاج العقد إلى إجراء عمليات قراءة وكتابة البيانات بشكل متكرر. يمكن لخصائص نقل البيانات الفعالة في RDMA وخصائص الوصول المباشر للذاكرة تحسين كفاءة قراءة البيانات وكتابتها بين العقد وتحسين الأداء العام لأنظمة التخزين الموزعة.
* الحوسبة السحابية: في بيئة الحوسبة السحابية، يعد الاتصال ونقل البيانات بين الأجهزة الافتراضية (VMs) من المتطلبات الشائعة. يمكن استخدام RDMA لتحقيق اتصال فعال بين الأجهزة الافتراضية وتحسين الأداء العام لبيئة الحوسبة السحابية.
بشكل عام، على الرغم من وجود بعض أوجه القصور والقيود في RDMA، إلا أنها لا تزال تقنية اتصال شبكي فعالة جداً في العديد من سيناريوهات الأداء العالي والكمون المنخفض. عند اختيار استخدام RDMA من عدمه، تحتاج إلى تقييم إمكانية تطبيقه وأدائه بناءً على متطلبات وبيئات تطبيق محددة.