[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[RFC PATCH 0/6] migration: Multi-thread compression with zstd method
From: |
Zeyu Jin |
Subject: |
[RFC PATCH 0/6] migration: Multi-thread compression with zstd method |
Date: |
Mon, 9 Nov 2020 17:08:44 +0800 |
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(-)
--
2.23.0
- [RFC PATCH 0/6] migration: Multi-thread compression with zstd method,
Zeyu Jin <=
- [RFC PATCH 4/6] migration: Add zstd support in multi-thread compression, Zeyu Jin, 2020/11/09
- [RFC PATCH 1/6] migration: Add multi-thread compress method, Zeyu Jin, 2020/11/09
- [RFC PATCH 5/6] migration: Add compress_level sanity check, Zeyu Jin, 2020/11/09
- [RFC PATCH 6/6] doc: Update multi-thread compression doc, Zeyu Jin, 2020/11/09
- [RFC PATCH 2/6] migration: Refactoring multi-thread compress migration, Zeyu Jin, 2020/11/09
- [RFC PATCH 3/6] migration: Add multi-thread compress ops, Zeyu Jin, 2020/11/09
- Re: [RFC PATCH 0/6] migration: Multi-thread compression with zstd method, Zeyu Jin, 2020/11/15