[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] Dynamic Loading of Domain Memory Image

I am working with Carnegie Mellon University and Intel on their Internet
Suspend and Resume project to decrease the delay of restarting virtual
machines transfered over the Internet.  After reading the Xen research
papers, and looking at the xc_linux_restore() and xc_linux_save()
methods, it appears that Xen needs to load in the entire memory image
file before it can begin executing the domain.  What I will be working
on is the elimination of the need to have the entire memory image
present and accounted for before the domain can execute.

To accomplish this I am going to first break the memory image into a
series of smaller files, one file for the PTE,PDE, and other important
information, and many individual files for the actual pages.  The main
goal will be to have Xen tell the domain that its page is loaded even if
it is not yet present.  In the case that it has not actual been read in,
Xen will trap to the hypervisor and load the page from the appropriate
file.  This allows the memory pages to arrive after the domain is
started.  This technique should allow the domain to run, albeit with a
slower response time, while paging in missing chunks of memory.

Although this project is geared toward decreasing the resume time when
the memory image is sent over the internet, it should also decrease
resume time when loading from the local disk.  There is also the
possibility that it will decrease migration resume time since all dirty
pages can be marked as "not present/trap to hypervisor" at which point
they can be dynamically loaded in a similar fashion.

I welcome any comments, questions, tips, and/or suggestions from other
developers working on Xen. 


Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.