qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Anthony Liguori <anthony@codemonkey.ws>
To: dlaor@redhat.com
Cc: kvm@vger.kernel.org, Orit Wasserman <owasserm@redhat.com>,
	t.hirofuchi@aist.go.jp, satoshi.itoh@aist.go.jp,
	qemu-devel@nongnu.org, Isaku Yamahata <yamahata@valinux.co.jp>,
	Avi Kivity <avi@redhat.com>
Subject: Re: [Qemu-devel] [RFC] postcopy livemigration proposal
Date: Mon, 08 Aug 2011 10:29:03 -0500	[thread overview]
Message-ID: <4E4000BF.20708@codemonkey.ws> (raw)
In-Reply-To: <4E3FFC9E.8050300@redhat.com>

On 08/08/2011 10:11 AM, Dor Laor wrote:
> On 08/08/2011 03:32 PM, Anthony Liguori wrote:
>> On 08/08/2011 04:20 AM, Dor Laor wrote:
>>>
>>> That's terrific (nice video also)!
>>> Orit and myself had the exact same idea too (now we can't patent it..).
>>>
>>> Advantages:
>>> - No down time due to memory copying.
>>
>> But non-deterministic down time due to network latency while trying to
>> satisfy a page fault.
>
> True but it is possible to limit it with some dedicated network or
> bandwidth reservation.

Yup.  Any technique that uses RDMA (which is basically what this is) 
requires dedicated network resources.

>>> - Efficient, reduce needed traffic no need to re-send pages.
>>
>> It's not quite that simple. Post-copy needs to introduce a protocol
>> capable of requesting pages.
>
> Just another subsection.. (kidding), still it shouldn't be too
> complicated, just an offset+pagesize and return page_content/error

What I meant by this is that there is potentially a lot of round trip 
overhead.  Pre-copy migration works well with reasonable high latency 
network connections because the downtime is capped only by the maximum 
latency sending from one point to another.

But with something like this, the total downtime is 
2*max_latency*nb_pagefaults.  That's potentially pretty high.

So it may be desirable to try to reduce nb_pagefaults by prefaulting in 
pages, etc.  Suffice to say, this ends up getting complicated and may 
end up burning network traffic too.

>> This is really just a limitation of our implementation. In theory,
>> pre-copy allows you to exert fine grain resource control over the guest
>> which you can use to encourage convergence.
>
> But a very large guest w/ large working set that changes more frequent
> than the network bandwidth might always need huge down time with the
> current system.

In theory, you can do things like reduce the guests' priority to reduce 
the amount of work it can do in order to encourage convergence.

>> One thing I think we need to do is put together a live migration
>> roadmap. We've got a lot of invasive efforts underway with live
>> migration and I fear that without some planning and serialization, some
>> of this useful work with get lost.
>
> Some of them are parallel. I think all the readers here agree that post
> copy migration should be an option while we need to maintain the current
> one.

I actually think they need to be done mostly in sequence while cleaning 
up some of the current infrastructure.  I don't think we really should 
make any major changes (beyond maybe the separate thread) until we 
eliminate QEMUFile.

There's so much overhead involved in using QEMUFile today, I think it's 
hard to talk about performance data when we've got a major bottleneck 
sitting in the middle.

Regards,

Anthony Liguori

  reply	other threads:[~2011-08-08 15:29 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-08  3:24 [Qemu-devel] [RFC] postcopy livemigration proposal Isaku Yamahata
2011-08-08  9:20 ` Dor Laor
2011-08-08  9:40   ` Yaniv Kaul
2011-08-08 21:42     ` Anthony Liguori
2011-08-08 10:59   ` Nadav Har'El
2011-08-08 11:47     ` Dor Laor
2011-08-08 16:52       ` Cleber Rosa
2011-08-08 15:52         ` Anthony Liguori
2011-08-08 12:32   ` Anthony Liguori
2011-08-08 15:11     ` Dor Laor
2011-08-08 15:29       ` Anthony Liguori [this message]
2011-08-08 15:36         ` Avi Kivity
2011-08-08 15:59           ` Anthony Liguori
2011-08-08 19:47             ` Dor Laor
2011-08-09  2:07               ` Isaku Yamahata
2011-08-08  9:38 ` Stefan Hajnoczi
2011-08-08  9:43   ` Isaku Yamahata
2011-08-08 12:38 ` Avi Kivity
2011-08-09  2:33   ` Isaku Yamahata
2011-08-10 13:55     ` Avi Kivity
2011-08-11  2:19       ` Isaku Yamahata
2011-08-11 16:55         ` Andrea Arcangeli
2011-08-12 11:07 ` [Qemu-devel] [PATCH][RFC] post copy chardevice (was Re: [RFC] postcopy livemigration proposal) Isaku Yamahata
2011-08-12 11:09   ` Isaku Yamahata
2011-08-12 21:26   ` Blue Swirl
2011-08-15 19:29   ` Avi Kivity
2011-08-16  1:42     ` Isaku Yamahata
2011-08-16 13:40       ` Avi Kivity

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4E4000BF.20708@codemonkey.ws \
    --to=anthony@codemonkey.ws \
    --cc=avi@redhat.com \
    --cc=dlaor@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=owasserm@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=satoshi.itoh@aist.go.jp \
    --cc=t.hirofuchi@aist.go.jp \
    --cc=yamahata@valinux.co.jp \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).