Virtual memory compression: Difference between revisions

Content deleted Content added
Revised a bit
add osx reference and additional info to shortcomings
Line 31:
 
Other performance enhancements, such as optimizations to the operating systems and on-CPU caching, and improvements in the speed of the I/O channel, both reduce the amount of paging and improve the speed at which paging happens, potentially reducing or eliminating any advantage provided by compression technology.
 
In a typical virtual memory implementations, paging happens on a least recently used basis, potentially causing the compression algorithm to use up CPU cycles dealing with the lowest priority data. Furthermore, program code is usually read-only, and is therefore never paged-out. Instead code is simply discarded, and re-loaded from the program’s secondary storage file if needed. In this case the bar for compression is higher, since the I/O cycle it is attempting to eliminate is much shorter, particularly on flash memory devices.
 
==History==
 
Virtual Memory Compression has gone in and out of favor as a technology. The price and speed of RAM and external storage have plummeted due to [[Moore’s Law]] and improved RAM interfaces such as [[DDR3]], thus reducing the need for virtual memory compression, while multi-core processors, server farms, and mobile technology together with the advent of flash based systems make virtual memory compression more attractive.
 
Line 51 ⟶ 54:
 
In 2012 some versions of the POWER7+ chip included data compression support for Virtual Memory Compression.<ref name="IBM-POWER7+"/> In December 2012 the [[zswap]] project was announced and later added to the [[Linux Kernel]].
In June 2013, Apple announced that it will include virtual memory compression in [[OS X Mavericks]].
 
On multi-core, multithreaded CPUs, some benchmarks show performance improvements of over 50% in some circumstances.<ref name="zswap-bench"/><ref name="ZRAM-BENCH"/>
 
Line 95 ⟶ 98:
<ref name="IBM-MXT-PERF">
{{cite web|
url = http://www.kkant.net/papers/caecw.doc |
title=An Evaluation of Memory Compression Alternatives |
publisher=Krishna Kant, Intel Corporation|