On 1/24/06, Mark Williamson <mark...@cl.cam.ac.uk> wrote:
There are a number of routes for this. The most obvious is to implement
content-based page sharing mechanisms for the hypervisor itself - I believe
people are working on this already. This is what VMware ESX does when
running multiple guests, and can unify storage for pages when they have the
same content.
Another approach is to use a shared interdomain ramdisk and do Execute In
Place (XIP) on the contents. It's not a full shared page cache, but it gives
you sharing for program text, etc. I'm implementing infrastructure to
support the dcssblk driver used on IBM zSeries mainframes, which will give us
this functionality.
Would it make sense to have a Read-Only page type in Xen (if it's not
already there), so that pages coming from the blockdev-backend could
be made RO by the backend, and the domain would have to CoW them if it
needed to modify the contents?
Seems this would allow a shared buffer cache, and also open the door
to a voluntary page sharing mechanism.
Jacob