CRAM: نموذج ضغط ذاكرة جديد في Linux يتفوق على ZRAM بـ452 مرة
نموذج CRAM الذي طوره جريجوري برايس وفريقه في Meta يحتفظ بالبيانات المضغوطة في الذاكرة بدل العمل كطبقة تبديل.
طُوِّر نموذج جديد لضغط الذاكرة في Linux يُسمى CRAM، ووضعه جريجوري برايس وفريقه في Meta. ويعتمد النموذج على الاحتفاظ بالبيانات المضغوطة داخل الذاكرة بدل العمل كميزة تابعة لطبقة التبديل (swap)، وهو ما يميزه عن الحلول الشائعة حالياً.
وبحسب ما أورده موقع tomshardware.com، يقدّم CRAM أداءً يصل إلى 452 ضعف أداء ZRAM في حالات القراءة فقط. وفي أسوأ حالة قراءة فقط، ينفّذ CRAM نحو 489 مليون عملية في الثانية مقابل 1.1 مليون عملية لـ ZRAM.
وعند تفعيل الكتابة بنسبة 20%، يظل CRAM أسرع من ZRAM بمقدار 5.4 مرة في أسوأ حالة جرى اختبارها.
بنية مختلفة وآلية حماية
يعتمد CRAM على عقدة NUMA خاصة بدل التظاهر بأنه جهاز كتل (block device)، وهو اختلاف في البنية عن الطريقة التي تعمل بها الحلول التقليدية.
ويحتوي النموذج على آلية تُعرف باسم "Chicken Bit" تمنع Linux من استخدام CRAM أثناء إدارته لعمليات التخصيص، بهدف تفادي حالات الفشل المتسلسل.
وكانت Zswap و ZRAM من أكثر خيارات ضغط الذاكرة شيوعاً في Linux، وهما في الأساس ميزتان تعملان على مستوى طبقة التبديل، وتُستخدمان على نطاق واسع في منظومة Linux. وقد قُدِّم عرض CRAM في مؤتمر Linux Plumbers في براغ.
أسئلة سريعة
ما هو CRAM في Linux؟
نموذج لضغط الذاكرة يحتفظ بالبيانات المضغوطة في الذاكرة بدل العمل كميزة تابعة لطبقة التبديل، ووضعه جريجوري برايس وفريقه في Meta.
كم يبلغ أداء CRAM مقارنة بـ ZRAM؟
يصل إلى 452 ضعف أداء ZRAM في حالات القراءة فقط، ويكون أسرع بمقدار 5.4 مرة عند تفعيل الكتابة بنسبة 20% في أسوأ حالة جرى اختبارها.
ما وظيفة آلية Chicken Bit في CRAM؟
تمنع Linux من استخدام CRAM أثناء إدارته لعمليات التخصيص، بهدف تفادي حالات الفشل المتسلسل.