On the Feasibility of Memory Sharing: --Content-Based Page Sharing in the Xen Virtual Machine Monitor
Authors
Kloster, Jacob Faber ; Kristensen, Jesper ; Mejlholm, Arne
Term
4. term
Education
Publication year
2006
Abstract
Virtuelle maskiner (VM’er) har ofte identiske data i hukommelsen. At dele sådanne identiske hukommelsessider kan spare hukommelse. Denne afhandling undersøger, om sidesharing mellem VM’er er praktisk muligt. Vi foreslår to designs: et transparent design (ingen ændringer i gæsteoperativsystemet) og et paravirtualiseret design (gæstesystemet er bevidst og samarbejder). Vi implementerede et af designene på Potemkin, som er en modificering af Xen-hypervisoren. Systemet finder delbare sider med indholdsbaseret sidesharing (sammenligner sidernes indhold for at finde identiske sider). Når identiske sider er fundet, deles de ved hjælp af shadow-sidetabeller og Copy-on-Write (COW), hvor der først laves en kopi, når en side ændres. I evalueringen så vi ingen nævneværdige overheads ud over dem, der skyldes brugen af shadow-sidetabeller; en paravirtualiseret løsning bør reducere denne overhead. Vi udførte forsøg under både gode og dårlige betingelser samt med syntetiske arbejdsbelastninger. Konklusionen er, at sidesharing er muligt, og at workloads med lignende kerner og applikationer typisk har hukommelsessider, der kan deles.
Virtual machines (VMs) often hold identical data in memory. Sharing these identical memory pages can save memory. This thesis examines whether page sharing between VMs is practical. We propose two designs: a transparent design (no changes to the guest operating system) and a paravirtualized design (the guest participates). We implemented one of these on Potemkin, a modification of the Xen virtual machine monitor (hypervisor). The system finds shareable pages using content-based page sharing (comparing page contents to detect identical pages). When matches are found, pages are shared using shadow page tables and Copy-on-Write (COW), where a private copy is created only when a page is modified. Evaluation showed no significant overheads except those from using shadow page tables; a paravirtualized design should reduce this cost. We ran experiments under favorable and unfavorable conditions and with synthetic workloads. We conclude that page sharing is feasible, and workloads with similar kernels and applications typically have memory they can share.
[This abstract was generated with the help of AI]
Documents
