Message ID | 20201109090850.2424-1-jinzeyu@huawei.com (mailing list archive) |
---|---|
Headers | show |
Series | migration: Multi-thread compression with zstd method | expand |
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