迁移速度与计算性能兼得!天翼云DirtyLimit技术大显身手

天翼云开发者社区
• 阅读 286

虚拟机技术的快速发展使系统迁移变得更加灵活且多样化,其广泛应用也促使用户对虚拟机迁移速度和性能影响提出了更高要求。天翼云弹性计算虚拟化团队创新研发DirtyLimit虚拟机迁移加速技术,能够在保证读vCPU性能几乎不下降的情况下,有效缩短虚拟机迁移时间,为用户打造更加优质的迁移体验。

虚拟机迁移加速技术背景

虚拟机迁移技术能够将虚拟机从一台物理服务器迁移到另一台物理服务器。在云计算环境中,虚拟机迁移技术可以提高云数据中心服务器的资源利用率,达到节能和负载均衡的目的。

热迁移开始前,虚机在源主机运行,迁移开始后会在目的主机创建虚机并将其状态设置为暂停,源源不断地接受源主机发送的内存数据,直到源主机剩余内存量足够小,最后暂停源主机,将剩余的内存一次性拷贝至目的主机。

一些业务程序繁忙的虚机,迁移过程会产生大量内存脏页,这类虚机迁移成功的关键在于迁移拷贝脏页的速率要大于产生脏页的速率。为满足该条件,业界提出了许多迁移加速算法,包括auto-converge,compression,multifd,xbzrle等。

虚拟机迁移加速技术路线

auto-converge

核心思想是降低脏页产生的速率。通过减少虚拟机vCPU运行时间来降低虚机脏页产生速率,使其小于迁移拷贝速率,以满足迁移收敛条件。

优点:任何虚拟化场景都适用且有效。

缺点:限制虚机脏页产生的同时,也限制了虚机CPU运行时间,虚机的计算性能在迁移过程中也随之下降。

compression

核心思想是压缩减少迁移传输的数据量。通过在拷贝数据前压缩数据量,间接增大单位时间内迁移拷贝的数量,以满足迁移收敛条件。

缺点:在计算资源充足且网络带宽有限的情况下适用,应用场景有限。

xbzrle

核心思想是压缩迁移时传输的增量数据。利用CPU cache缓存要压缩的增量数据,间接增大迁移传输速率,以满足收敛条件。

缺点:在虚机增量数据多为稀疏类型的情况下适用,应用场景有限。

multifd

核心思想是在迁移时建立多个传输通道。通过增加迁移时并发传输的数量,间接增大迁移传输速率,以满足迁移收敛条件。

缺点:在没有最大化利用迁移带宽的场景下适用,应用场景有限。

在众多迁移加速技术路线中,auto-converge由于不受场景限制且可以有效降低虚机脏页速率,成为了主流的迁移加速配置。但auto-converge无法确定虚机中产生脏页的vCPU,在方案实现时往往采用较为激进的方式将所有虚机vCPU都限制运行,以达到降低脏页速率的目的,虚机中并不产生脏页的读vCPU也成为了“受害者”,导致整体计算性能下降。

天翼云基于Intel PML硬件机制,借助内核dirty ring特性,提出了软硬结合的vCPU速率检测和限制方法,作为DirtyLimit的核心技术,最终解决了迁移过程中读vCPU性能下降的问题。

天翼云DirtyLimit技术

DirtyLimit核心思想与auto-converge相同,都是通过减少虚拟机vCPU运行时间来降低虚机脏页产生速率。但在具体实现上则采用了完全不同的底层技术,以克服auto-converge使虚机vCPU性能下降的缺点。

DirtyLimit除了具有传统auto-converge的优点外,还弥补了它的不足,具备更强大的使用潜质和更广泛的推广场景。

DirtyLimit与auto-converge技术对比如下:

限制脏页产生的方式

auto-converge与DirtyLimit相同,都通过减少虚拟机vCPU运行时间来实现。

auto-converge为“主动型”,hypervisor主动采样数据判断迁移收敛情况,如果不收敛会“主动”限制vCPU运行时间;DirtyLimit为“被动型”,利用Intel提供的PML(Page Modification logging)硬件脏页日志跟踪机制,实现物理CPU的脏页速率监测,速率限制会在脏页速率大于阈值时“被动”触发。

对比两种策略,auto-converge因为要“主动”采样计算,计算资源开销更大,而且从采样计算到速率限制有一定延迟,虚机脏页速率限制较为“迟钝”。DirtyLimit则没有上述缺点,“被动”地触发速率限制,没有计算资源开销,对限制也更“灵敏”,能够更快地开始速率限制,从而减少虚机迁移时间。

脏页限制的粒度

auto-converge对于脏页限制的粒度为整个虚机的所有vCPU,因此无论vCPU是否产生脏页,都会被hypervisor“盲目”地限制,使不产生脏页速率的读进程成为“受害者”,计算性能随之下降。

DirtyLimit只针对脏页速率大于阈值的vCPU,不仅速率限制的粒度更小,限制策略更灵活,而且对不产生脏页的vCPU不做速率限制,使读进程不受hypervisor速率限制的影响,迁移过程中读进程所在vCPU的计算性能几乎接近正常运行的vCPU。

相比auto-converge,DirtyLimit迁移在读vCPU计算性能方面有明显提升,可有效降低对用户业务的影响。

对比测试结果

1.迁移时间对比测试结果

迁移速度与计算性能兼得!天翼云DirtyLimit技术大显身手 迁移速度与计算性能兼得!天翼云DirtyLimit技术大显身手 3种测试环境迁移时间对比 场景1第三个柱状图百分比更新为76%

从实际测试数据中可以看到:

1.随着虚机脏页速率的增大,auto-converge与DirtyLimit迁移总时间差距会逐渐拉大。

2.对于带宽较小的场景(如场景1),虚机脏页速率很大,在极端情况下,auto-converge可能会出现迁移失败的情况。而DirtyLimit依然能保证虚机成功迁移。

2.vCPU计算性能对比测试

迁移速度与计算性能兼得!天翼云DirtyLimit技术大显身手 测试方法

虚机内部分别绑核运行脏页产生程序和计算性能测试工具unixbench,脏页产生程序运行在0-1核,性能测试工具运行在8-15核(如下图测试模型所示),保证两个程序互不干扰。分别测试虚机在正常运行时间窗口、DirtyLimit迁移时间窗口、auto-converge迁移时间窗口三种场景下的unixbench跑分。

测试模型 迁移速度与计算性能兼得!天翼云DirtyLimit技术大显身手

迁移速度与计算性能兼得!天翼云DirtyLimit技术大显身手 迁移过程虚拟机性能对比

从测试结果可以看到,auto-converge迁移相比正常运行的虚机,计算性能下降相对明显,而DirtyLimit迁移相比正常运行的虚机,计算性能几乎没有下降。

DirtyLimit是天翼云在虚拟机迁移加速技术上的创新尝试,使用户迁移速度与计算性能兼得,大幅提升用户系统迁移体验。未来,天翼云将继续优化DirtyLimit脏页采集逻辑,提升迁移过程中虚机内存性能,并将DirtyLimit迁移特性实现代码同步至Libvirt、QEMU、欧拉社区,为行业虚拟机迁移加速技术的研究贡献力量。

点赞
收藏
评论区
推荐文章
这波无感升级有点秀——天翼云QEMU组件热升级方案来了
虚拟化技术作为云计算时代的核心技术,近年来应用越来越广泛。目前,大多数云厂商提供的云主机都是基于KVM/QEMU虚拟化技术实现的。而随着虚拟化技术的发展,QEMU组件也在不断引入新功能并进行功能优化和问题修复。在公有云场景中,如何在不影响存量虚拟机业务的情
Stella981 Stella981
2年前
KVM 虚拟机在物理主机之间迁移的实现
虚拟机的迁移使资源配置更加灵活,尤其是在线迁移技术,提高了虚拟服务器的可用性和可靠性。本文是虚拟机迁移技术漫谈系列的第二部分,详细介绍KVM虚拟机在物理主机之间的静态迁移和在线迁移特性,而且包括基于数据块的在线迁移实现。前言虚拟机的迁移技术为服务器的虚拟化提供简便的方法。目前流行的虚拟化产品VMware,Xen,HyperV,
Stella981 Stella981
2年前
360 数科实践:JanusGraph 到 NebulaGraph 迁移
摘要:在本文中360数科的周鹏详细讲解了业务从JanusGraph迁移到NebulaGraph带来的性能提升,在机器资源不到之前JanusGraph配置三分之一的情况下,业务性能提升至少20倍。!360迁移(https://wwwcdn.nebulagraph.com.cn/nebulablog/360migrate.
Wesley13 Wesley13
2年前
2017年云主机性能测评报告
测评背景伴随着国家大众创业、万众创新的新时代,创新型企业大量广泛应用云服务快速提高生产力,短短几年的高速发展,国内云计算市场已经初具规模,随着云计算在各个行业的快速渗透,各个传统企业也在陆续将原有业务迁移到云平台。马上面临双十一,在保证系统能够扛住高并发的情况下,云主机会对系统稳定性有何影响?蓝海讯通公司使用OneCPT性能测试平台
Easter79 Easter79
2年前
TiDB 异构数据库复制最佳实践
作者简介:秦天爽,PingCAP解决方案事业部架构总监。纵观现有业务系统的分布式改造,其中一个难点在于数据库的迁移:迁移使用全量还是增量?在线还是离线?使用现成的工具还是开发作业?……用户往往面对多种选择。下面将为大家分享PingCAP团队在多年的实践中积攒的大量异构平台迁移经验,以及数据库复制技术
京东云开发者 京东云开发者
5个月前
ClickHouse技术研究及语法简介 | 京东云技术团队
本文对Clickhouse架构原理、语法、性能特点做一定研究,同时将其与mysql、elasticsearch、tidb做横向对比,并重点分析与mysql的语法差异,为有mysql迁移clickhouse场景需求的技术预研及参考。
鱼和熊掌可以兼得!天翼云弹性裸金属一招鲜!
在“攻城略地”的全球云计算发展大潮中中国异军突起天翼云作为一支云服务国家队也在不断“武装”自己虚拟化的过程在为用户带来低成本、高灵活性的同时损耗和高性能场景也给用户带来了焦虑作为天翼云4.0革新产物之一“天翼云弹性裸金属服务器” 全新问世它都有哪些奇功妙招能免除用户焦虑帮助企业上云?天翼云为你逐步揭晓答案正式介绍之前,我们先了解什么是裸金属?裸金属服务器是物
京东云开发者|京东云RDS数据迁移常见场景攻略
云时代已经来临,云上很多场景下都需要数据的迁移、备份和流转,各大云厂商也大都提供了自己的迁移工具。本文主要介绍京东云数据库为解决用户数据迁移的常见场景所提供的解决方案。场景一:数据迁移上云数据迁移上云是最常见的一类场景,目前京东云提供了两个
如何将物理机Windows系统迁移到VMware虚拟机?
本文分享自天翼云开发者社区@《》,作者:我是小朋友如何将物理机上的Windows系统迁移到VMware虚拟机?本文详细介绍如何使用DiskGenius免费版将物理电脑上的Windows操作系统转移至VMware虚拟机。关于迁移物理系统到VMware虚拟机V
helloworld_40038029 helloworld_40038029
5个月前
黑马-Linux云计算+运维开发+全新升级V3版本
Linux云计算是基于Linux操作系统的云计算技术,通过虚拟化技术将计算资源分配给多个用户使用,提供高可用、高性能的系统架构。Linux云计算不仅可以提供IaaS(基础设施即服务)、PaaS(平台即服务)和SaaS(软件即服务)等服务,还可以实现弹性伸缩、自动化管理等功能。
天翼云开发者社区
天翼云开发者社区
Lv1
天翼云是中国电信倾力打造的云服务品牌,致力于成为领先的云计算服务提供商。提供云主机、CDN、云电脑、大数据及AI等全线产品和场景化解决方案。
文章
389
粉丝
8
获赞
37