Четвер, 8 Жовтня, 2026

Команда розробників Meta впровадила механізм стиснення даних CRAM для збільшення швидкості роботи оперативної пам’яті

Компанія Meta розробила нову технологію стиснення даних під назвою CRAM, яка спрямована на оптимізацію використання оперативної пам’яті в середовищі Linux. Основна відмінність CRAM від існуючих рішень, таких як ZRAM або Zswap, полягає у відмові від використання механізму підкачки на диск. Замість імітації блочного пристрою для тимчасового зберігання даних, нова система зберігає стиснуті об’єкти безпосередньо в оперативній пам’яті, що дозволяє уникнути затримок, характерних для традиційних методів управління пам’яттю.

Технічна реалізація CRAM передбачає використання спеціального вузла NUMA, який функціонує як окремий обчислювальний ресурс. Такий підхід дозволяє ядру Linux продовжувати працювати зі стиснутими даними як зі звичайними сегментами пам’яті, використовуючи наявні механізми міграції та динамічного масштабування. Для запобігання системним збоям у моменти високого навантаження розробники впровадили інструмент, відомий як Chicken Bit, який тимчасово призупиняє процеси алокації, якщо швидкість запису перевищує можливості системи стиснення обробляти вхідний потік інформації.

Ефективність технології підтверджується вимірюваннями продуктивності при читанні даних. У режимі лише для читання швидкість операцій досягає 489 мільйонів операцій на секунду, що перевищує показники ZRAM, які становлять близько 1,1 мільйона операцій на секунду. Таке прискорення у 452 рази пояснюється усуненням накладних витрат на виникнення помилок доступу до сторінок пам’яті та відмовою від взаємодії з шаром підкачки, що дозволяє системі працювати зі швидкістю, близькою до пропускної здатності DRAM.

Ситуація суттєво змінюється при виконанні операцій запису, оскільки стиснуті дані потребують декомпресії та перенесення до іншого домену NUMA для внесення змін. У тестах із 20 відсотками операцій запису швидкість CRAM перевищує продуктивність ZRAM у 5,4 раза. Незважаючи на падіння продуктивності порівняно з режимом читання, показник залишається суттєвим для серверної інфраструктури, де обсяги оброблюваних даних вимірюються терабайтами, а ефективність роботи пам’яті є критичним фактором загальної продуктивності обчислювальних систем.

Поточний статус проєкту CRAM характеризується як етап триваючих досліджень, оскільки розробники ще не вирішили проблему точного прогнозування доступного обсягу пам’яті при змінному коефіцієнті стиснення. Різні типи даних стискаються неоднаково, що створює непередбачуваність щодо фактичної місткості оперативної пам’яті. Однак завдяки потенційній інтеграції в ядро Linux, ця технологія може отримати широке застосування в серверному сегменті та на пристроях з обмеженими ресурсами, де оптимізація використання пам’яті прямо впливає на стабільність роботи програмного забезпечення.

НАПИСАТИ ВІДПОВІДЬ

Коментуйте, будь-ласка!
Будь ласка введіть ваше ім'я

Євген
Євген
Євген пише для TechToday з 2012 року. Інженер за освітою. Захоплюється реставрацією старих автомобілів.

Vodafone

Залишайтеся з нами

10,052Фанитак
1,445Послідовникислідувати
105Абонентипідписуватися

Статті