qemu-devel
[Top][All Lists]
Advanced

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

Re: [RFC PATCH 0/6] migration: Multi-thread compression with zstd method


From: Zeyu Jin
Subject: Re: [RFC PATCH 0/6] migration: Multi-thread compression with zstd method
Date: Mon, 16 Nov 2020 09:11:20 +0800
User-agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0

On 2020/11/9 17:08, Zeyu Jin wrote:
> Currently we have both multi-thread compression and multifd to optimize
> live migration in Qemu. Mulit-thread compression deals with the situation
> where network bandwith is limited but cpu resource adequate. Multifd instead
> aims to take full advantage of network bandwith. Moreover it supports both
> zlib and zstd compression on each channel.
> 
> In this patch series, we did some code refactoring on multi-thread compression
> live migration and bring zstd compression method support for it.
> 
> Below is the test result of multi-thread compression live migration
> with different compress methods. Test result shows that zstd outperforms
> zlib by about 70%.
> 
>  Migration Configuration:
>  Guest 8U 32G
>  compress-threads   8
>  decompress-threads 2
>  compress-level 1
>  bandwidth-limit 100Mbps
> 
>  Test Result:
>  +---------------------+--------------+-------------+
>  |  compress method    |   zlib       |    zstd     |
>  +---------------------+--------------+-------------+
>  |  total time (ms)    |   75256      |    44187    |
>  +---------------------+--------------+-------------+
>  |  downtime(ms)       |   128        |    81       |
>  +---------------------+--------------+-------------+
>  |  transferred ram(kB)|   1576866    |    736117   |
>  +---------------------+--------------+-------------+
>  |  throughput(mbps)   |   172.06     |    137.16   |
>  +---------------------+--------------+-------------+
>  |  total ram(kB)      |   33685952   |    33685952 |
>  +---------------------+--------------+-------------+
> 
> Zeyu Jin (6):
>   migration: Add multi-thread compress method
>   migration: Refactoring multi-thread compress migration
>   migration: Add multi-thread compress ops
>   migration: Add zstd support in multi-thread compression
>   migration: Add compress_level sanity check
>   doc: Update multi-thread compression doc
> 
>  docs/multi-thread-compression.txt |  31 ++-
>  hw/core/qdev-properties-system.c  |  11 +
>  include/hw/qdev-properties.h      |   4 +
>  migration/migration.c             |  56 ++++-
>  migration/migration.h             |   1 +
>  migration/qemu-file.c             |  62 +----
>  migration/qemu-file.h             |   4 +-
>  migration/ram.c                   | 381 +++++++++++++++++++++++++-----
>  monitor/hmp-cmds.c                |  12 +
>  qapi/migration.json               |  26 +-
>  10 files changed, 465 insertions(+), 123 deletions(-)
> 

Ping



reply via email to

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