qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v3 0/3] qcow2: add zstd cluster compression


From: Denis Plotnikov
Subject: Re: [Qemu-devel] [PATCH v3 0/3] qcow2: add zstd cluster compression
Date: Mon, 26 Aug 2019 08:57:28 +0000

Ping!

On 19.08.2019 18:00, Denis Plotnikov wrote:
> v3:
> * relax the compression type setting requirement when
>    the compression type is not zlib [Eric, Kevin]
> * add compression type values to the spec [Eric]
> * fix wording in the spec and descriptions [Eric]
> * fix functions descriptions [Max]
> * fix zstd (de)compression functions flaws [Max]
> * fix zstd related parts of configure file [Max]
> * rebased to v4.1.0-rc5 and chenged the series version aiming to 4.2
> 
> v2:
> * relax the compression type setting restriction in the spec
> * fix qcow2 header size checking
> * fix error processing and messaging
> * fix qcow2 image specific info reporting
> * set Qcow2CompressionType zstd config dependant
> * add zstd compressed cluster format description to the spec
> 
> v1:
> * extend qcow2 header instead of adding a new incompatible extension header
> specification re-written accordingly
> * enable zstd compression via config
> * fix zstd (de)compression functions
> * fix comments/description
> * fix function naming
> 
> ---
> The goal of the patch-set is to enable qcow2 to use zstd compression for
> clusters. ZSTD provides better (de)compression performance than currently
> used ZLIB. Using it will improve perforamnce (reduce compression time)
> when the compressed clusters is used, e.g backup scenarios.
> 
> Also, the patch-set extends qcow2 specification by adding compression_type
> feature. The feature enables adding ZSTD and another compression algorithms
> in the future.
> 
> Here is some measurements ZSTD vs ZLIB:
> 
> The test:
> Test compresses and decompresses qemu qcow2 image with just
> installed rhel-7.6 guest.
> Image cluster size: 64K. Image on disk size: 2.2G
> 
> The test was conducted with brd disk to reduce the influence
> of disk subsystem to the test results.
> The results is given in seconds.
> 
> compress cmd:
> time ./qemu-img convert -O qcow2 -c -o compression_type=[zlib|zstd]
> src.img [zlib|zstd]_compressed.img
> decompress cmd
> time ./qemu-img convert -O qcow2
> [zlib|zstd]_compressed.img uncompressed.img
> 
> 
> The results:
> compression decompression
> zlib zstd zlib zstd
> ------------------------------------------------------------
> real 65.5 16.3 (-75 %) 1.9 1.6 (-16 %)
> user 65.0 15.8 5.3 2.5
> sys 3.3 0.2 2.0 2.0
> 
> Both ZLIB and ZSTD gave the same compression ratio: ~1.5
> compressed image size in both cases: ~1.4G
> 
> Denis Plotnikov (3):
>    qcow2: introduce compression type feature
>    qcow2: rework the cluster compression routine
>    qcow2: add zstd cluster compression
> 
>   block/qcow2-threads.c     | 172 ++++++++++++++++++++++++++++++++++----
>   block/qcow2.c             | 100 ++++++++++++++++++++++
>   block/qcow2.h             |  26 ++++--
>   configure                 |  34 ++++++++
>   docs/interop/qcow2.txt    |  39 ++++++++-
>   include/block/block_int.h |   1 +
>   qapi/block-core.json      |  23 ++++-
>   7 files changed, 371 insertions(+), 24 deletions(-)
> 

-- 
Best,
Denis

reply via email to

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