hi, last year myself and a friend implemented the NomadBIOS system, a microkernel-based project similar in ambition to Xen, but with the ability to migrate guests quickly between host-machines. Do you plan to implement guest migration in Xen, or do you see any reasons why it might be difficult to do? best regards, Jacob Gorm Hansen ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Xen-devel mailing list Xen-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xen-devel
> last year myself and a friend implemented the NomadBIOS system, a > microkernel-based project similar in ambition to Xen, but with the > ability to migrate guests quickly between host-machines. > > Do you plan to implement guest migration in Xen, or do you see any > reasons why it might be difficult to do?It''s on our list of things to do, but haven''t quiet got around to. Our plan is to have the code that does the suspend/resume run in domain 0 (the privileged domain), where it can memory map the physical memory of other domains to read/write, and has easy access to the disk/network etc. The one complication with doing this on Xen is that since we deliberately expose real resources, it''s likely that the set of physical ''machine'' pages available to the domain when it is resumed will be different from when it was suspended. Hence, we need to re-write the OS''s page tables to reflect the change. This is actually quite straight forward since Xen already needs to track which pages contain page directories/tables. However, it''s also necessary to update the OS''s "mem_map" structure (or equivalent) to reflect the new ''physical'' to ''machine'' page mapping. This is obviously highly OS specific. We could do this with a simple stub function in the OS, or we could make the domain0 ''resume'' program OS specific. We haven''t decided which approach we prefer. Having some some limited co-operation from the guest OS in suspend/resume is quite sensible anyway, as you need it to rerun DHCP etc anyway. We''d probably modify the guest OS to cause it to evict the entire buffer cache before asking for a suspend, to minimize the state. Volunteers welcome ;-) Cheers, Ian ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Xen-devel mailing list Xen-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xen-devel
On Thu, Oct 02, 2003 at 10:25:38PM +0100, Ian Pratt wrote:> We''d probably modify the guest OS to cause it to evict the entire > buffer cache before asking for a suspend, to minimize the state.I spent quite a lot of time dealing with the issues of suspending and resuming guest images in NomadBIOS (which is based on L4 and L4Linux), I did not have the problem of having to change the guest pagetables because L4 provides recursive address spaces, but other resources such as task numbers had to be remapped instead. I ended up needing quite a bit of cooperation from the guest and its applications (through a special signal handler, everything is transparent to user programs), but in the end it got to work quite well. A good thing about L4 is the entire address space of a guest can be unmapped, and resulting page faults be propagated to the host environment, which allows for the use of ''precopy'' migration, effectively running the guest on the originating host while copying pages across, until the working set is sufficiently small that an outside client will not even notice that the system is suspended, migrated, and resumed on the new host (typical downtime is less than 1/10th of a second for a loaded system). About the buffer cache I am not sure it matters, perhaps better to use good checksums to eliminate duplicate page transfers of identical pages, as the disk image will have to be copied as well, and - in the case of a network filesystem - the cached pages may have to be refetched from the file server if evicted.> > Volunteers welcome ;-)I am currently awaiting a response to my Ph.D. application, I was planning to continue work on NomadBIOS in a Grid setting, but perhaps we can find ways to cooperate, I am impressed by the thoroughness of the Xen-paper. If I get the funding I will start my work around November or December. If you have the time, please have a look at http://www.nomadbios.dk.> Cheers, > Ianbest, Jacob ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Xen-devel mailing list Xen-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xen-devel