इंजीनियर ग्रिगोरी प्रिस् द्वारा प्रस्तावित कंप्रेस्ड रैम (CRAM) परियोजना लिनक्स ऑपरेटिंग सिस्टम में मेमोरी प्रबंधन के अधिक कुशल समाधान का प्रतिनिधित्व करती है। मौजूदा ZRAM और Zswap जैसी तकनीकों के विपरीत, CRAM संपीड़ित क्षेत्र को मूल रैम के रूप में मानता है, जिससे पारंपरिक या वर्चुअल स्वैप का उपयोग करने से बचा जा सकता है और डेटा एक्सेस को अनुकूलित किया जा सकता है।
लिनक्स प्लंबर्स कॉन्फ्रेंस 2026 में प्रस्तुत प्रस्तुति में प्रदर्शित किया गया कि CRAM ने ZRAM के प्रदर्शन से 452 गुना अधिक प्रदर्शन हासिल किया। मेटा के इंजीनियर ग्रिगोरी प्रिस् की टीम ने एक ऐसी अवधारणा प्रस्तुत की जो बड़ी मात्रा में डेटा के साथ काम करते समय लिनक्स कर्नेल को और अधिक कुशल बना सकती है, खासकर मेमोरी की कमी की स्थिति में।
जैसा कि नाम से पता चलता है, CRAM सीधे रैम में डेटा संपीड़न के एक नए दृष्टिकोण पर आधारित है। हालांकि इस तरह की विधियाँ मौजूद हैं, लिनक्स में दो मानक अलग किए गए हैं: ZRAM और Zswap। उनकी कार्यप्रणाली को समझना CRAM के लाभों का आकलन करने में मदद करता है।
ZRAM एक प्रकार का वर्चुअल डेटा ब्लॉक बनाता है, जो रैम के भीतर ही हार्ड ड्राइव या SSD का अनुकरण करता है। जब मेमोरी भरनी शुरू होती है, तो निष्क्रिय या कम उपयोग किए जाने वाले मेमोरी पेज संपीड़ित होते हैं और इस ब्लॉक में चले जाते हैं, जिससे रैम की खपत कम हो जाती है। यह ध्यान रखना महत्वपूर्ण है कि ZRAM एक स्वैपिंग तंत्र के रूप में कार्य करता है, जो रैम के भीतर ही रैम के विस्तार के रूप में डिस्क स्थान का उपयोग करता है।
Zswap सिद्धांत में समान है, लेकिन अधिक उन्नत है। यह ऑपरेटिंग सिस्टम द्वारा मेमोरी पेज को वास्तविक स्वैप (HDD या SSD पर) भेजने के प्रयासों को रोकता है। इसके बजाय, इन पेजों के डेटा को संपीड़ित किया जाता है और रैम के विशिष्ट क्षेत्रों में रखा जाता है। केवल तभी जब मेमोरी लगभग पूरी तरह से लोड हो जाती है, तो पेजों को वास्तविक स्वैप में भेजा जाता है।
हालांकि ZRAM और Zswap शानदार समाधान हैं, वे प्रदर्शन की संभावित समस्या का सामना करते हैं। स्वैप्स (चाहे वास्तविक हों या वर्चुअल) के माध्यम से डेटा को संसाधित करने के लिए संपीड़न और डीकंप्रेसन की गति सीधे रैम के साथ किए गए संचालन की तुलना में काफी धीमी होती है।
यहीं पर CRAM एक समाधान के रूप में सामने आता है। हालांकि पहली नज़र में CRAM ZRAM जैसा दिखता है, मुख्य अंतर यह है कि पहले मामले में, संपीड़ित डेटा को संग्रहीत करने वाला ब्लॉक वास्तविक रैम के रूप में संसाधित होता है, न कि पारंपरिक स्वैप के रूप में। लिनक्स इस स्थान के साथ ऐसे व्यवहार करना शुरू कर देता है जैसे कि यह अतिरिक्त रैम ब्लॉक है, संपीड़ित डेटा वाले क्षेत्र के साथ काम करने के लिए कर्नेल के देशी मेमोरी प्रबंधन तंत्र को सक्रिय करता है।
ये अंतर्निहित कार्य कुछ परिस्थितियों में पेज फॉल्ट (page fault) त्रुटि के बिना संपीड़ित डेटा तक पहुंचने की अनुमति देते हैं - एक ऐसी स्थिति जहां सिस्टम मेमोरी पेज तक पहुंचने का प्रयास करता है जो अनुपलब्ध या अनमैप्ड है, जिसके लिए कर्नेल के हस्तक्षेप की आवश्यकता होती है। वे पृष्ठों के बीच माइग्रेशन भी सुनिश्चित करते हैं, जिससे इंटरप्ट्स का जोखिम कम होता है, जो प्रदर्शन पर सकारात्मक प्रभाव डालता है।
प्रदर्शन वास्तव में कितना बेहतर होता है? लिनक्स प्लंबर्स कॉन्फ्रेंस (LPC) 2026 में, ग्रिगोरी प्रिस् ने समझाया कि एक विशिष्ट बेंचमार्क में CRAM ने ZRAM के 1.1 मिलियन ऑपरेशन प्रति सेकंड की तुलना में 489 मिलियन ऑपरेशन प्रति सेकंड निष्पादित करने की अनुमति दी। इसका मतलब है कि इस परीक्षण में CRAM क्लासिक ZRAM की तुलना में 452 गुना तेज था, और यह लिनक्स में मेमोरी प्रबंधन की पूरी तरह से नई बुनियादी ढांचे के निर्माण की आवश्यकता के बिना प्राप्त किया गया था।
हालांकि प्रदर्शन का स्तर एप्लिकेशन के आधार पर भिन्न हो सकता है, प्रवृत्ति इंगित करती है कि CRAM हमेशा बेहतर परिणाम देगा। परियोजना आशाजनक है, हालांकि अत्यधिक उत्साह को संयमित करना आवश्यक है क्योंकि CRAM का विकास अभी तक पूरा नहीं हुआ है, और वर्तमान में आधिकारिक रिलीज की कोई निर्धारित तिथि नहीं है। यह भी ध्यान रखना चाहिए कि ऐसा समाधान संभवतः सर्वर पर चलने वाले पेशेवर अनुप्रयोगों पर केंद्रित होगा, हालांकि यह घरेलू उपयोग के लिए भी उपयोगी हो सकता है।



