[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Xen-devel] Seamlessly sharing identical memory pages among domains
> I'd like to know if XEN is or will be implementing any mechanism for
> transparently sharing pages with identical content among domains, to
> minimize memory consumption, similar to what is implemented in VMWare's
> ESX server (chapter 4 of the paper whose link is below).
I'm not convinced there's that much sharing to be had between
VMs: One side effect of implementing some test code for live
migration was that I collected some traces containing crc
fingerprints of the memory pages of several domains. There
weren't many hashes in common. Perhaps this shouldn't be
surprising -- application text is typically small compared to the
heap data they operate on. The actual datasets operated on by
domains are typically distinct.
However, there might be some value in having a shared read-only
buffer cache, if only for the saved IO ops. Implementing a cache
that replicates pages in memory (rather than sharing) is trivial.
Doing a proper shared cache is slightly trickier given the
paravirtualised memory interface -- we'd have to introduce guests
to a new kind of write fault: "A write fault has occurred, and
you'll have to copy the page because this machine page is
immutable as it is already shared with other domains". Modifying
Linux to handle this wouldn't be hard.
Of course, if you're running a domain on Xen's shadow page tables
then all of this manipulation is easy and can be done
transparently to the domain. Of course, you pay a performance
This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g.
Take an Oracle 10g class now, and we'll give you the exam FREE.
Xen-devel mailing list