Urgent.News

What's breaking now, across thousands of outlets.

Tech

New Linux tech compresses memory in RAM, as RAM, for 452x speedup

The new method allows access using standard memory semantics instead of as a block device, drastically improving performance.

New Linux tech compresses memory in RAM, as RAM, for 452x speedup

A new compression model named CRAM, created by Meta, can compress data in memory without resorting to swap, resulting in an impressive 452 times faster performance compared to ZRAM. The concept behind CRAM emerged from the observation that the primary cause of performance slowdown in compressed memory is not the compression process itself but the fault handling and swap behavior.

This led to the idea of implementing compression directly in memory, rather than using it as swap. CRAM leverages existing Linux mechanisms, such as NUMA nodes, to manage compressed memory effectively. However, one challenge remains unsolved: determining how much logical RAM is available when some of it is compressed and when the system is close to running out of memory.

Despite this, CRAM operates at DRAM speeds since it is stored in RAM and can be accessed in a read-only fashion, primarily requiring the cost of hardware-offloaded compression. When writes are enabled, CRAM still shows significant improvements over ZRAM, with a 5.4x speedup in the worst-case scenario of 20% writes. While the creator, Gregory Price, presented these findings at the Linux Plumbers Conference in Prague, the details of his presentation were gathered from slides available on the session information site.

Currently, Meta's primary target for CRAM is large Linux servers, but its potential benefits extend to various Linux distributions, even those running on devices with limited resources like the Steam Deck.

Written by urgent.news from Tom's Hardware's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at tomshardware.com →

More in Tech

More from Wednesday 7 October →