From: Anthony Liguori <anthony@codemonkey.ws>
To: Yaniv Kaul <ykaul@redhat.com>
Cc: dlaor@redhat.com, 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 16:42:33 -0500 [thread overview]
Message-ID: <4E405849.4060800@codemonkey.ws> (raw)
In-Reply-To: <4E3FAF12.5050504@redhat.com>
On 08/08/2011 04:40 AM, Yaniv Kaul wrote:
> On 08/08/2011 12:20, Dor Laor wrote:
>> On 08/08/2011 06:24 AM, Isaku Yamahata wrote:
>>> Design/Implementation
>>> =====================
>>> The basic idea of postcopy livemigration is to use a sort of distributed
>>> shared memory between the migration source and destination.
>>>
>>> The migration procedure looks like
>>> - start migration
>>> stop the guest VM on the source and send the machine states except
>>> guest RAM to the destination
>>> - resume the guest VM on the destination without guest RAM contents
>>> - Hook guest access to pages, and pull page contents from the source
>>> This continues until all the pages are pulled to the destination
>>>
>>> The big picture is depicted at
>>> http://wiki.qemu.org/File:Postcopy-livemigration.png
>>
>> 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.
>> - Efficient, reduce needed traffic no need to re-send pages.
>> - Reduce overall RAM consumption of the source and destination
>> as opposed from current live migration (both the source and the
>> destination allocate the memory until the live migration
>> completes). We can free copied memory once the destination guest
>> received it and save RAM.
>> - Increase parallelism for SMP guests we can have multiple
>> virtual CPU handle their demand paging . Less time to hold a
>> global lock, less thread contention.
>> - Virtual machines are using more and more memory resources ,
>> for a virtual machine with very large working set doing live
>> migration with reasonable down time is impossible today.
>>
>> Disadvantageous:
>> - During the live migration the guest will run slower than in
>> today's live migration. We need to remember that even today
>> guests suffer from performance penalty on the source during the
>> COW stage (memory copy).
>> - Failure of the source or destination or the network will cause
>> us to lose the running virtual machine. Those failures are very
>> rare.
>
> I highly doubt that's acceptable in enterprise deployments.
I don't think you can make blanket statements about enterprise deployments.
A lot of enterprises are increasingly building fault tolerance into
their applications expecting that the underlying hardware will fail.
With cloud environments like EC2 that experience failure on a pretty
regular basis, this is just becoming all the more common.
So I really don't view this as a critical issue. It certainly would be
if it were the only mechanism available but as long as we can also
support pre-copy migration it would be fine.
Regards,
Anthony Liguori
WARNING: multiple messages have this Message-ID (diff)
From: Anthony Liguori <anthony@codemonkey.ws>
To: Yaniv Kaul <ykaul@redhat.com>
Cc: kvm@vger.kernel.org, satoshi.itoh@aist.go.jp,
t.hirofuchi@aist.go.jp, dlaor@redhat.com, qemu-devel@nongnu.org,
Orit Wasserman <owasserm@redhat.com>, Avi Kivity <avi@redhat.com>,
Isaku Yamahata <yamahata@valinux.co.jp>
Subject: Re: [Qemu-devel] [RFC] postcopy livemigration proposal
Date: Mon, 08 Aug 2011 16:42:33 -0500 [thread overview]
Message-ID: <4E405849.4060800@codemonkey.ws> (raw)
In-Reply-To: <4E3FAF12.5050504@redhat.com>
On 08/08/2011 04:40 AM, Yaniv Kaul wrote:
> On 08/08/2011 12:20, Dor Laor wrote:
>> On 08/08/2011 06:24 AM, Isaku Yamahata wrote:
>>> Design/Implementation
>>> =====================
>>> The basic idea of postcopy livemigration is to use a sort of distributed
>>> shared memory between the migration source and destination.
>>>
>>> The migration procedure looks like
>>> - start migration
>>> stop the guest VM on the source and send the machine states except
>>> guest RAM to the destination
>>> - resume the guest VM on the destination without guest RAM contents
>>> - Hook guest access to pages, and pull page contents from the source
>>> This continues until all the pages are pulled to the destination
>>>
>>> The big picture is depicted at
>>> http://wiki.qemu.org/File:Postcopy-livemigration.png
>>
>> 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.
>> - Efficient, reduce needed traffic no need to re-send pages.
>> - Reduce overall RAM consumption of the source and destination
>> as opposed from current live migration (both the source and the
>> destination allocate the memory until the live migration
>> completes). We can free copied memory once the destination guest
>> received it and save RAM.
>> - Increase parallelism for SMP guests we can have multiple
>> virtual CPU handle their demand paging . Less time to hold a
>> global lock, less thread contention.
>> - Virtual machines are using more and more memory resources ,
>> for a virtual machine with very large working set doing live
>> migration with reasonable down time is impossible today.
>>
>> Disadvantageous:
>> - During the live migration the guest will run slower than in
>> today's live migration. We need to remember that even today
>> guests suffer from performance penalty on the source during the
>> COW stage (memory copy).
>> - Failure of the source or destination or the network will cause
>> us to lose the running virtual machine. Those failures are very
>> rare.
>
> I highly doubt that's acceptable in enterprise deployments.
I don't think you can make blanket statements about enterprise deployments.
A lot of enterprises are increasingly building fault tolerance into
their applications expecting that the underlying hardware will fail.
With cloud environments like EC2 that experience failure on a pretty
regular basis, this is just becoming all the more common.
So I really don't view this as a critical issue. It certainly would be
if it were the only mechanism available but as long as we can also
support pre-copy migration it would be fine.
Regards,
Anthony Liguori
next prev parent reply other threads:[~2011-08-08 21:42 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-08 3:24 [RFC] postcopy livemigration proposal Isaku Yamahata
2011-08-08 3:24 ` [Qemu-devel] " Isaku Yamahata
2011-08-08 9:20 ` Dor Laor
2011-08-08 9:20 ` [Qemu-devel] " Dor Laor
2011-08-08 9:40 ` Yaniv Kaul
2011-08-08 9:40 ` [Qemu-devel] " Yaniv Kaul
2011-08-08 21:42 ` Anthony Liguori [this message]
2011-08-08 21:42 ` Anthony Liguori
2011-08-08 10:59 ` Nadav Har'El
2011-08-08 10:59 ` [Qemu-devel] " Nadav Har'El
2011-08-08 11:47 ` Dor Laor
2011-08-08 11:47 ` [Qemu-devel] " 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 12:32 ` [Qemu-devel] " Anthony Liguori
2011-08-08 15:11 ` Dor Laor
2011-08-08 15:11 ` Dor Laor
2011-08-08 15:29 ` Anthony Liguori
2011-08-08 15:29 ` Anthony Liguori
2011-08-08 15:36 ` Avi Kivity
2011-08-08 15:36 ` [Qemu-devel] " Avi Kivity
2011-08-08 15:59 ` Anthony Liguori
2011-08-08 15:59 ` Anthony Liguori
2011-08-08 19:47 ` Dor Laor
2011-08-08 19:47 ` [Qemu-devel] " Dor Laor
2011-08-09 2:07 ` Isaku Yamahata
2011-08-09 2:07 ` Isaku Yamahata
2011-08-08 9:38 ` Stefan Hajnoczi
2011-08-08 9:38 ` Stefan Hajnoczi
2011-08-08 9:43 ` Isaku Yamahata
2011-08-08 9:43 ` Isaku Yamahata
2011-08-08 12:38 ` Avi Kivity
2011-08-08 12:38 ` [Qemu-devel] " Avi Kivity
2011-08-09 2:33 ` Isaku Yamahata
2011-08-09 2:33 ` [Qemu-devel] " Isaku Yamahata
2011-08-10 13:55 ` Avi Kivity
2011-08-10 13:55 ` [Qemu-devel] " Avi Kivity
2011-08-11 2:19 ` Isaku Yamahata
2011-08-11 2:19 ` [Qemu-devel] " Isaku Yamahata
2011-08-11 16:55 ` Andrea Arcangeli
2011-08-11 16:55 ` [Qemu-devel] " Andrea Arcangeli
2011-08-12 11:07 ` [PATCH][RFC] post copy chardevice (was Re: [RFC] postcopy livemigration proposal) Isaku Yamahata
2011-08-12 11:07 ` [Qemu-devel] " Isaku Yamahata
2011-08-12 11:09 ` Isaku Yamahata
2011-08-12 11:09 ` [Qemu-devel] " Isaku Yamahata
2011-08-12 21:26 ` Blue Swirl
2011-08-12 21:26 ` Blue Swirl
2011-08-15 19:29 ` Avi Kivity
2011-08-15 19:29 ` [Qemu-devel] " Avi Kivity
2011-08-16 1:42 ` Isaku Yamahata
2011-08-16 1:42 ` [Qemu-devel] " Isaku Yamahata
2011-08-16 13:40 ` Avi Kivity
2011-08-16 13:40 ` [Qemu-devel] " 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=4E405849.4060800@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 \
--cc=ykaul@redhat.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.