From: Anthony Liguori <anthony@codemonkey.ws>
To: Avi Kivity <avi@redhat.com>
Cc: Blue Swirl <blauwirbel@gmail.com>,
Stefan Hajnoczi <stefanha@gmail.com>,
"Shribman, Aidan" <aidan.shribman@sap.com>,
qemu-devel Developers <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] [PATCH v4] XBZRLE delta for live migration of large memory apps
Date: Wed, 10 Aug 2011 10:58:51 -0500 [thread overview]
Message-ID: <4E42AABB.3020306@codemonkey.ws> (raw)
In-Reply-To: <4E429FE6.4060408@redhat.com>
On 08/10/2011 10:12 AM, Avi Kivity wrote:
> On 08/10/2011 06:07 PM, Shribman, Aidan wrote:
>> XBZRLE will very rarely (if at all) degrade live-migration as it runs
>> at ~2 GB/s or 16 Gbps. Additionally XBZRLE could get even faster by
>> using 128bit registers instead of the 64bit registers used currently.
>> IMO XBZRLE could safely be used by default exposing capabilities by
>> Qemu such that higher level management would handle static negotiation
>> (as suggested).
>>
>> Given that XBZRLE will seldom fail due to inflated encoded output (an
>> example for such a case -> dirty the new page every 2nd 64bit word:
>> the word-wise Xor would give 0x0y0z... ZRLE would future encode as
>> 01x01y01z... a +50% increase), I see little incentive in automatic
>> XBZRLE disablement.
>
> My concern is not reduced migration bandwidth or inflated image size,
> but increased cpu use for copying pages to the cache and xoring them.
>
>> As to implementing XBZRLE delta compression as a compression plug-in -
>> this is not that straight forward as it has some interesting interplay
>> with DUP packat's which are crucial for performance, specifically a
>> page consisting of only zero's is LRU cached as reference without the
>> standard qemu_malloc()/memcpy() done in other cases. This is
>> especially important for eliminating slowdown during live-migration
>> initiation.
>
> I agree, it should be on-by-default and in the main code base. Please
> provide numbers to justify this on non-artificial workloads, and on
> artificial worst-case workloads.
>
>> As to waiting for ASN.1 capability - I can see this will make parsing
>> of live-migration messages much more reliable (ensuring that Qemu is
>> able to detect an incorrect protocol version) but I can't say I am
>> very happy waiting for 1.0 - are there any alternatives?
>>
>
> I don't think we should couple the two features together.
ASN.1 is orthogonal to capabilities.
Capabilities are a hard requirement before merging any new type of
compression algorithm IMO.
Regards,
Anthony Liguori
>
next prev parent reply other threads:[~2011-08-10 15:59 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-08 8:42 [Qemu-devel] [PATCH v4] XBZRLE delta for live migration of large memory apps Shribman, Aidan
2011-08-08 13:29 ` Anthony Liguori
2011-08-08 13:41 ` Alexander Graf
2011-08-08 13:46 ` Anthony Liguori
2011-08-08 13:49 ` Avi Kivity
2011-08-08 13:51 ` Avi Kivity
2011-08-08 14:15 ` Anthony Liguori
2011-08-08 14:23 ` Avi Kivity
2011-08-08 14:33 ` Anthony Liguori
2011-08-08 14:39 ` Avi Kivity
2011-08-08 15:08 ` Anthony Liguori
2011-08-08 14:04 ` [Qemu-devel] [libvirt] " Daniel P. Berrange
2011-08-08 14:42 ` Avi Kivity
2011-08-08 14:46 ` [Qemu-devel] " Avi Kivity
2011-08-08 14:47 ` Avi Kivity
2011-08-08 14:56 ` Stefan Hajnoczi
2011-08-08 15:01 ` Avi Kivity
2011-08-08 15:10 ` Anthony Liguori
2011-08-08 15:15 ` Avi Kivity
2011-08-08 16:19 ` Anthony Liguori
2011-08-08 16:53 ` Avi Kivity
2011-08-08 16:55 ` Anthony Liguori
2011-08-10 15:07 ` Shribman, Aidan
2011-08-10 15:12 ` Avi Kivity
2011-08-10 15:58 ` Anthony Liguori [this message]
2011-08-10 16:08 ` Avi Kivity
2011-08-10 16:23 ` Anthony Liguori
2011-08-10 16:40 ` Avi Kivity
2011-08-10 19:27 ` Anthony Liguori
2011-08-11 8:03 ` Shribman, Aidan
2011-08-11 13:00 ` Anthony Liguori
2011-08-11 8:17 ` Avi Kivity
2011-08-11 9:16 ` [Qemu-devel] [libvirt] " Daniel P. Berrange
2011-08-11 9:20 ` Avi Kivity
2011-08-11 13:03 ` [Qemu-devel] " Anthony Liguori
2011-08-11 9:24 ` [Qemu-devel] [libvirt] " Daniel P. Berrange
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=4E42AABB.3020306@codemonkey.ws \
--to=anthony@codemonkey.ws \
--cc=aidan.shribman@sap.com \
--cc=avi@redhat.com \
--cc=blauwirbel@gmail.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@gmail.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.