CN115048179A - 迁移优化方法、源端设备和虚拟机迁移管理系统 - Google Patents
迁移优化方法、源端设备和虚拟机迁移管理系统 Download PDFInfo
- Publication number
- CN115048179A CN115048179A CN202110250454.4A CN202110250454A CN115048179A CN 115048179 A CN115048179 A CN 115048179A CN 202110250454 A CN202110250454 A CN 202110250454A CN 115048179 A CN115048179 A CN 115048179A
- Authority
- CN
- China
- Prior art keywords
- destination
- dirty
- source
- information
- transmitted
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Facsimiles In General (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开提供一种迁移优化方法、源端设备和虚拟机迁移管理系统。迁移优化方法包括:在每一轮拷贝过程中,将待传输脏页发送给目的端设备;检测在每一轮拷贝过程中的新增脏页;若新增脏页的传输时间大于预设门限,则执行下一轮拷贝过程;若新增脏页的传输时间小于预设门限,则在关闭源端设备虚拟机后,执行最后一轮拷贝过程,并指示目的端设备启动虚拟机;拷贝过程包括:合并待传输脏页,并确定待传输脏页数;预测源端设备和目的端设备的脏页产生速率;选择与源端设备和目的端设备的脏页产生速率相关联的压缩方法;用压缩方法对合并后的待传输脏页进行压缩以得到压缩信息;将压缩信息发送给目的端设备,以便目的端设备解压压缩信息并分发内存页。
Description
技术领域
本公开涉及云计算技术领域,特别涉及一种迁移优化方法、源端设备和虚拟机迁移管理系统。
背景技术
随着云计算技术的发展,越来越多的应用及服务被部署在云数据中心内。作为云计算的核心技术之一,虚拟化技术通过对物理硬件资源进行虚拟化抽象与隔离,使同一硬件设备能够被多个虚拟机共享并彼此独立。
虚拟机的动态迁移技术指的是,将虚拟机从源端迁移到目的端的过程中,虚拟机内的应用程序不中断服务,让用户感觉不到差异。因此,在虚拟机迁移过程中,停机时间和系统性能损失应尽量小。为了得到较短的停机时间,虚拟机动态迁移通常以预拷贝方式为主,目前已被广泛应用到多个虚拟化平台。
目前预拷贝算法主要包括以下流程:拷贝开始时,源端虚拟机保持运行,同时记录被写脏的内存页。这些脏页将在下一轮迭代中再次进行传输,直到满足预设条件,迁移进入停机-拷贝阶段。此时,源端虚拟机停止服务,数据继续传输。当目的端接收完数据,虚拟机恢复运行,此次迁移任务完成。
发明内容
发明人注意到,在现有的虚拟机迁移过程中,仍存在以下问题:(1)未考虑目的端性能及当前应用环境对迁移效率的影响;(2)压缩迁移时,未考虑虚拟机负载运行情况、迁移带宽等信息不断变化带来的影响。从而无法有效降低总的迁移时间和停机时间。
据此,本公开提供一种迁移优化方案,能够有效降低总的迁移时间和停机时间。
根据本公开实施例的第一方面,提供一种迁移优化方法,由源端设备执行,包括:在每一轮拷贝过程中,将待传输脏页发送给目的端设备;检测在所述每一轮拷贝过程中的新增脏页;若所述新增脏页的传输时间大于预设门限,则执行下一轮拷贝过程;若所述新增脏页的传输时间小于预设门限,则在关闭源端设备虚拟机后,执行最后一轮拷贝过程,并指示所述目的端设备启动虚拟机,以实现从所述源端到所述目的站的虚拟机迁移;其中,所述拷贝过程包括:合并待传输脏页,并确定待传输脏页数;预测所述源端设备和所述目的端设备的脏页产生速率;利用预设的压缩策略表,选择与所述源端设备和目的端设备的脏页产生速率相关联的压缩方法;利用所述压缩方法对合并后的待传输脏页进行压缩以得到压缩信息;将所述压缩信息发送给所述目的端设备,以便所述目的端设备解压所述压缩信息并分发所述内存页。
在一些实施例中,预测所述源端设备和所述目的端设备的脏页产生速率包括:检测所述源端设备和目的端设备的负载运行信息,以及云数据中心内的网络带宽信息;将所述待传输脏页数、所述负载运行信息、所述网络带宽信息和所述源端设备和目的端设备的配置信息输入预设的速率预测模型,以预测所述源端设备和所述目的端设备的脏页产生速率。
在一些实施例中,上述方法还包括:训练机器学习模型以得到所述速率预测模型,其中,所述训练机器学习模型包括:收集所述云数据中心内多个节点在每个周期内的负载运行信息、所产生的脏页数,以及所述多个节点的配置信息;计算每个周期内的脏页产生速率;构建数据集,其中所述数据集的第i行包括第i周期内所述多个节点的负载运行信息、所述多个节点的配置信息、第i-1周期内的脏页产生速率和第i周期内的脏页产生速率,1<i<N,N为周期总数;利用所述数据集训练机器学习模型,以生成所述速率预测模型。
在一些实施例中,所述机器学习模型为门控循环单元GRU模型。
在一些实施例中,上述方法还包括:生成所述压缩策略表,其中,所述生成所述压缩策略表包括:预设所述源端设备和目的端设备的负载运行信息和配置信息;确定所述源端设备的待传输脏页数,以及所分配的网络带宽信息;将所述源端设备的待传输脏页数、所述源端设备和目的端设备的负载运行信息和配置信息、所分配的网络带宽信息输入所述速率预测模型,以预测所述源端设备和目的端设备的脏页产生速率;将压缩方法集合中的每一种压缩方法用于从所述源端设备到目的端设备的虚拟机迁移,并计算压缩时间和解压时间的时间总和;建立所述压缩策略表,其中在所述压缩策略表中将与最小的时间总和相对应的压缩方法与所预测的所述源端设备和目的端设备的脏页产生速率相关联。
在一些实施例中,所述负载运行信息包括CPU利用率、内存使用率、CPU频率、I/O吞吐量、输入网络流量、输出网络流量中的至少一项;所述配置信息包括CPU核数、CPU个数、内存大小、平均带宽、峰值带宽中的至少一项。
根据本公开实施例的第二方面,提供一种源端设备,包括:拷贝模块,被配置为在每一轮拷贝过程中,将待传输脏页发送给目的端设备;控制模块,被配置为检测在所述每一轮拷贝过程中的新增脏页,若所述新增脏页的传输时间大于预设门限,则触发所述拷贝模块执行下一轮拷贝过程,若所述新增脏页的传输时间小于预设门限,则在关闭源端设备虚拟机后,触发所述拷贝模块执行最后一轮拷贝过程,并指示所述目的端设备启动虚拟机,以实现从所述源端到所述目的站的虚拟机迁移;其中,所述拷贝模块在所述拷贝过程中,合并待传输脏页,并确定待传输脏页数,预测所述源端设备和所述目的端设备的脏页产生速率,利用预设的压缩策略表,选择与所述源端设备和目的端设备的脏页产生速率相关联的压缩方法,利用所述压缩方法对合并后的待传输脏页进行压缩以得到压缩信息,将所述压缩信息发送给所述目的端设备,以便所述目的端设备解压所述压缩信息并分发所述内存页。
在一些实施例中,所述拷贝模块被配置为检测所述源端设备和目的端设备的负载运行信息,以及云数据中心内的网络带宽信息,将所述待传输脏页数、所述负载运行信息、所述网络带宽信息和所述源端设备和目的端设备的配置信息输入预设的速率预测模型,以预测所述源端设备和所述目的端设备的脏页产生速率。
在一些实施例中,源端设备还包括:训练模块,被配置为收集所述云数据中心内多个节点在每个周期内的负载运行信息、所产生的脏页数,以及所述多个节点的配置信息,计算每个周期内的脏页产生速率,构建数据集,其中所述数据集的第i行包括第i周期内所述多个节点的负载运行信息、所述多个节点的配置信息、第i-1周期内的脏页产生速率和第i周期内的脏页产生速率,1<i<N,N为周期总数,利用所述数据集训练机器学习模型,以生成所述速率预测模型。
在一些实施例中,所述机器学习模型为门控循环单元GRU模型。
在一些实施例中,源端设备还包括:压缩策略表生成模块,被配置为预设所述源端设备和目的端设备的负载运行信息和配置信息,确定所述源端设备的待传输脏页数,以及所分配的网络带宽信息,将所述源端设备的待传输脏页数、所述源端设备和目的端设备的负载运行信息和配置信息、所分配的网络带宽信息输入所述速率预测模型,以预测所述源端设备和目的端设备的脏页产生速率,将压缩方法集合中的每一种压缩方法用于从所述源端设备到目的端设备的虚拟机迁移,并计算压缩时间和解压时间的时间总和,建立所述压缩策略表,其中在所述压缩策略表中将与最小的时间总和相对应的压缩方法与所预测的所述源端设备和目的端设备的脏页产生速率相关联。
在一些实施例中,所述负载运行信息包括CPU利用率、内存使用率、CPU频率、I/O吞吐量、输入网络流量、输出网络流量中的至少一项;所述配置信息包括CPU核数、CPU个数、内存大小、平均带宽、峰值带宽中的至少一项。
根据本公开实施例的第三方面,提供一种源端设备,包括:存储器,被配置为存储指令;处理器,耦合到存储器,处理器被配置为基于存储器存储的指令执行实现如上述任一实施例所述的方法。
根据本公开实施例的第四方面,提供一种虚拟机迁移管理系统,包括:如上述任一实施例所述的源端设备;目的端设备,被配置为采用相应的解压方法对所述源端设备发送的压缩信息解压以得到内存页,并分发所述内存页,还被配置为根据所述源端设备的指示启动虚拟机,以实现从所述源端到所述目的站的虚拟机迁移。
根据本公开实施例的第五方面,提供一种计算机可读存储介质,其中,计算机可读存储介质存储有计算机指令,指令被处理器执行时实现如上述任一实施例所述的方法。
通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开一个实施例的迁移优化方法的流程示意图;
图2为本公开一个实施例的拷贝过程的流程示意图;
图3为本公开一个实施例的训练机器学习模型的流程示意图;
图4为本公开一个实施例的生成压缩策略表的流程示意图;
图5为本公开一个实施例的源端设备的结构示意图;
图6为本公开另一个实施例的源端设备的结构示意图;
图7为本公开又一个实施例的源端设备的结构示意图;
图8为本公开一个实施例的虚拟机迁移管理系统的结构示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
图1为本公开一个实施例的迁移优化方法的流程示意图。在一些实施例中,下列的迁移优化方法流程由源端设备执行。
在步骤101,在每一轮拷贝过程中,将待传输脏页发送给目的端设备。
图2为本公开一个实施例的拷贝过程的流程示意图。在一些实施例中,下列的拷贝过程由源端设备执行。
在步骤201,合并待传输脏页,并确定待传输脏页数。
在步骤202,预测源端设备和目的端设备的脏页产生速率。
在一些实施例中,检测源端设备和目的端设备的负载运行信息,以及云数据中心内的网络带宽信息。
将待传输脏页数、负载运行信息、网络带宽信息和源端设备和目的端设备的配置信息输入预设的速率预测模型,以预测源端设备和目的端设备的脏页产生速率。
在一些实施例中,负载运行信息包括CPU(Central Processing Unit,中央处理单元)利用率、内存使用率、CPU频率、I(Input,输入)/O(Output,输出)吞吐量、输入网络流量、输出网络流量中的至少一项。配置信息包括CPU核数、CPU个数、内存大小、平均带宽、峰值带宽中的至少一项。
在步骤203,利用预设的压缩策略表,选择与源端设备和目的端设备的脏页产生速率相关联的压缩方法。
在步骤204,利用压缩方法对合并后的待传输脏页进行压缩以得到压缩信息。
在步骤205将压缩信息发送给目的端设备,以便目的端设备利用与压缩方法相对应的解压方法解压压缩信息并分发内存页。
返回图1。在步骤102,检测在每一轮拷贝过程中的新增脏页。
在步骤103,若新增脏页的传输时间大于预设门限,则执行下一轮拷贝过程。
在步骤104,若新增脏页的传输时间小于预设门限,则在关闭源端设备虚拟机后,执行最后一轮拷贝过程,并指示目的端设备启动虚拟机,以实现从源端到目的站的虚拟机迁移。
在本公开上述实施例提供的迁移优化方法中,在每一轮拷贝过程中,都会重新选择压缩方法,以便保证每一轮拷贝都能以最大迁移速度完成拷贝,从而有效降低总迁移时间和虚拟机停机时间。
在一些实施例中,通过训练机器学习模型以得到速率预测模型。
图3为本公开一个实施例的训练机器学习模型的流程示意图。在一些实施例中,下列的流程由源端设备执行。
在步骤301,收集云数据中心内多个节点在每个周期内的负载运行信息、所产生的脏页数,以及多个节点的配置信息。
例如,在周期T内,所产生的脏页数为SP,负载运行信息包括CPU利用率CP、内存使用率MP、CPU频率FP、I/O吞吐量IO、输入网络流量IN、输出网络流量ON等。配置信息包括CPU核数K、CPU个数C、内存大小M、平均带宽AB、峰值带宽PB等。
在步骤302,计算每个周期内的脏页产生速率。
在步骤303,构建数据集,其中数据集的第i行包括第i周期内多个节点的负载运行信息、多个节点的配置信息、第i-1周期内的脏页产生速率和第i周期内的脏页产生速率,1<i<N,N为周期总数。
例如,数据集为:
在步骤304,利用数据集训练机器学习模型,以生成速率预测模型。
在一些实施例中,机器学习模型为GRU(Gated Recurrent Unit,门控循环单元)模型。
图4为本公开一个实施例的生成压缩策略表的流程示意图。在一些实施例中,下列的流程由源端设备执行。
在步骤401,预设源端设备和目的端设备的负载运行信息和配置信息。
在步骤402,确定源端设备的待传输脏页数,以及所分配的网络带宽信息。
在步骤403,将源端设备的待传输脏页数、源端设备和目的端设备的负载运行信息和配置信息、所分配的网络带宽信息输入速率预测模型,以预测源端设备和目的端设备的脏页产生速率。
在步骤404,将压缩方法集合中的每一种压缩方法用于从源端设备到目的端设备的虚拟机迁移,并计算压缩时间和解压时间的时间总和。
在步骤405,建立压缩策略表,其中在压缩策略表中将与最小的时间总和相对应的压缩方法与所预测的源端设备和目的端设备的脏页产生速率相关联。
由此,通过查询压缩策略表,能够获取与当前的源端设备和目的端设备的脏页产生速率相匹配的压缩方法。
图5为本公开一个实施例的源端设备的结构示意图。如图5所示,源端设备包括拷贝模块51和控制模块52。
拷贝模块51被配置为在每一轮拷贝过程中,将待传输脏页发送给目的端设备。
拷贝模块51在拷贝过程中,合并待传输脏页,并确定待传输脏页数,预测源端设备和目的端设备的脏页产生速率,利用预设的压缩策略表,选择与源端设备和目的端设备的脏页产生速率相关联的压缩方法,利用压缩方法对合并后的待传输脏页进行压缩以得到压缩信息,将压缩信息发送给目的端设备,以便目的端设备解压压缩信息并分发内存页。
在一些实施例中,拷贝模块51被配置为检测源端设备和目的端设备的负载运行信息,以及云数据中心内的网络带宽信息,将待传输脏页数、负载运行信息、网络带宽信息和源端设备和目的端设备的配置信息输入预设的速率预测模型,以预测源端设备和目的端设备的脏页产生速率。
在一些实施例中,负载运行信息包括CPU利用率、内存使用率、CPU频率、I/O吞吐量、输入网络流量、输出网络流量中的至少一项。配置信息包括CPU核数、CPU个数、内存大小、平均带宽、峰值带宽中的至少一项。
控制模块52被配置为检测在每一轮拷贝过程中的新增脏页,若新增脏页的传输时间大于预设门限,则触发拷贝模块执行下一轮拷贝过程,若新增脏页的传输时间小于预设门限,则在关闭源端设备虚拟机后,触发拷贝模块执行最后一轮拷贝过程,并指示目的端设备启动虚拟机,以实现从源端到目的站的虚拟机迁移。
图6为本公开另一个实施例的源端设备的结构示意图。图6与图5的不同之处在于,在图6所示实施例中,源端设备还包括训练模块53。
训练模块53被配置为收集云数据中心内多个节点在每个周期内的负载运行信息、所产生的脏页数,以及多个节点的配置信息,计算每个周期内的脏页产生速率,构建数据集,其中数据集的第i行包括第i周期内多个节点的负载运行信息、多个节点的配置信息、第i-1周期内的脏页产生速率和第i周期内的脏页产生速率,1<i<N,N为周期总数,利用数据集训练机器学习模型,以生成速率预测模型。
在一些实施例中,机器学习模型为GRU模型。
在一些实施例中,如图6所示,源端设备还包括压缩策略表生成模块54。
压缩策略表生成模块54被配置为预设源端设备和目的端设备的负载运行信息和配置信息,确定源端设备的待传输脏页数,以及所分配的网络带宽信息,将源端设备的待传输脏页数、源端设备和目的端设备的负载运行信息和配置信息、所分配的网络带宽信息输入速率预测模型,以预测源端设备和目的端设备的脏页产生速率,将压缩方法集合中的每一种压缩方法用于从源端设备到目的端设备的虚拟机迁移,并计算压缩时间和解压时间的时间总和,建立压缩策略表,其中在压缩策略表中将与最小的时间总和相对应的压缩方法与所预测的源端设备和目的端设备的脏页产生速率相关联。
由此,通过查询压缩策略表,能够获取与当前的源端设备和目的端设备的脏页产生速率相匹配的压缩方法。
图7为本公开又一个实施例的源端设备的结构示意图。如图7所示,源端设备包括存储器71和处理器72。
存储器71用于存储指令,处理器72耦合到存储器71,处理器72被配置为基于存储器存储的指令执行实现如图1至图4中任一实施例涉及的方法。
如图7所示,该源端设备还包括通信接口73,用于与其它设备进行信息交互。同时,该源端设备还包括总线74,处理器72、通信接口73、以及存储器71通过总线74完成相互间的通信。
存储器71可以包含高速RAM存储器,也可还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。存储器71也可以是存储器阵列。存储器71还可能被分块,并且块可按一定的规则组合成虚拟卷。
此外,处理器72可以是一个中央处理器CPU,或者可以是专用集成电路ASIC,或是被配置成实施本公开实施例的一个或多个集成电路。
本公开同时还涉及一种计算机可读存储介质,其中计算机可读存储介质存储有计算机指令,指令被处理器执行时实现如图1至图4中任一实施例涉及的方法。
图8为本公开一个实施例的虚拟机迁移管理系统的结构示意图。如图8所述,虚拟机迁移管理系统包括源端设备81和目的端设备82。源端设备81为图5至图7中任一实施例涉及的源端设备。
目的端设备82被配置为采用相应的解压方法对源端设备81发送的压缩信息解压以得到内存页,并分发内存页,还被配置为根据源端设备81的指示启动虚拟机,以实现从源端到目的站的虚拟机迁移。
在一些实施例中,在上面所描述的功能单元可以实现为用于执行本公开所描述功能的通用处理器、可编程逻辑控制器(Programmable Logic Controller,简称:PLC)、数字信号处理器(Digital Signal Processor,简称:DSP)、专用集成电路(ApplicationSpecific Integrated Circuit,简称:ASIC)、现场可编程门阵列(Field-ProgrammableGate Array,简称:FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件或者其任意适当组合。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
本公开的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本公开限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本公开的原理和实际应用,并且使本领域的普通技术人员能够理解本公开从而设计适于特定用途的带有各种修改的各种实施例。
Claims (15)
1.一种迁移优化方法,由源端设备执行,包括:
在每一轮拷贝过程中,将待传输脏页发送给目的端设备;
检测在所述每一轮拷贝过程中的新增脏页;
若所述新增脏页的传输时间大于预设门限,则执行下一轮拷贝过程;
若所述新增脏页的传输时间小于预设门限,则在关闭源端设备虚拟机后,执行最后一轮拷贝过程,并指示所述目的端设备启动虚拟机,以实现从所述源端到所述目的站的虚拟机迁移;
其中,所述拷贝过程包括:
合并待传输脏页,并确定待传输脏页数;
预测所述源端设备和所述目的端设备的脏页产生速率;
利用预设的压缩策略表,选择与所述源端设备和目的端设备的脏页产生速率相关联的压缩方法;
利用所述压缩方法对合并后的待传输脏页进行压缩以得到压缩信息;
将所述压缩信息发送给所述目的端设备,以便所述目的端设备解压所述压缩信息并分发所述内存页。
2.根据权利要求1所述的方法,其中,预测所述源端设备和所述目的端设备的脏页产生速率包括:
检测所述源端设备和目的端设备的负载运行信息,以及云数据中心内的网络带宽信息;
将所述待传输脏页数、所述负载运行信息、所述网络带宽信息和所述源端设备和目的端设备的配置信息输入预设的速率预测模型,以预测所述源端设备和所述目的端设备的脏页产生速率。
3.根据权利要求2所述的方法,还包括:训练机器学习模型以得到所述速率预测模型,其中,
所述训练机器学习模型包括:
收集所述云数据中心内多个节点在每个周期内的负载运行信息、所产生的脏页数,以及所述多个节点的配置信息;
计算每个周期内的脏页产生速率;
构建数据集,其中所述数据集的第i行包括第i周期内所述多个节点的负载运行信息、所述多个节点的配置信息、第i-1周期内的脏页产生速率和第i周期内的脏页产生速率,1<i<N,N为周期总数;
利用所述数据集训练机器学习模型,以生成所述速率预测模型。
4.根据权利要求3所述的方法,所述机器学习模型为门控循环单元GRU模型。
5.根据权利要求2所述的方法,还包括:生成所述压缩策略表,其中,
所述生成所述压缩策略表包括:
预设所述源端设备和目的端设备的负载运行信息和配置信息;
确定所述源端设备的待传输脏页数,以及所分配的网络带宽信息;
将所述源端设备的待传输脏页数、所述源端设备和目的端设备的负载运行信息和配置信息、所分配的网络带宽信息输入所述速率预测模型,以预测所述源端设备和目的端设备的脏页产生速率;
将压缩方法集合中的每一种压缩方法用于从所述源端设备到目的端设备的虚拟机迁移,并计算压缩时间和解压时间的时间总和;
建立所述压缩策略表,其中在所述压缩策略表中将与最小的时间总和相对应的压缩方法与所预测的所述源端设备和目的端设备的脏页产生速率相关联。
6.根据权利要求2-5中任一项所述的方法,其中,
所述负载运行信息包括CPU利用率、内存使用率、CPU频率、I/O吞吐量、输入网络流量、输出网络流量中的至少一项;
所述配置信息包括CPU核数、CPU个数、内存大小、平均带宽、峰值带宽中的至少一项。
7.一种源端设备,包括:
拷贝模块,被配置为在每一轮拷贝过程中,将待传输脏页发送给目的端设备;
控制模块,被配置为检测在所述每一轮拷贝过程中的新增脏页,若所述新增脏页的传输时间大于预设门限,则触发所述拷贝模块执行下一轮拷贝过程,若所述新增脏页的传输时间小于预设门限,则在关闭源端设备虚拟机后,触发所述拷贝模块执行最后一轮拷贝过程,并指示所述目的端设备启动虚拟机,以实现从所述源端到所述目的站的虚拟机迁移;
其中,所述拷贝模块在所述拷贝过程中,合并待传输脏页,并确定待传输脏页数,预测所述源端设备和所述目的端设备的脏页产生速率,利用预设的压缩策略表,选择与所述源端设备和目的端设备的脏页产生速率相关联的压缩方法,利用所述压缩方法对合并后的待传输脏页进行压缩以得到压缩信息,将所述压缩信息发送给所述目的端设备,以便所述目的端设备解压所述压缩信息并分发所述内存页。
8.根据权利要求7所述的源端设备,其中,
所述拷贝模块被配置为检测所述源端设备和目的端设备的负载运行信息,以及云数据中心内的网络带宽信息,将所述待传输脏页数、所述负载运行信息、所述网络带宽信息和所述源端设备和目的端设备的配置信息输入预设的速率预测模型,以预测所述源端设备和所述目的端设备的脏页产生速率。
9.根据权利要求8所述的源端设备,还包括:
训练模块,被配置为收集所述云数据中心内多个节点在每个周期内的负载运行信息、所产生的脏页数,以及所述多个节点的配置信息,计算每个周期内的脏页产生速率,构建数据集,其中所述数据集的第i行包括第i周期内所述多个节点的负载运行信息、所述多个节点的配置信息、第i-1周期内的脏页产生速率和第i周期内的脏页产生速率,1<i<N,N为周期总数,利用所述数据集训练机器学习模型,以生成所述速率预测模型。
10.根据权利要求9所述的源端设备,其中,
所述机器学习模型为门控循环单元GRU模型。
11.根据权利要求8所述的源端设备,还包括:
压缩策略表生成模块,被配置为预设所述源端设备和目的端设备的负载运行信息和配置信息,确定所述源端设备的待传输脏页数,以及所分配的网络带宽信息,将所述源端设备的待传输脏页数、所述源端设备和目的端设备的负载运行信息和配置信息、所分配的网络带宽信息输入所述速率预测模型,以预测所述源端设备和目的端设备的脏页产生速率,将压缩方法集合中的每一种压缩方法用于从所述源端设备到目的端设备的虚拟机迁移,并计算压缩时间和解压时间的时间总和,建立所述压缩策略表,其中在所述压缩策略表中将与最小的时间总和相对应的压缩方法与所预测的所述源端设备和目的端设备的脏页产生速率相关联。
12.根据权利要求8-11中任一项所述的源端设备,其中,
所述负载运行信息包括CPU利用率、内存使用率、CPU频率、I/O吞吐量、输入网络流量、输出网络流量中的至少一项;
所述配置信息包括CPU核数、CPU个数、内存大小、平均带宽、峰值带宽中的至少一项。
13.一种源端设备,包括:
存储器,被配置为存储指令;
处理器,耦合到存储器,处理器被配置为基于存储器存储的指令执行实现如权利要求1-6中任一项所述的方法。
14.一种虚拟机迁移管理系统,包括:
如权利要求7-13中任一项所述的源端设备;
目的端设备,被配置为采用相应的解压方法对所述源端设备发送的压缩信息解压以得到内存页,并分发所述内存页,还被配置为根据所述源端设备的指示启动虚拟机,以实现从所述源端到所述目的站的虚拟机迁移。
15.一种计算机可读存储介质,其中,计算机可读存储介质存储有计算机指令,指令被处理器执行时实现如权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110250454.4A CN115048179A (zh) | 2021-03-08 | 2021-03-08 | 迁移优化方法、源端设备和虚拟机迁移管理系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110250454.4A CN115048179A (zh) | 2021-03-08 | 2021-03-08 | 迁移优化方法、源端设备和虚拟机迁移管理系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115048179A true CN115048179A (zh) | 2022-09-13 |
Family
ID=83156086
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110250454.4A Pending CN115048179A (zh) | 2021-03-08 | 2021-03-08 | 迁移优化方法、源端设备和虚拟机迁移管理系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115048179A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116932464A (zh) * | 2023-09-14 | 2023-10-24 | 中移(苏州)软件技术有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN117389685A (zh) * | 2023-10-19 | 2024-01-12 | 北京云豹创芯智能科技有限公司 | 虚拟机热迁移标脏方法及其装置、后端设备、芯片 |
-
2021
- 2021-03-08 CN CN202110250454.4A patent/CN115048179A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116932464A (zh) * | 2023-09-14 | 2023-10-24 | 中移(苏州)软件技术有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN116932464B (zh) * | 2023-09-14 | 2023-11-28 | 中移(苏州)软件技术有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN117389685A (zh) * | 2023-10-19 | 2024-01-12 | 北京云豹创芯智能科技有限公司 | 虚拟机热迁移标脏方法及其装置、后端设备、芯片 |
CN117389685B (zh) * | 2023-10-19 | 2024-03-19 | 北京云豹创芯智能科技有限公司 | 虚拟机热迁移标脏方法及其装置、后端设备、芯片 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108009016B (zh) | 一种资源负载均衡控制方法及集群调度器 | |
US10679145B2 (en) | System and method for balancing computation with communication in parallel learning | |
US9807152B2 (en) | Distributed processing device and distributed processing system as well as distributed processing method | |
Fu et al. | Layered virtual machine migration algorithm for network resource balancing in cloud computing | |
CN115048179A (zh) | 迁移优化方法、源端设备和虚拟机迁移管理系统 | |
CA3137748C (en) | Method and apparatus for determining configuration knob of database | |
CN107729138B (zh) | 一种高性能分布式矢量空间数据的分析方法和装置 | |
Xie et al. | Pandas: robust locality-aware scheduling with stochastic delay optimality | |
CN106302780B (zh) | 集群设备批量传输数据的方法、装置及系统、服务器 | |
TW202147188A (zh) | 神經網路模型的訓練方法和相關産品 | |
CN106681839B (zh) | 弹性计算动态分配方法 | |
CN103942197A (zh) | 数据监控处理方法及设备 | |
CN112527470B (zh) | 用于预测性能指标的模型训练方法、装置及可读存储介质 | |
Karthik et al. | Choosing among heterogeneous server clouds | |
US11568269B2 (en) | Scheduling method and related apparatus | |
KR102326586B1 (ko) | 큰 규모 분산 행렬 곱 처리 방법 및 그 장치 | |
CN110990059B (zh) | 一种用于倾斜数据的流式计算引擎运行方法及系统 | |
CN113746763A (zh) | 一种数据处理的方法、装置和设备 | |
CN110955461A (zh) | 计算任务的处理方法、装置、系统、服务器和存储介质 | |
JP2016071886A (ja) | スケジューラコンピューティング装置、それを含む分散コンピューティングシステムのデータノード、及びその方法 | |
CN109976887B (zh) | 调度方法及相关装置 | |
CN109978149B (zh) | 调度方法及相关装置 | |
CN109976809B (zh) | 调度方法及相关装置 | |
CN116670660A (zh) | 片上网络的仿真模型生成方法、装置、电子设备及计算机可读存储介质 | |
CN105812293B (zh) | 一种确定控制器及其控制域的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |