|   | 
      | 
  
  
      | 
      | 
  
 
     | 
    | 
  
  
     | 
    | 
  
  
    |   | 
      | 
  
  
    | 
         
xen-devel
Re: [Xen-devel] A migration framework for external devices
 
| 
To:  | 
aliguori@xxxxxxxxxx | 
 
| 
Subject:  | 
Re: [Xen-devel] A migration framework for external devices | 
 
| 
From:  | 
Stefan Berger <stefanb@xxxxxxxxxx> | 
 
| 
Date:  | 
Thu, 9 Feb 2006 12:51:54 -0500 | 
 
| 
Cc:  | 
xen-devel@xxxxxxxxxxxxxxxxxxx, "Cihula, Joseph" <joseph.cihula@xxxxxxxxx>,	Ronald Perez <ronpz@xxxxxxxxxx>, "Scarlata,	Vincent R" <vincent.r.scarlata@xxxxxxxxx>,	xen-devel-bounces@xxxxxxxxxxxxxxxxxxx | 
 
| 
Delivery-date:  | 
Thu, 09 Feb 2006 18:04:03 +0000 | 
 
| 
Envelope-to:  | 
www-data@xxxxxxxxxxxxxxxxxxx | 
 
| 
In-reply-to:  | 
<43EB766A.30701@xxxxxxxxxx> | 
 
| 
List-help:  | 
<mailto:xen-devel-request@lists.xensource.com?subject=help> | 
 
| 
List-id:  | 
Xen developer discussion <xen-devel.lists.xensource.com> | 
 
| 
List-post:  | 
<mailto:xen-devel@lists.xensource.com> | 
 
| 
List-subscribe:  | 
<http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>,	<mailto:xen-devel-request@lists.xensource.com?subject=subscribe> | 
 
| 
List-unsubscribe:  | 
<http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>,	<mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe> | 
 
| 
Sender:  | 
xen-devel-bounces@xxxxxxxxxxxxxxxxxxx | 
 
 
 
 xen-devel-bounces@xxxxxxxxxxxxxxxxxxx wrote on 02/09/2006
12:05:46 PM: 
 
> Stefan Berger wrote: 
> > The problem that I would see with a framework living outside
XenD is  
> > that you now have two different entities taking care of migration.
 
> > Certainly it should be one piece of code that does everything. 
> > I don't understand your argument about a push/pull migration
model. I  
> > mean in certain ways everything is push/pull and push is certainly
 
> > what we have today with a command like "xm migrate <DomID>
<Host>",  
> > which effectively pushes the vm onto another machine. What would
be  
> > different in the new model? 
> Sorry, I should have been more specific.  You still have an xm
migrate  
> <Dom> <Host> command, but instead of always having a daemon
running on  
> Host to receive the migration, it instead uses something like ssh
to  
> execute an "xm migrate-incoming <port>" command on
the host.  Locally,  
> you would use an "xm migrate-outgoing <Dom> <Host>
<port>" command. 
>  
> Since migration doesn't actually do anything when not migrating there's
 
> no point in just having an idle thread in Xend (or any idle daemon
at  
> all).  It also allows you to do clever things like vary the port
which  
> should add to the security of migration.
 
 I don't think that adds to security. How would you
find out the current port number if it's a moving target? You have to either
have a shared algorithm that calculates the current port number based on
some known parameters or you ask a daemon/lookup service where that port
currently is.
  
> > Plug-ins  will need to exist in some form on another since
knowledge  
> > is needed about how to migarte a specific technology and prepare
the  
> > target system for it - and maybe check the target system first
whether  
> > that technology is supported there or migration requirements
can be  
> > met. In a way they do exist today with classes like  
> > xen/xend/{pciif,netif,blkif,usbif,tpmif}.py which are all implementing
 
> > technology-specific code - not for migration, though. 
> Why do plugins have to exist?  The only reason to have a plugin
 
> mechanism is to be able to maintain plugins outside of the Xend tree
 
> which would require a stable plugin interface.  I don't think
we're at a  
> point where we can do that. 
> > 
> > > Is it static throughout the lifetime of the domain or does
it change?   
> > 
> > The TPM state itself is not static throughout the lifetime of
a  
> > domain. It does change - if that's what you mean. 
> > 
> > > How much state are we talking about migrating? 
> > 
> > It's not going to be much in terms of kilobytes or so, but it
might  
> > end up being the first device that lives outside a domain an
needs to  
> > be migrated. 
> How many round trips would it require?  If the data is dynamic,
it has  
> to be transferred (or at least finalized) during the final stage of
 
> migration which is performance critical.
 
 The transfer could happen in parallel of transferring
the last few (dirty) pages. I cannot say about the number of exchanges.
  
> > My gut feeling is that we need to design a flexible migration
protocol  
> > that is is extensibile. So I am just looking around what other
poeple  
> > think, although I am doing some coding as well :-). 
> This all sounds like it's going to add complexity.  The tools
are  
> already far too complex.
 
 That goes hand-in-hand with added functionality.
 
    Stefan
  
>  
> Regards, 
>  
> Anthony Liguori 
> >    Stefan 
> > 
> > > 
> > > Regards, 
> > > 
> > > Anthony Liguori 
> > > > Clients on the source machine would communicate with
that daemon and 
> > > > transfer the state. The clients would have to be triggered
by XenD 
> > > > after a partition is not scheduled anymore and be given
the IP  
> > address 
> > > > of the target machine. Afterwards there needs to be
some 
> > > > synchronization on resuming the scheduling on the target
machine  
> > after 
> > > > all state has been deserialized. 
> > > >   The plugable deamon itself would handle the
communication  
> > sockets, a 
> > > > low-level protocol which the plugins and clients would
use, have 
> > > > support for timing and protocol time-outs and provide
threading. The 
> > > > plugins would have to do the rest of what's necessary
to communicate 
> > > > with the infrastructure and the higher-level protocol
shared with the 
> > > > clients. 
> > > >   Comments? 
> > > > 
> > > >   Stefan 
> > > >  
> > ------------------------------------------------------------------------ 
> > > > 
> > > > _______________________________________________ 
> > > > Xen-devel mailing list 
> > > > Xen-devel@xxxxxxxxxxxxxxxxxxx 
> > > > http://lists.xensource.com/xen-devel 
> > > >   
> > > 
>  
>  
> _______________________________________________ 
> Xen-devel mailing list 
> Xen-devel@xxxxxxxxxxxxxxxxxxx 
> http://lists.xensource.com/xen-devel 
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
 
 |   
 
 | 
    | 
  
  
    |   | 
    |