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 01:12] – Add missing sections. KonradWitaszczyksummerofcode2015:memorycompressiondeduplication [2015/05/30 12:18] (current) – Add links to repository and project page in Phabricator. KonradWitaszczyk
Line 18: Line 18:
   * How to manage locks not to break VM or degrade performance?   * How to manage locks not to break VM or degrade performance?
 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.
 +
 +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:
 +  * They are active;
 +  * They represent anonymous memory;
 +  * They don't change frequently;
 +  * Their content is the same.
 +
 +During the project I will check the following approaches:
 +  * Deduplicate page table pages (PTP).
  
 ===== Deliverables ===== ===== Deliverables =====
Line 48: 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.1432775551.txt.gz
  • Last modified: 2015/05/28 01:12
  • by KonradWitaszczyk