Инструменты6 октября 2026 г., 21:21 МСК🤖 Auto

Meta представила CRAM для Linux: сжатие RAM быстрее ZRAM и Zswap

Инженеры Meta разработали CRAM (Compressed RAM) с аппаратным ускорением, обеспечивающим скорость, близкую к нативной DRAM, и превосходящую существующие решения ZRAM и Zswap.

Баннер новости 9055

Новое решение для борьбы с нехваткой памяти

В условиях роста цен на оперативную память и увеличения требований к её объему, инженеры Meta представили на Linux Plumbers Conference (LPC) в Праге проект Compressed RAM (CRAM). В отличие от программных решений, CRAM использует аппаратное ускорение (hardware-offloaded compression), что позволяет сохранять доступ к сжатым данным на уровне кэш-линий (cacheline) и байтов. Это ключевое архитектурное отличие от существующих аналогов.

Сравнение производительности: CRAM против ZRAM и Zswap

Презентация, проведенная Грегом Прайсом (Gregory Price), показала, что CRAM обеспечивает производительность, близкую к скорости необработанной DRAM. Особенно заметен прирост в операциях записи, где CRAM значительно превосходит как ZRAM, так и Zswap. Ниже приведены результаты сравнения, полученные в ходе тестирования:

Метрика / Тип доступа CRAM (Meta) ZRAM Zswap Plain Swap (на диске)
Чтение (Read-only data) Скорость, близкая к нативной DRAM Ниже (программное сжатие) Ниже (буферизация + сжатие) Критически низкая
Запись (Memory writes) Значительно быстрее аналогов Умеренная скорость Умеренная скорость Очень низкая
Архитектура Аппаратное ускорение + доступ к кэш-линиям Программное решение в ядре Программный буфер подкачки Без сжатия

Статус интеграции в ядро Linux

Большинство необходимых компонентов для поддержки CRAM уже находятся в mainline (основной ветке) ядра Linux. Это означает, что до полноценного внедрения для конечных пользователей осталось пройти финальные этапы интеграции и оптимизации. Для пользователей, которые уже используют ZRAM или Zswap, CRAM обещает существенное улучшение отзывчивости системы при нехватке физической памяти.

Почему это важно

Традиционные методы сжатия памяти (ZRAM/Zswap) требуют значительных вычислительных ресурсов CPU для сжатия и распаковки данных. CRAM переносит эту нагрузку на специализированные аппаратные блоки, что минимизирует задержки. Если проект будет успешно апстримлен, это станет стандартом для оптимизации памяти в Linux-дистрибутивах, особенно на устройствах с ограниченными ресурсами.

Источник: Phoronix ↗