summerofcode2015:memorycompressiondeduplication

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
summerofcode2015:memorycompressiondeduplication [2015/05/28 23:44] – KonradWitaszczyksummerofcode2015:memorycompressiondeduplication [2015/05/30 12:18] (current) – Add links to repository and project page in Phabricator. KonradWitaszczyk
Line 19: Line 19:
 In this section I would like to answer above questions and present the idea behind my implementation. In this section I would like to answer above questions and present the idea behind my implementation.
  
-Memory deduplication can improve VM performance in many cases. One of them is running multiple virtual machines with the same OS. From VM's perspective memory allocated by the virtual machines is unknown, i.e. it doesn't know anything about the source and content of pages, so it cannot know which pages could be the same. On the other hand we cannot check if a given page already exists in memory when it's being allocated because memory allocation would take much longer.+Memory deduplication can improve VM performance in many cases. One of them is running multiple virtual machines with the same OS. From VM's perspective memory allocated by the virtual machines is unknown, i.e. it doesn't know anything about the source and content of pages, so it cannot know which pages could be the same.
  
-Instead of that we can periodically check which pages can be merged. VM already implements daemons for paging and swapping using [[https://www.freebsd.org/cgi/man.cgi?query=SYSINIT&sektion=9|SYSINIT(9)]] and they can be considered as good examples for memory deduplication.+We can periodically check which pages can be merged. VM already implements daemons for paging and swapping using [[https://www.freebsd.org/cgi/man.cgi?query=SYSINIT&sektion=9|SYSINIT(9)]] and they can be considered as good examples for memory deduplication.
  
 Given two pages the daemon can merge them when: Given two pages the daemon can merge them when:
Line 61: Line 61:
  
 ===== The Code ===== ===== The Code =====
 +
 +Repository: https://reviews.freebsd.org/diffusion/DEFGSOC/
 +
 +Project page in Phabricator: https://reviews.freebsd.org/project/profile/52/
  
 ===== Useful links ===== ===== Useful links =====
  • summerofcode2015/memorycompressiondeduplication.1432856659.txt.gz
  • Last modified: 2015/05/28 23:44
  • by KonradWitaszczyk