qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Chuan Zheng <zhengchuan@huawei.com>
To: <quintela@redhat.com>, <eblake@redhat.com>, <dgilbert@redhat.com>,
	<berrange@redhat.com>
Cc: zhengchuan@huawei.com, zhang.zhanghailiang@huawei.com,
	yuxiating@huawei.com, qemu-devel@nongnu.org,
	xiexiangyou@huawei.com, alex.chen@huawei.com,
	jinyan12@huawei.com
Subject: [RFC][PATCH v1 0/7] *** Add Multifd support for TLS migration ***
Date: Wed, 9 Sep 2020 22:52:50 +0800	[thread overview]
Message-ID: <1599663177-53993-1-git-send-email-zhengchuan@huawei.com> (raw)

TLS migration could easily reach bottleneck of cpu because of encryption
and decryption in migration thread.
In our test, the tls migration could only reach 300MB/s under bandwidth
of 500MB/s.

Inspired by multifd, we add multifd support for tls migration to make fully
use of given net bandwidth at the cost of multi-cpus and could reduce
at most of 100% migration time with 4U16G test vm.

Evaluate migration time of migration vm.
The VM specifications for migration are as follows:
- VM use 4-K page;
- the number of VCPU is 4;
- the total memory is 16Gigabit;
- use 'mempress' tool to pressurize VM(mempress 4096 100);
- migration flag is 73755 (8219 + 65536 (TLS)) vs 204827 (8219 + 65536 (TLS) + 131072(Multifd))

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|                      |         TLS           |      MultiFD + TLS (2 channel)    |
--------------------------------------------------------t---------------------------
| mempress 1024 120    |       25.035s         |           15.067s                 |
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
| mempress 1024 200    |       48.798s         |           25.334s                 |
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
| mempress 1024 300    |   Migration Failed    |           25.617s                 |
------------------------------------------------------------------------------------

Chuan Zheng (7):
  migration/tls: save hostname into MigrationState
  migration/tls: extract migration_tls_client_create for common-use
  migration/tls: add MigrationState into MultiFDSendParams
  migration/tls: extract cleanup function for common-use
  migration/tls: add support for tls check
  migration/tls: add support for multifd tls-handshake
  migration/tls: add trace points for multifd-tls

 migration/channel.c    |   5 ++
 migration/migration.c  |   1 +
 migration/migration.h  |   5 ++
 migration/multifd.c    | 121 +++++++++++++++++++++++++++++++++++++++++++------
 migration/multifd.h    |   2 +
 migration/tls.c        |  26 +++++++----
 migration/tls.h        |   6 +++
 migration/trace-events |   5 ++
 8 files changed, 149 insertions(+), 22 deletions(-)

-- 
1.8.3.1



             reply	other threads:[~2020-09-09 14:43 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-09 14:52 Chuan Zheng [this message]
2020-09-09 14:52 ` [PATCH v1 1/7] migration/tls: save hostname into MigrationState Chuan Zheng
2020-09-10 13:11   ` Daniel P. Berrangé
2020-09-10 13:55     ` Zheng Chuan
2020-09-09 14:52 ` [PATCH v1 2/7] migration/tls: extract migration_tls_client_create for common-use Chuan Zheng
2020-09-10 13:16   ` Daniel P. Berrangé
2020-09-10 13:55     ` Zheng Chuan
2020-09-09 14:52 ` [PATCH v1 3/7] migration/tls: add MigrationState into MultiFDSendParams Chuan Zheng
2020-09-10 13:38   ` Daniel P. Berrangé
2020-09-09 14:52 ` [PATCH v1 4/7] migration/tls: extract cleanup function for common-use Chuan Zheng
2020-09-10 13:18   ` Daniel P. Berrangé
2020-09-09 14:52 ` [PATCH v1 5/7] migration/tls: add support for tls check Chuan Zheng
2020-09-10 13:36   ` Daniel P. Berrangé
2020-09-09 14:52 ` [PATCH v1 6/7] migration/tls: add support for multifd tls-handshake Chuan Zheng
2020-09-10 13:25   ` Daniel P. Berrangé
2020-09-10 13:56     ` Zheng Chuan
2020-09-09 14:52 ` [PATCH v1 7/7] migration/tls: add trace points for multifd-tls Chuan Zheng
2020-09-10 13:37   ` Daniel P. Berrangé
2020-09-10 13:57     ` Zheng Chuan

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=1599663177-53993-1-git-send-email-zhengchuan@huawei.com \
    --to=zhengchuan@huawei.com \
    --cc=alex.chen@huawei.com \
    --cc=berrange@redhat.com \
    --cc=dgilbert@redhat.com \
    --cc=eblake@redhat.com \
    --cc=jinyan12@huawei.com \
    --cc=qemu-devel@nongnu.org \
    --cc=quintela@redhat.com \
    --cc=xiexiangyou@huawei.com \
    --cc=yuxiating@huawei.com \
    --cc=zhang.zhanghailiang@huawei.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).