TMO ، آلية Facebook توفر ذاكرة الوصول العشوائي على الخوادم

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

فيسبوك يقدر أن TMO يحفظ ما بين 20٪ و 32٪ من ذاكرة الوصول العشوائي على كل خادم. الحل مصمم للاستخدام في البنى التحتية حيث تعمل التطبيقات في حاويات معزولة. مكونات جانب النواة لـ TMO تم تضمينها بالفعل في Linux kernel.

على جانب Linux kernel ، العملية التكنولوجيا يتم توفيره بواسطة النظام الفرعي PSI (معلومات كشك الضغط) ، متوفرة اعتبارًا من الإصدار 4.20.

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

في مساحة المستخدم ، يقوم مكون Senpai بتشغيل TMO، والذي يقوم بضبط حد الذاكرة ديناميكيًا لحاويات التطبيق عبر cgroup2 بناءً على البيانات الواردة من PSI.

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

إلغاء تحميل الذاكرة الشفافة (TMO) هو حل Meta لبيئات مراكز البيانات غير المتجانسة. يقدم آلية Linux kernel جديدة تقيس العمل المفقود بسبب نقص الموارد في وحدة المعالجة المركزية والذاكرة والإدخال / الإخراج في الوقت الفعلي. بناءً على هذه المعلومات وبدون أي معرفة مسبقة بالتطبيق ، يقوم TMO تلقائيًا بضبط مقدار الذاكرة لتفريغها على جهاز غير متجانس ، مثل الذاكرة المضغوطة أو SSD. يقوم بذلك بناءً على خصائص أداء الجهاز وحساسية التطبيق للوصول إلى الذاكرة بشكل أبطأ.

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

يتم استخدام عدم الوصول إلى صفحة الذاكرة في غضون 5 دقائق كأحد معايير التفضيل. تسمى هذه الصفحات بالصفحات الباردة وتشكل ، في المتوسط ​​، حوالي 35٪ من ذاكرة التطبيق (اعتمادًا على نوع التطبيق ، هناك اختلاف من 19٪ إلى 65٪).

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

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

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

أخيرًا ، إذا كنت مهتمًا بمعرفة المزيد عنها ، يمكنك الرجوع إلى التفاصيل في الرابط التالي.


اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: AB Internet Networks 2008 SL
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.

  1.   إليان قال

    هل يمكن استخدام هذا في أجهزة الكمبيوتر العادية ذات التطبيقات العادية؟