From: Orit Wasserman <owasserm@redhat.com>
To: Eric Blake <eblake@redhat.com>
Cc: aliguori@us.ibm.com, quintela@redhat.com, stefanha@gmail.com,
mdroth@linux.vnet.ibm.com, qemu-devel@nongnu.org,
blauwirbel@gmail.com, avi@redhat.com, pbonzini@redhat.com
Subject: Re: [Qemu-devel] [PATCH v10 3/9] Add XBZRLE documentation
Date: Wed, 16 May 2012 19:53:42 +0300 [thread overview]
Message-ID: <4FB3DB96.3000500@redhat.com> (raw)
In-Reply-To: <4FB3D5B9.8000604@redhat.com>
On 05/16/2012 07:28 PM, Eric Blake wrote:
> On 05/16/2012 05:59 AM, Orit Wasserman wrote:
>> Signed-off-by: Orit Wasserman <owasserm@redhat.com>
>> ---
>> docs/xbzrle.txt | 97 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
>> 1 files changed, 97 insertions(+), 0 deletions(-)
>> create mode 100644 docs/xbzrle.txt
>>
>> diff --git a/docs/xbzrle.txt b/docs/xbzrle.txt
>> new file mode 100644
>> index 0000000..aafdb84
>> --- /dev/null
>> +++ b/docs/xbzrle.txt
>> @@ -0,0 +1,97 @@
>> +XBZRLE (Xor Based Zero Run Length Encoding)
>> +===========================================
>> +
>> +Using XBZRLE (Xor Based Zero Run Length Encoding) allows for the reduction of VM downtime
>> +and the total live-migration time of Virtual machines. It is particularly useful for virtual machines running memory write intensive workloads that are typical of large enterprise applications such as SAP ERP Systems, and generally
>
> Any reason you aren't wrapping at column 80?
I will fix it.
>
>> +speaking for any application that uses a sparse memory update pattern.
>> +
>> +Instead of sending the changed guest memory page this solution will send a compressed version of the updates, thus reducing the amount of data sent during live migration.
>> +In order to be able to calculate the update, the previous memory pages needed to be stored. Those pages are stored in a dedicated cache (hash table) and are accessed by their address.
>> +The larger the cache size the better the chances are that the page has already been stored in the cache. A Small cache size will result in high cache miss rate.
>
> s/Small/small/
>
>> +Usage
>> +======
>> +
>> +1. Activate xbzrle
>> +2. Set the XBZRLE cache size - the cache size is in MBytes and should be a power of 2. The cache default value is 64MBytes.
>> +3. start outgoing migration
>> +
>> +A typical usage scenario:
>> + {qemu} migrate_set_parameter xbzrle
>> + {qemu} migrate_set_cachesize 256m
>> + {qemu} migrate -d tcp:destination.host:4444
>> + {qemu} info migrate
>> + ...
>> + transferred ram-duplicate: A kbytes
>> + transferred ram-normal: B kbytes
>> + transferred ram-xbrle: C kbytes
>> + overflow ram-xbrle: D pages
>> + cache-miss ram-xbrle: E pages
>> +
>> +cache-miss: the number of cache misses to date - high cache-miss rate
>> +indicates that the cache size is set too low.
>> +overflow: the number of overflows in the decoding which where the delta could not be compressed. This can happen if the changes in the pages are too large
>> +or there are many short changes for example change every second byte (half a page).
>
> Can cachesize be modified during an in-progress migration? Do both
> source and destination need to agree on cache size?
Yes, you can resize the cache during ongoing migration.
Only the source QEMU uses the cache.
Orit
>
next prev parent reply other threads:[~2012-05-16 18:09 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-05-16 11:59 [Qemu-devel] [PATCH v10 0/9] XBZRLE delta for live migration of large memory app Orit Wasserman
2012-05-16 11:59 ` [Qemu-devel] [PATCH v10 1/9] From: Isaku Yamahata <yamahata@valinux.co.jp> Orit Wasserman
2012-05-16 12:43 ` Peter Maydell
2012-05-16 16:50 ` [Qemu-devel] [PATCH v10 1/9] Add MigrationParams structure Orit Wasserman
2012-05-16 11:59 ` [Qemu-devel] [PATCH v10 2/9] Add migration capabilites Orit Wasserman
2012-05-16 11:59 ` [Qemu-devel] [PATCH v10 3/9] Add XBZRLE documentation Orit Wasserman
2012-05-16 16:28 ` Eric Blake
2012-05-16 16:53 ` Orit Wasserman [this message]
2012-05-16 11:59 ` [Qemu-devel] [PATCH v10 4/9] Add cache handling functions Orit Wasserman
2012-05-16 11:59 ` [Qemu-devel] [PATCH v10 5/9] Add uleb encoding/decoding functions Orit Wasserman
2012-05-16 11:59 ` [Qemu-devel] [PATCH v10 6/9] Add save_block_hdr function Orit Wasserman
2012-05-16 11:59 ` [Qemu-devel] [PATCH v10 7/9] Add XBZRLE to ram_save_block and ram_save_live Orit Wasserman
2012-05-16 11:59 ` [Qemu-devel] [PATCH v10 8/9] Add set_cachesize command Orit Wasserman
2012-05-16 16:45 ` Eric Blake
2012-05-16 17:04 ` Orit Wasserman
2012-05-16 17:58 ` Eric Blake
2012-05-17 9:46 ` Avi Kivity
2012-05-17 12:25 ` Orit Wasserman
2012-05-16 11:59 ` [Qemu-devel] [PATCH v10 9/9] Add XBZRLE statistics Orit Wasserman
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=4FB3DB96.3000500@redhat.com \
--to=owasserm@redhat.com \
--cc=aliguori@us.ibm.com \
--cc=avi@redhat.com \
--cc=blauwirbel@gmail.com \
--cc=eblake@redhat.com \
--cc=mdroth@linux.vnet.ibm.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
--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).