qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2] XBRLE page delta compression for live migrat


From: Stefan Hajnoczi
Subject: Re: [Qemu-devel] [PATCH v2] XBRLE page delta compression for live migration of large memory apps
Date: Tue, 2 Aug 2011 19:17:44 +0100
User-agent: Mutt/1.5.21 (2010-09-15)

On Tue, Aug 02, 2011 at 03:45:51PM +0200, Shribman, Aidan wrote:
> > From: Stefan Hajnoczi [mailto:address@hidden 
> > Sent: Thursday, July 07, 2011 11:23 AM
> > To: Shribman, Aidan
> > Cc: address@hidden; Anthony Liguori
> > Subject: Re: [PATCH v2] XBRLE page delta compression for live 
> > migration of large memory apps
> >  
> > Any thoughts on reducing the overhead and making xbrle on by default?
> 
> XBRLE was replaced by XBZRLE which now runs word-wise and only attempts RLE 
> on zero sequences. In comparison to word-wise XBRLE it gives a more compact 
> encoding roughly 30% smaller in size. When compared to XOR+LZO or XOR+Snappy 
> encoding size is roughly 30% larger but XBZRLE is 2x-5x faster making it 
> ideal for fast in-line encoding such as required for live-migration. XBZRLE 
> demonstrated sustained speeds of about 1.6-2.2 GB/s per single core on a 
> 64bit Linux 2.6.35 kernel.
> 
> For now I would not switch XBZRLE on by default as it effects the network 
> serialization format and would make the patched Qemu in-operable by default 
> with older Qemu versions.
> 
> Full benchmark results are brought for several scenarios, defined according 
> to step in bytes between each two changed memoy areas  (e.g. 1111 for the 
> sparse scenario) and the length in bytes of each changed area (e.g. 12 for 
> the SPARSE scenario) 
> 
> ==========================================================
> Scenario SPARSE with diff segment of step 1111 len 12
> ==========================================================
> xblzo: ENC{2.06s  997 MB/s 2.82%} DEC{1.40s 1462 MB/s 100.00%} .. ok
> xbsnappy: ENC{1.82s 1122 MB/s 6.14%} DEC{1.67s 1225 MB/s 100.00%} .. ok
> xbrle: ENC{9.28s  221 MB/s 3.08%} DEC{3.25s  630 MB/s 100.00%} .. ok
> xbzrle: ENC{0.96s 2142 MB/s 3.55%} DEC{0.73s 2817 MB/s 100.00%} .. ok
> 
> ==========================================================
> Scenario MEDIUM with diff segment of step 701 len 33
> ==========================================================
> xblzo: ENC{2.50s  820 MB/s 6.34%} DEC{1.37s 1492 MB/s 100.00%} .. ok
> xbsnappy: ENC{2.25s  912 MB/s 9.27%} DEC{1.72s 1189 MB/s 100.00%} .. ok
> xbrle: ENC{9.35s  219 MB/s 10.31%} DEC{3.36s  610 MB/s 100.00%} .. ok
> xbzrle: ENC{1.03s 1994 MB/s 8.37%} DEC{0.73s 2809 MB/s 100.00%} .. ok
> 
> ==========================================================
> Scenario DENSE with diff segment of step 203 len 41
> ==========================================================
> xblzo: ENC{4.08s  502 MB/s 21.37%} DEC{1.83s 1116 MB/s 100.00%} .. ok
> xbsnappy: ENC{4.80s  426 MB/s 22.80%} DEC{2.15s  953 MB/s 100.00%} .. ok
> xbrle: ENC{9.65s  212 MB/s 41.44%} DEC{3.70s  553 MB/s 100.00%} .. ok
> xbzrle: ENC{1.23s 1666 MB/s 31.92%} DEC{0.84s 2441 MB/s 100.00%} .. ok
> 
> ==========================================================
> Scenario VERY-DENSE with diff segment of step 121 len 43
> ==========================================================
> xblzo: ENC{5.59s  366 MB/s 32.29%} DEC{2.36s  866 MB/s 100.00%} .. ok
> xbsnappy: ENC{6.74s  304 MB/s 33.46%} DEC{2.69s  762 MB/s 100.00%} .. ok
> xbrle: ENC{9.84s  208 MB/s 72.78%} DEC{4.22s  486 MB/s 100.00%} .. ok
> xbzrle: ENC{1.18s 1730 MB/s 54.92%} DEC{0.94s 2167 MB/s 100.00%} .. ok

xbrle -> xbzrle is a great improvement, nice!

Stefan



reply via email to

[Prev in Thread] Current Thread [Next in Thread]