Kernel same-page merging
Template:New unreviewed article
Kernel SamePage Merging first appeared in the version 2.6.32 Linux operating system kernel </ref>http://www.ibm.com/developerworks/linux/library/l-kernel-shared-memory/index.html?ca=dgr-lnxw01LX-KSMdth-LX</ref>. It is also known as "Kernel Shared Memory" or sometime "Memory Merging" </ref>http://www.kernel.org/doc/ols/2009/ols2009-pages-19-28.pdf</ref>. It was originally intended as a method where computers running virtual machines can share memory between various processes, or more than one instance of a virtual machine. Upon implementation, it was also found to be useful for non-virtualized environments where memory is at a premium </ref>http://www.ibm.com/developerworks/linux/library/l-kernel-shared-memory/index.html?ca=dgr-lnxw01LX-KSMdth-LX</ref>. In this way memory shortages can be minimized, enabling the machine to run more efficiently. An experimental implimentation of this process by Red Hat found that 52 virtual instances of Windows XP with 1GB of memory, could run on a host computer that had only 16GB of RAM </ref>http://kernelnewbies.org/Linux_2_6_32#head-d3f32e41df508090810388a57efce73f52660ccb</ref>. Algorithms are used to both to find memory pages held by different processes that contain information that can be merged, and also so that the operation system can decide whether the pages are going to update infrequently enough that SamePage Merging would be an efficient use of processor resources </ref>http://www.kernel.org/doc/ols/2009/ols2009-pages-19-28.pdf</ref>. When first proposed, there were concerns that this feature could be exploit as a security vulnerability (since addressed) and that although memory usage is reduced, CPU usage is increased, thus negating potential increases in performance </ref>http://lwn.net/Articles/330589/</ref>.
References