[Top][All Lists]
[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