Policies for transcending Linux memory efficiency with zcache
Zcache is the first Linux memory management capability that uses compression to dramatically increase RAM efficiency for
both the page cache and for swap pages. The mechanism has been in staging since 2.6.39, but has been complemented only by a very primitive policy. The key to promoting zcache to a full kernel citizen and, indeed, for turning zache into an enterprise-ready default feature is a bulletproof "first do no harm" policy that must improve performance on many workloads while avoiding performance degradation on others. We will present how zcache works, discuss core kernel memory management policies and how they might be extended to "harden" zcache, and solicit discussion on further improvements for zcache, as well as its Transcendent Memory brethren: RAMster, which builds on zcache and kernel sockets to load-balance RAM across a cluster, and Xen tmem and KVM tmem, which provide similar capability in a virtualized environment.
Linux plumbing connections: Page cache pages in zcache are mapped pages obtained via hooks in the VFS/filesystems (c.f.
cleancache); swap pages are obtained via hooks in the swap subsystem (c.f. frontswap). Increasing RAM efficiency ultimately
reduces the total RAM needed in a system, thus reducing capital and power costs across the data center.
Blueprint information
- Status:
- Not started
- Approver:
- None
- Priority:
- Undefined
- Drafter:
- None
- Direction:
- Needs approval
- Assignee:
- Dan Magenheimer
- Definition:
- New
- Series goal:
- None
- Implementation:
- Unknown
- Milestone target:
- None
- Started by
- Completed by