Zswap: Compressed Swap Caching For Linux

Written by Michael Larabel in Linux Kernel on 12 December 2012 at 09:20 PM EST. 16 Comments
LINUX KERNEL
Published to the Linux kernel mailing list were a set of patches to provide a new feature called Zswap for lightweight compressed swap caching.

These patches, while arriving unfortunately right at the start of the Linux 3.8 kernel merge window and have yet to be reviewed, provide Zswap (not to be confused by zRAM) to attempt to compress pages in the process of being swapped and compresses them into a dynamically allocated RAM-backed memory pool. Zswap attempts to avoid the writeback to the swap device where possible to reduce I/O and lead to greater performance in situations where swapping occurs.

Seth Jennings, the developer who published the set of eight patches, summarized the performance benefits as "a kernel building benchmark indicate a runtime reduction of 53% and an I/O reduction 76% with zswap vs normal swapping with a kernel build under heavy memory pressure."

The expressed rationale was said to be, "Zswap provides compressed swap caching that basically trades CPU cycles for reduced swap I/O. This trade-off can result in a significant performance improvement as reads to/writes from to the compressed cache almost always faster that reading from a swap device which incurs the latency of an asynchronous block I/O read."

Among the use-cases are desktops/laptops with limited RAM where there can be better performance when swapping, overcommitted guests that share a common I/O resource, and users of SSDs as swap devices whereby they can potentially extend the solid state drive's life by reducing the number of writes.

For more information on Zswap, see the kernel mailing list, where there are also some more extensive Zswap performance benchmark results. Based upon early feedback on the Zswap patches, it will probably still be a while before this compression feature is merged into the mainline Linux kernel.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week