summerofcode2019projects:virtualmemorycompression

This is an old revision of the document!


Virtual Memory Compression

  • Student: Paavo-Einari Kaipila (pkaipila@gmail.com)
  • Mentors: Edward Napierala (trasz@freebsd.org) and Mark Johnston (markj@freebsd.org)

Virtual memory compression is a memory management technique implemented by multiple operating systems ranging from Windows to Darwin. Depending on the implementation, it can either reduce swapping to a physical storage medium or completely replace it. In the vast majority of systems, compression and decompression are generally known to be faster than disk IO. It has also been reported to offer energy savings.

  • zram on Linux. Enabled by default on Android and Chromium OS.
  • zswap on Linux.
  • Darwin since 13.0. Enabled at least in macOS, perhaps on other Apple systems too.
  • Windows since 10525
  • Systems without writable storage
  • Systems with extremely slow writable storage (eg. hard drive, eMMC)
  • Systems with very limited write cycles (eg. eMMC, old solid state drives)
  • Systems that do not need excessive amounts (more than physical memory) of swap and want to benefit from increased speed

This page gives one example of a project page format. Include what makes sense to you. Some students have included links to submitted changes in Phabricator, others to blog posts, etc.

* deliverable 1 * deliverable 2 * …

* Dated list of milestones

A test plan.

  • summerofcode2019projects/virtualmemorycompression.1557368671.txt.gz
  • Last modified: 2019/05/09 02:24
  • by PaavoEinariKaipila