Linux годами терял скорость из-за работы с памятью: новый механизм показал ускорение в 452 разаВ Linux-системах стандартные механизмы расширения доступной памяти, такие как ZRAM и zswap, упорно сталкиваются с одним и тем же потолком производительности: при обращении к сжатым данным система вынуждена имитировать работу с дисковым накопителем. Это не просто метафора — это конкретный сбой в логике обработки: каждое чтение запускает прерывание по page fault, после чего ядро обращается к виртуальному блочному устройству для извлечения и декомпрессии данных. Программная стоимость этого "перехода" в слой ввода-вывода становится главным узким местом, замедляя отклик системы.
Команда инженеров в Праге представила архитектуру CRAM (Compressed RAM), которая убирает эту границу. Здесь сжатые данные не живут в блочном устройстве, а остаются в физической памяти, обрабатываясь как таковая. Это принципиально меняет путь выполнения команды: процессор и кэш-линии обращаются к данным напрямую, без необходимости имитировать чтение с диска.
Ключом к реализации этого подхода является использование нативных механизмов ядра Linux. CRAM создает приватный NUMA-узел, который работает как "тень" физического процессора. Для ядра это не новое устройство, а просто еще одна область памяти. Это позволяет полностью обойти логику swap, используя стандартные механизмы миграции памяти и balloon inflation, которые уже существуют для управления физическими узлами.
Thu, 08 Oct 2026 12:13:00 +0300