Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| summerofcode2015:memorycompressiondeduplication [2015/05/28 01:12] – Add missing sections. KonradWitaszczyk | summerofcode2015: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' | ||
| + | |||
| + | We can periodically check which pages can be merged. VM already implements daemons for paging and swapping using [[https:// | ||
| + | |||
| + | 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:// | ||
| + | |||
| + | Project page in Phabricator: | ||
| ===== Useful links ===== | ===== Useful links ===== | ||