From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:42238) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QrBBM-0007ru-W4 for qemu-devel@nongnu.org; Wed, 10 Aug 2011 11:59:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QrBBI-0007wn-Dr for qemu-devel@nongnu.org; Wed, 10 Aug 2011 11:59:00 -0400 Received: from mail-gx0-f173.google.com ([209.85.161.173]:52222) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QrBBI-0007wP-Am for qemu-devel@nongnu.org; Wed, 10 Aug 2011 11:58:56 -0400 Received: by gxk26 with SMTP id 26so915932gxk.4 for ; Wed, 10 Aug 2011 08:58:54 -0700 (PDT) Message-ID: <4E42AABB.3020306@codemonkey.ws> Date: Wed, 10 Aug 2011 10:58:51 -0500 From: Anthony Liguori MIME-Version: 1.0 References: <4E3FF6AE.8030004@redhat.com> <4E3FF705.9080009@redhat.com> <4E3FFC7A.3090000@codemonkey.ws> <4E3FFD76.4010804@redhat.com> <4E400C78.1020104@codemonkey.ws> <4E40147E.2080403@redhat.com> <4E401504.7080309@codemonkey.ws> <4E429FE6.4060408@redhat.com> In-Reply-To: <4E429FE6.4060408@redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v4] XBZRLE delta for live migration of large memory apps List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Avi Kivity Cc: Blue Swirl , Stefan Hajnoczi , "Shribman, Aidan" , qemu-devel Developers 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 >