qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
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

>

  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 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).