设置虚拟机迁移过程中应用客户端的重传时间的方法和系统.pdf

上传人:111****11 文档编号:4042601 上传时间:2018-08-12 格式:PDF 页数:14 大小:1,011.71KB
返回 下载 相关 举报
摘要
申请专利号:

CN201310450450.6

申请日:

2013.09.27

公开号:

CN104516767A

公开日:

2015.04.15

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 9/455申请日:20130927|||公开

IPC分类号:

G06F9/455; G06F9/46

主分类号:

G06F9/455

申请人:

国际商业机器公司

发明人:

李立; 曲俊媚; 刘亮; 于琦

地址:

美国纽约

优先权:

专利代理机构:

北京市中咨律师事务所11247

代理人:

于静; 张亚非

PDF下载: PDF下载
内容摘要

本发明涉及虚拟机迁移,其公开了一种设置虚拟机迁移过程中应用客户端的重传时间的方法和装置,该方法包括:根据待迁移虚拟机的至少一个应用的历史访问记录和内存记录预测所述待迁移虚拟机所需的迁移内存大小;计算待迁移虚拟机的宿主机的可用迁移带宽;根据预测的所述待迁移虚拟机所需的迁移内存大小和宿主机的可用迁移带宽计算虚拟机迁移时间;根据虚拟机迁移时间设置应用客户端的重传时间。

权利要求书

权利要求书
1.  一种设置虚拟机迁移过程中应用客户端的重传时间的方法,包括:
根据待迁移虚拟机的至少一个应用的历史访问记录和内存记录预测所述待 迁移虚拟机所需的迁移内存大小;
计算待迁移虚拟机的宿主机的可用迁移带宽;
根据预测的所述待迁移虚拟机所需的迁移内存大小和宿主机的可用迁移带 宽计算虚拟机迁移时间;
根据虚拟机迁移时间设置应用客户端的重传时间。

2.  根据权利要求1所述的方法,其中根据待迁移虚拟机的至少一个应用的 历史访问记录和内存记录预测所述待迁移虚拟机所需的迁移内存大小包括:
根据所述至少一个应用的历史访问记录计算一段时间内所述至少一个应用 的请求到达速率的变化和每个请求的平均服务时间;
根据所述待迁移虚拟机的内存记录统计所述一段时间内所述待迁移虚拟机 对所述至少一个应用分配的内存大小的变化;
根据所述一段时间内所述至少一个应用的请求到达速率的变化和所述待迁 移虚拟机对所述至少一个应用分配的内存大小的变化计算所述一段时间内所述 待迁移虚拟机为所述至少一个应用分配的内存大小与所述至少一个应用的请求 到达速率的函数关系;以及
根据所述函数关系预测所述待迁移虚拟机所需的迁移内存大小。

3.  根据权利要求2所述的方法,其中根据所述函数关系预测所述待迁移虚 拟机所需的迁移内存大小包括:
根据所述函数关系和迁移时刻所述至少一个应用的请求到达速率预测所述 至少一个应用所需的迁移内存大小;
将所述至少一个应用所需的内存大小累加起来得到所述待迁移虚拟机所需 的迁移内存大小。

4.  根据权利要求1所述的方法,其中计算待迁移虚拟机的宿主机的可用迁 移带宽包括:在存在多个虚拟机向宿主机请求带宽的情况下,如果宿主机的带 宽大于或等于所述多个虚拟机请求的带宽,待迁移虚拟机的宿主机的可用迁移 带宽,其中WS为宿主机的带宽,Wi,(i=1...j,j≥1)为除去待迁 移虚拟机以外的其它虚拟机请求的带宽。

5.  根据权利要求1所述的方法,其中计算待迁移虚拟机的宿主机的可用迁 移带宽包括:在存在多个虚拟机向宿主机请求带宽的情况下,如果宿主机的带 宽小于所述多个虚拟机请求的带宽,根据待迁移虚拟机的权重计算待迁移虚拟 机的宿主机的可用迁移带宽。

6.  根据权利要求1至5中任一项所述的方法,其中根据虚拟机迁移时间设 置应用客户端的重传时间包括:将应用客户端的重传时间设置为略大于虚拟机 的迁移时间。

7.  一种设置虚拟机迁移过程中应用客户端的重传时间的装置,包括:
迁移内存预测模块,被配置为根据待迁移虚拟机的至少一个应用的历史访 问记录和内存记录预测所述待迁移虚拟机所需的迁移内存大小;
可用带宽计算模块,被配置为计算待迁移虚拟机的宿主机的可用迁移带宽;
迁移时间计算模块,被配置为根据预测的所述待迁移虚拟机所需的迁移内 存大小和宿主机的可用迁移带宽计算虚拟机迁移时间;
重传时间设置模块,被配置为根据虚拟机迁移时间设置应用客户端的重传 时间。

8.  根据权利要求7所述的装置,其中迁移内存预测模块进一步被配置为:
根据所述至少一个应用的历史访问记录计算一段时间内所述至少一个应用 的请求到达速率的变化和每个请求的平均服务时间;
根据所述待迁移虚拟机的内存记录统计所述一段时间内所述待迁移虚拟机 对所述至少一个应用分配的内存大小的变化;
根据所述一段时间内所述至少一个应用的请求到达速率的变化和所述待迁 移虚拟机对所述至少一个应用分配的内存大小的变化计算所述一段时间内所述 待迁移虚拟机为所述至少一个应用分配的内存大小与所述至少一个应用的请求 到达速率的函数关系;以及
根据所述函数关系预测所述待迁移虚拟机所需的迁移内存大小。

9.  根据权利要求8所述的装置,其中迁移内存预测模块进一步被配置为:
根据所述函数关系和迁移时刻所述至少一个应用的请求到达速率预测所述 至少一个应用所需的迁移内存大小;
将所述至少一个应用所需的内存大小累加起来得到所述待迁移虚拟机所需 的迁移内存大小。

10.  根据权利要求7所述的装置,其中可用带宽计算模块被配置为:在存在 多个虚拟机向宿主机请求带宽的情况下,如果宿主机的带宽大于或等于所述多 个虚拟机请求的带宽,待迁移虚拟机的宿主机的可用迁移带宽, 其中WS为宿主机的带宽,Wi,(i=1...j,j≥1)为待迁移虚拟机以外的其它虚拟 机请求的带宽。

11.  根据权利要求7所述的装置,其中可用带宽计算模块被配置为:在存在 多个虚拟机向宿主机请求带宽的情况下,如果宿主机的带宽小于所述多个虚拟 机请求的带宽,根据待迁移虚拟机的权重计算待迁移虚拟机的宿主机的可用迁 移带宽。

12.  根据权利要求7至11中任一项所述的装置,其中重传时间设置模块进 一步被配置为将应用客户端的重传时间设置为略大于虚拟机的迁移时间。

说明书

说明书设置虚拟机迁移过程中应用客户端的重传时间的方法和系统
技术领域
本发明涉及虚拟机迁移,更具体地,涉及一种设置虚拟机迁移过程中应用 客户端的重传时间的方法和系统。
背景技术
目前虚拟化技术得到了广泛的应用。虚拟化技术提供了一种能够将多个虚 拟机(VM)容纳在一个大的服务器上的方式,降低了用户的总成本并且改善 了应用的可靠性和灵活性,从而可以减少用户对于各个工作负荷的尖峰(spike) 过度提供计算资源的可能性。而且,虚拟化技术有助于隔离重要的应用,使得 运行在不同虚拟机上的不同应用不会共享操作系统,于是由应用引起的致命的 故障并不会影响任何其他虚拟机中的应用。虚拟化技术是“云计算(Cloud  Computing)”技术中的一项重要且基础的技术。由于其具备按需配置和动态迁 移能力,因此成为实现云计算动态、可伸缩的扩展的关键。为了实现云计算的 高度弹性以满足业务或者管理的策略和需求,需要经常性地实施虚拟机在物理 机之间的动态迁移和汇聚,从而达到节省能耗,提高资源利用率,降低管理成 本等目标。
然而虚拟机迁移是一个IO高度敏感的过程,当虚拟机在被实施迁移的过 程中,由于其上业务或者应用仍然在正常工作,因此对虚拟机的应用客户端产 生不可预期的影响。例如,在虚拟机迁移的过程中,虚拟机的应用客户端向虚 拟机发出请求,就会导致响应失败,因此要发送重传请求,TCP协议用于控制 数据段是否需要重传的依据是设立重传定时器。在发送一个数据段的同时启动 一个重传定时器,如果在定时器超时前收到确认(Acknowlegement)就关闭该重 传定时器,如果定时器超时前没有收到确认,则重传该数据段。在选择重传时 间的过程中,TCP必须具有自适应性。它需要根据互联网当时的通信情况,给 出合适的数据重传时间。目前采用较多的算法是一种不断调整超时时间间隔的 动态算法。其工作原理是:对每条连接TCP都保持一个变量往返时间RTT(Round  Trip Time),用于存放当前到目的端往返所需要时间最接近的估计值。如果定时 器超时前没有收到确认,则将RTT的值增加1倍,随着连接失败的次数增加,RTT 的值越来越大。在虚拟机迁移的过程中,由于RTT的数值小,就会导致重传次 数增加,如果虚拟机已经完成迁移,由于RTT的数值随着重传次数的增加越来 越大,就会导致客户端的响应延迟。
因此,在虚拟机迁移时,需要对应用客户端设置合适的重传时间,及时对 客户端的请求做出响应。
发明内容
根据本发明的一个方面,提供了一种设置虚拟机迁移过程中应用客户端的 重传时间的方法,包括:根据待迁移虚拟机的至少一个应用的历史访问记录和 内存记录预测所述待迁移虚拟机所需的迁移内存大小;计算待迁移虚拟机的宿 主机的可用迁移带宽;根据预测的所述待迁移虚拟机所需的迁移内存大小和宿 主机的可用迁移带宽计算虚拟机迁移时间;根据虚拟机迁移时间设置应用客户 端的重传时间。
根据本发明的另一个方面,提供了一种设置虚拟机迁移过程中应用客户端 的重传时间的装置,包括:迁移内存预测模块,被配置为根据待迁移虚拟机的 至少一个应用的历史访问记录和内存记录预测所述待迁移虚拟机所需的迁移内 存大小;可用带宽计算模块,被配置为计算待迁移虚拟机的宿主机的可用迁移 带宽;迁移时间计算模块,被配置为根据预测的所述待迁移虚拟机所需的迁移 内存大小和宿主机的可用迁移带宽计算虚拟机迁移时间;重传时间设置模块, 被配置为根据虚拟机迁移时间设置应用客户端的重传时间。
根据本发明实施例的方法和装置能够设置合适的重传时间,及时对应用客 户端的请求做出响应,减少重传次数,降低网络传输的开销。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述 以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式 中,相同的参考标号通常代表相同部件。
图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的 框图;
图2示出根据本发明实施例的设置虚拟机迁移过程中应用客户端的重传时 间的方法;
图3示出根据本发明的实施例一段时间内待迁移虚拟机某个应用的请求到 达速率的变化曲线;
图4示出根据本发明的实施例一段时间内待迁移虚拟机对某个应用分配的 内存的变化曲线;
图5示出根据本发明实施例的设置虚拟机迁移过程中应用客户端的重传时 间的装置500。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了 本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被 这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透 彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
所属技术领域的技术人员知道,本发明可以实现为系统、方法或计算机程 序产品。因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也 可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结 合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中, 本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形 式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以 是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可 以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或 器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的 列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机 存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM 或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储 器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是 任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件 使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据 信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种 形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计 算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介 质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或 者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括—— 但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计 算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、 Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程 序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机 上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机 上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中, 远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)— 连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供 商来通过因特网连接)。
下面将参照本发明实施例的方法、装置(系统)和计算机程序产品的流程 图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和 /或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令 可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从 而生产出一种机器,这些计算机程序指令通过计算机或其它可编程数据处理装 置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。
也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理 装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的 指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指 令装置(instruction means)的制造品(manufacture)。
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其 它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列 操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上 执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的 框图。图1显示的计算机系统/服务器12仅仅是一个示例,不应对本发明实施 例的功能和使用范围带来任何限制。
如图1所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系 统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16, 系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总 线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控 制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线 结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构 (ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标 准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以 是任何能够被计算机系统/服务器12访问的可用介质,包括易失性和非易失性 介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随 机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可 以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。 仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1 未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移 动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光 盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些 情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储 器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序 模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存 储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多 个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中 可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功 能和/或方法。
计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向 设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/ 服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多 个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这 种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统/服务器12 还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网 (WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过 总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出, 可以结合计算机系统/服务器12使用其它硬件和/或软件模块,包括但不限于: 微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带 驱动器以及数据备份存储系统等。
现在参看图2,图2示出根据本发明实施例的设置虚拟机迁移过程中应用 客户端的重传时间的方法,包括:在步骤S201,根据待迁移虚拟机的至少一个 应用的历史访问记录和内存记录预测所述待迁移虚拟机所需的迁移内存大小; 在步骤S202,计算待迁移虚拟机的宿主机的可用迁移带宽;在步骤S203,根 据预测的所述待迁移虚拟机所需的迁移内存大小和可用迁移带宽计算虚拟机迁 移时间;在步骤S204,根据虚拟机迁移时间设置应用客户端的重传时间。
在步骤S201,根据待迁移虚拟机的应用的历史访问记录预测所述待迁移虚 拟机所需的迁移内存大小,包括:根据所述至少一个应用的历史访问记录计算 一段时间内所述至少一个应用的请求到达速率的变化和每个请求的平均服务时 间;根据所述待迁移虚拟机的内存记录统计所述一段时间内所述待迁移虚拟机 对所述至少一个应用分配的内存大小的变化;根据所述一段时间内所述至少一 个应用的请求到达速率的变化和所述待迁移虚拟机对所述至少一个应用分配的 内存大小的变化计算所述一段时间内所述待迁移虚拟机为所述至少一个应用分 配的内存大小与所述至少一个应用的请求到达速率的函数关系;以及根据所述 函数关系预测所述待迁移虚拟机所需的迁移内存大小。
根据本发明的实施例,其中根据所述函数关系预测所述待迁移虚拟机所需 的迁移内存大小包括:根据所述函数关系和迁移时刻所述至少一个应用的请求 到达速率预测所述至少一个应用所需的迁移内存大小;将所述至少一个应用所 需的内存大小累加起来得到所述待迁移虚拟机所需的迁移内存大小。
根据本发明的实施例,观察到虚拟机处理每个请求所需要的内存开销与对 应每个请求的平均服务时间存在线性相关关系,当一个新请求到达时,虚拟机 会分配一定的内存用于服务该请求,而且不同种类应用的请求所需要的平均服 务时间不同,通常请求需要的平均服务时间越长,为该请求分配的内存越大。 例如,复杂应用A和简单应用B,A类应用的请求平均服务时间为4s,B类应 用的请求平均服务时间为2s,那么虚拟机为A类应用的请求分配的内存大小基 本上是为B类应用的请求分配的内存大小的2倍,任一时刻虚拟机为某个应用 分配的内存大小与为该应用请求的平均服务时间的函数关系为:
S=a*v*Ts+b          (1)
其中S为任一时刻虚拟机为某个应用分配的内存大小,a为比例系数,V 为一段时间内该某个应用的请求到达速率,Ts为该某个应用请求的平均服务时 间,b为修正参数。
根据本发明的实施例,虚拟机管理器(hypervisor)可以从待迁移虚拟机获 取待迁移虚拟机某个应用的历史访问记录,根据历史访问记录计算一段时间内 某个应用的请求到达速率v和每个请求的平均服务时间Ts。应用的历史访问记 录按时间顺序对请求的接收、处理等操作进行记录。根据本发明的实施例,一 个典型的应用的历史访问记录如下所示:
时间标签          事件
t0          receive a request from ip0
t1          receive a request from ip1
t2          handle request from ip0
t3          receive a request from ip2
t4          handle request from ip1
t5          send reply to ip0
……        ……
tn_1        handle request from ip2
tn_2        send reply to ip1
tn_3        send reply to ip2
根据上述历史访问记录可以计算t0至t3时间段内该应用的请求到达速率: v=(t3-t0)/3。
计算该应用的请求的平均服务时间:Ts=(Ts_1+Ts_2+Ts_3)/3;
其中t0时刻从IP地址ip0接收到的该应用的请求的服务时间Ts_1=t5-t0;
t1时刻从IP地址ip1接收到的该应用的请求的服务时间Ts_2=tn_2-t1;
t3时刻从IP地址ip2接收到的该应用的请求的服务时间Ts_3=tn_3-t3。
根据本发明的实施例,虚拟机管理器(hypervisor)可以从待迁移虚拟机获 取待迁移虚拟机的内存记录,根据待迁移虚拟机的内存记录可以获取任一时刻 虚拟机为某个应用分配的内存大小。因此,根据历史数据可以计算出公式(1) 中的比例系数a以及修正参数b。
图3示出根据本发明的实施例一段时间内待迁移虚拟机某个应用的请求到 达速率的变化曲线,如图所示,横坐标为时间,纵坐标为某个应用的请求到达 速率。图4示出根据本发明的实施例一段时间内虚待迁移拟机对某个应用分配 的内存的变化曲线,例如,在图3上选取两个时间点对应的A、B两个坐标点, 在图4上选取相同时间点对应的C、D两个坐标点,在10个小时的时间点,请 求到达速率是10个/每秒,待迁移虚拟机为该应用分配的内存大小是2GB,在 20个小时的时间点,请求到达速率是20个/每秒,待迁移虚拟机为该应用分配 的内存大小是4GB,假设该应用请求的平均服务时间是2s,将上述坐标点的值 代入公式(1),
2=a*10*2+b          (2)
4=a*20*2+b         (3)
求出a=0.1,b=0,因此针对该应用的公式(1)变形为:
S=0.2*v         (4)
在待迁移虚拟机要迁移的当前时刻,查询该待迁移虚拟机正在服务的该应 用的请求的个数,得到当前时刻的该应用的请求到达速率,根据公式(4)计算 出该应用所需的迁移内存的大小。
在存在多个应用的情况,按照本发明实施例的方法逐个获取所述一段时间 内待迁移虚拟机为多个应用分配的内存大小与对应于多个应用的请求到达速率 的函数关系,并根据每个函数关系和迁移时刻的请求到达速率预测多个应用所 需的迁移内存大小,然后将多个应用所需的内存大小累加起来得到待迁移虚拟 机的迁移内存大小。
在步骤S202,计算待迁移虚拟机的宿主机的可用迁移带宽,根据本发明 的实施例,在存在多个虚拟机向宿主机请求带宽的情况下,如果宿主机的带宽 大于或等于所述多个虚拟机请求的带宽的情况下,待迁移虚拟机的宿主机的可 用迁移带宽,其中WS为宿主机的带宽,Wi,(i=1...j,j≥1)为待 迁移虚拟机以外的其它虚拟机请求的带宽,例如,一台宿主机上有两个虚拟机 A和B,宿主机带宽为1Gbps,虚拟机A请求带宽200Mbps,虚拟机B请求带 宽300Mbps,如果虚拟机A要迁移,那么待迁移虚拟机的宿主机的可用迁移带 宽WA=1Gbps-300Mbps=700Mbps。根据本发明的另一个实施例,在存在多个虚 拟机向宿主机请求带宽的情况下,如果宿主机的带宽小于所述多个虚拟机请求 的带宽,根据待迁移的虚拟机的权重计算待迁移虚拟机的宿主机的可用迁移带 宽,待迁移虚拟机的宿主机的可用迁移带宽,其中Pj是 待迁移的虚拟机的权重,是所有虚拟机的权重之和。例如,,一台宿主机上 有两个虚拟机A和B,宿主机带宽为1Gbps,虚拟机A请求带宽800Mbps,权 重是5,虚拟机B请求带宽500Mbps,权重为3,如果虚拟机A要迁移,那么 迁移带宽 W A = 5 5 + 3 * 1 Gbps = 0.625 Gbps . ]]>
在步骤S203,根据预测的所述待迁移虚拟机所需的迁移内存大小和可用迁 移带宽计算虚拟机迁移时间,即,虚拟机迁移时间,其中M为虚拟机的 迁移内存大小,WA为宿主机的可用迁移带宽。
在步骤S204,根据虚拟机迁移时间设置应用客户端的重传时间,具体地, 在虚拟机迁移之前,虚拟机管理器预测出虚拟机的迁移时间,将应用客户端的 重传时间设置为略大于虚拟机的迁移时间,从而获得较为精准的重传时间,根 据重传时间,向客户端发出可以建立连接的时间指令,应用客户端在接收到指 令后,根据指令中设置的时间向迁移后的虚拟机发送请求。
根据本发明实施例的设置虚拟机迁移过程中的应用客户端的重传时间的方 法,避免了传统TCP协议中将往返时间RTT(Round Trip Time)设置为重传时 间,避免了重传次数增加,应用客户端响应延迟等问题,而是将影响虚拟机迁 移时间的因素考虑进来,利用预测的虚拟机迁移时间设置重传时间,设置合适 的重传时间,及时对应用客户端的请求做出响应。
基于同一发明构思,本发明还提出一种设置虚拟机迁移过程中应用客户端 的重传时间的装置,图5示出根据本发明实施例的设置虚拟机迁移过程中应用 客户端的重传时间的装置500,包括:迁移内存预测模块501,被配置为根据待 迁移虚拟机的至少一个应用的历史访问记录和内存记录预测所述待迁移虚拟机 所需的迁移内存大小;可用带宽计算模块502,被配置为计算待迁移虚拟机的 宿主机的可用迁移带宽;迁移时间计算模块503,被配置为根据预测的所述待 迁移虚拟机所需的迁移内存大小和宿主机的可用迁移带宽计算虚拟机迁移时 间;重传时间设置模块504,被配置为根据虚拟机迁移时间设置应用客户端的 重传时间。
根据本发明的实施例,其中迁移内存预测模块501进一步被配置为:根据 所述至少一个应用的历史访问记录计算一段时间内所述至少一个应用的请求到 达速率的变化和每个请求的平均服务时间;根据所述待迁移虚拟机的内存记录 统计所述一段时间内所述待迁移虚拟机对所述至少一个应用分配的内存大小的 变化;根据所述一段时间内所述至少一个应用的请求到达速率的变化和所述待 迁移虚拟机对所述至少一个应用分配的内存大小的变化计算所述一段时间内所 述待迁移虚拟机为所述至少一个应用分配的内存大小与所述至少一个应用的请 求到达速率的函数关系;以及根据所述函数关系预测所述待迁移虚拟机所需的 迁移内存大小。
根据本发明的实施例,其中迁移内存预测模块501进一步被配置为:根据 所述函数关系和迁移时刻所述至少一个应用的请求到达速率预测所述至少一个 应用所需的迁移内存大小;将所述至少一个应用所需的内存大小累加起来得到 所述待迁移虚拟机所需的迁移内存大小。
根据本发明的实施例,其中可用带宽计算模块502被配置为:在存在多个 虚拟机向宿主机请求带宽的情况下,如果宿主机的带宽大于或等于所述多个虚 拟机请求的带宽,待迁移虚拟机的宿主机的可用迁移带宽,其中WS为宿主机的带宽,Wi,(i=1...j,j≥1)为待迁移虚拟机以外的其它虚拟机请求 的带宽。
根据本发明的实施例,其中可用带宽计算模块502被配置为:在存在多个 虚拟机向宿主机请求带宽的情况下,如果宿主机的带宽小于所有虚拟机请求的 带宽,根据待迁移的虚拟机的权重计算待迁移虚拟机的宿主机的可用迁移带宽。
根据本发明的实施例,其中重传时间设置模块504进一步被配置为将应用 客户端的重传时间设置为略大于虚拟机的迁移时间。
上述每个模块的具体实现方法参照根据本发明实施例的设置虚拟机迁移过 程中应用客户端的重传时间的方法中的详细描述,在此不一一赘述。
根据本发明实施例的预测行车时间的方法和系统可以作为一个应用的插件 安装在虚拟机管理器中。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计 算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图 中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段 或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应 当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图 中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它 们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框 图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执 行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与 计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的, 并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的 情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。 本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场 中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露 的各实施例。

设置虚拟机迁移过程中应用客户端的重传时间的方法和系统.pdf_第1页
第1页 / 共14页
设置虚拟机迁移过程中应用客户端的重传时间的方法和系统.pdf_第2页
第2页 / 共14页
设置虚拟机迁移过程中应用客户端的重传时间的方法和系统.pdf_第3页
第3页 / 共14页
点击查看更多>>
资源描述

《设置虚拟机迁移过程中应用客户端的重传时间的方法和系统.pdf》由会员分享,可在线阅读,更多相关《设置虚拟机迁移过程中应用客户端的重传时间的方法和系统.pdf(14页珍藏版)》请在专利查询网上搜索。

本发明涉及虚拟机迁移,其公开了一种设置虚拟机迁移过程中应用客户端的重传时间的方法和装置,该方法包括:根据待迁移虚拟机的至少一个应用的历史访问记录和内存记录预测所述待迁移虚拟机所需的迁移内存大小;计算待迁移虚拟机的宿主机的可用迁移带宽;根据预测的所述待迁移虚拟机所需的迁移内存大小和宿主机的可用迁移带宽计算虚拟机迁移时间;根据虚拟机迁移时间设置应用客户端的重传时间。。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1