加速器及其实现支持虚拟机迁移的方法

文档序号:6605159阅读:1082来源:国知局
专利名称:加速器及其实现支持虚拟机迁移的方法
技术领域
本发明涉及加速器,特别涉及支持虚拟机迁移的加速器及其实现虚拟机迁移的方法。
背景技术
云计算是一种基于互联网的计算新方式,通过互联网上异构、自治的服务为个人和企业用户提供按需即取的计算。云计算通常认为包括以下几个层次的服务基础设施即服务(IaaS),平台即服务(PaaS)和软件即服务(SaaS)。虚拟化技术是“云计算(Cloud Computing) ”技术中的一项重要且基础的技术,由于其具备按需配置和动态迁移能力,因此成为实现云计算动态、可伸缩的扩展的关键。为了实现云计算的高度弹性以满足业务或者管理的策略和需求,需要经常性地实施虚拟机在物理机之间的动态迁移和汇聚,从而达到节省能耗,提高资源利用率,降低管理成本等目标。然而虚拟机迁移是一个IO高度敏感的过程,当虚拟机在被实施迁移的过程中,由于其上业务或者应用仍然在正常工作,因此对虚拟机的迁移产生不可预期的影响,而目前虚拟机通常利用物理机上的加速器进行业务相关逻辑运算和IO操作,在这种情形下,这个问题就变得更加严重和具有挑战性,由于只能等待加速器处理完当前任务队列中的任务请求,才能进行虚拟机的迁移,而加速器处理请求的完成时间又不确定,因此使虚拟机迁移的时间变的更加不确定,而长时间的等待使得用户新的请求无法被处理,大大降低了用户的服务质量。因此如何在物理机提供加速器应用和支持的环境下,提高虚拟机迁移的效率和性能对实现云系统的弹性和保证云服务的质量具有至关重要的意义和价值。

发明内容
基于上述问题,本发明提供一种加速器及其实现支持虚拟机迁移的方法。根据本发明的第一方面,提供一种由加速器实现支持虚拟机迁移的方法,包括获取任务队列中的任务请求;提取该任务请求中的相关虚拟机的标识信息;判断提取的相关虚拟机的标识信息与虚拟机标识信息表中记录的待迁移虚拟机的标识信息是否匹配;以及如果匹配,那么将该任务请求从任务队列中删除。根据本发明的第二方面,提供一种实现支持虚拟机迁移的加速器,包括获取模块,被配置为获取任务队列中的任务请求;提取模块,被配置为提取该任务请求中的相关虚拟机的标识信息;判断模块,被配置为判断提取的相关虚拟机的标识信息与虚拟机标识信息表中记录的待迁移虚拟机的标识信息是否匹配;以及删除模块,被配置为如果匹配,那么将该任务请求从该任务队列中删除。根据本发明的第三方面,提供一种实现支持虚拟机迁移的处理器,该处理器包括本发明实现支持虚拟机迁移的加速器。根据本发明实施例的方法和加速器,能够支持虚拟机快速、高效地迁移,从而消除了由加速器引入的等待时间不确定因素造成迁移延迟。


结合附图,通过参考下列详细的示例性实施例的描述,将会更好地理解本发明本身、优选的实施方式以及本发明的目的和优点,其中图1示出根据本发明一个实施例在同一物理机上部署多个虚拟机的虚拟化环境架构示意图;图加示出集成有加速器的CPU芯片内部结构图;图2b示出加速器的内部构造图;图3示出根据本发明的一个实施例由加速器实现支持虚拟机迁移的方法;图4示出根据本发明的一个实施例的预先建立虚拟机标识信息表的过程;图5示出了根据本发明的一个实施例由加速器实现支持虚拟机迁移的方法的流程图;图6示出根据本发明一个实施例的实现支持虚拟机迁移的加速器的框图;以及图7示出根据本发明一个实施例的实现支持虚拟机迁移的加速器的硬件结构。
具体实施例方式以下结合附图描述根据本发明实施例的支持虚拟机迁移的加速器及其支持虚拟机迁移的方法,将会更好地理解本发明的目的和优点。图1示出根据本发明一个实施例在同一物理机上部署多个虚拟机的虚拟化环境架构示意图,虚拟化环境包括物理机、虚拟机管理器(Hypervisor)和多个虚拟机,其中虚拟机是一种严密隔离的软件容器,它包括多个客户机操作系统(guest OS)以及运行在每个客户机操作系统上的多个应用程序,可具有不同操作系统的多个虚拟机在同一物理机上独立并行运行,从而在多台虚拟机之间实现单台物理机的资源共享。虚拟机管理器 (hypervisor)是提供底层机器虚拟化的软件层,其运行在物理硬件之上,在底层上实现对虚拟机的管理和支持,以动态和透明方式向虚拟机分配硬件资源。本发明的实施例可以运行在Xen,VMWare, LPAR等虚拟机运行环境内,也可以是任何类型的独立于平台的虚拟机, 例如 C#、Smalltalk、Ruby、D 语言、nuva。本发明实现在提供加速功能的物理机上,加速器是为加速特定功能或算法定制的硬件电路单元,具有性能高、高能效的特点,通常被集成在CPU芯片内,常见的加速功能包括压缩/解压缩,加密/解密,视频编解码以及模式匹配等,其承担了处理器核的重要任务,使处理器核能够专注于访问控制、系统配置和状态管理等其他任务,从而使处理器核解脱出来以最大限度地提高系统对警报和操作员交互的响应速度。图加示出集成有加速器的CPU芯片内部结构图,图2b示出加速器的内部构造图,其包括输入数据队列、输出数据队列、任务队列以及加速功能单元,输入数据队列和输出数据队列与总线连接,输入数据队列从处理器接收指令,输出数据队列将加速功能单元实现的最终计算结果传输到指定的内存单元,任务队列包含等待处理的任务,加速功能单元用于完成上述特定的加速功能。图3示出根据本发明的一个实施例由加速器实现支持虚拟机迁移的方法,包括 在步骤S301,获取任务队列中的任务请求;在步骤S302,提取该任务请求中的相关虚拟机的标识信息;在步骤S303,判断提取的相关虚拟机的标识信息与虚拟机标识信息表中记录的待迁移虚拟机的标识信息是否匹配;以及在步骤S304,如果匹配,那么将该任务请求从任务队列中删除。根据本发明的一个实施例,还包括预先建立虚拟机标识信息表的步骤。图4示出根据本发明的一个实施例的预先建立虚拟机标识信息表的过程,包括在步骤S401,从虚拟机管理器接收到包含待迁移虚拟机的标识信息的控制请求;在步骤S402,从控制请求中提取待迁移虚拟机的标识信息;在步骤S403,在虚拟机标识信息表中添加该提取的待迁移的虚拟机的标识信息;以及可选地,在步骤S404,在任务队列末尾设置删除任务标记,用来标记从虚拟机标识信息表中删除该待迁移的虚拟机的标识信息的任务请求,其中该删除任务标记包含该待迁移的虚拟机的标识信息。根据本发明的实施例,步骤S403和S404并没有绝对的时间上的先后顺序,既可以先执行S402,也可以先执行S403。根据本发明的一个实施例,当一个虚拟机VM准备迁移时,虚拟机管理器向该虚拟机使用的所有加速器发出控制请求aCCelerat0r_filter_set(RA,VMID),其中该控制请求的语义如下
权利要求
1.一种由加速器实现支持虚拟机迁移的方法,包括 获取任务队列中的任务请求;提取该任务请求中相关虚拟机的标识信息;判断提取的相关虚拟机的标识信息与虚拟机标识信息表中记录的待迁移虚拟机的标识信息是否匹配;以及如果匹配,那么将该任务请求从该任务队列中删除。
2.根据权利要求1所述的方法,进一步包括预先建立虚拟机标识信息表。
3.根据权利要求2所述的方法,其中预先建立虚拟机标识信息表进一步包括 从虚拟机管理器接收包含待迁移虚拟机的标识信息的控制请求;从控制请求中提取待迁移虚拟机的标识信息;以及在虚拟机标识信息表中添加该提取的待迁移的虚拟机的标识信息。
4.根据权利要求3所述的方法,其中预先建立虚拟机标识信息表进一步包括在该任务队列末尾设置删除任务标记,其中该删除任务标记包含该待迁移的虚拟机的标识信息。
5.根据权利要求4所述的方法,其中如果匹配,那么将该任务请求从任务队列中删除进一步包括如果匹配,那么判断该任务请求中是否包含删除任务标记;如果该任务请求中包含删除任务标记,那么从虚拟机标识信息表中删除该待迁移的虚拟机的标识信息;如果该任务请求中不包含删除任务标记,那么将该任务请求从任务队列中删除。
6.根据权利要求1-5中任一权利要求所述的方法,其中如果不匹配,那么执行该任务请求。
7.根据权利要求1-5中任一权利要求所述的方法,其中相关虚拟机的标识信息包括发出该任务请求的应用程序所在的虚拟机的标识信息。
8.一种实现支持虚拟机迁移的加速器,包括 获取模块,被配置为获取任务队列中的任务请求;提取模块,被配置为提取该任务请求中的相关虚拟机的标识信息; 判断模块,被配置为判断提取的相关虚拟机的标识信息与虚拟机标识信息表中记录的待迁移虚拟机的标识信息是否匹配;以及删除模块,被配置为如果匹配,那么将该任务请求从该任务队列中删除。
9.根据权利要求8所述的加速器,进一步包括虚拟机标识信息表建立模块,被配置为预先建立虚拟机标识信息表。
10.根据权利要求9所述的加速器,其中虚拟机标识信息表建立模块进一步被配置为 从虚拟机管理器接收包含待迁移虚拟机的标识信息的控制请求;从控制请求中提取待迁移虚拟机的标识信息;以及在虚拟机标识信息表中添加该提取的待迁移虚拟机的标识信息。
11.根据权利要求10所述的加速器,其中虚拟机标识信息表建立模块进一步被配置为在任务队列末尾设置删除任务标记,其中该删除任务标记包含该待迁移的虚拟机的标识信息。
12.根据权利要求11所述的加速器,其中如果匹配,那么将该任务请求从任务队列中删除进一步包括如果匹配,那么判断该任务请求中是否包含删除任务标记;如果该任务请求中包含删除任务标记,那么从虚拟机标识信息表中删除该待迁移虚拟机的标识信息;如果该任务请求中不包含删除任务标记,那么将该任务请求从任务队列中删除。
13.根据权利要求8-12中任一权利要求所述的加速器,进一步包括执行模块,被配置为如果判断结果为否,那么执行该任务请求。
14.根据权利要求8-12中任一权利要求所述的加速器,其中相关虚拟机的标识信息包括发出该任务请求的应用程序所在的虚拟机的标识信息。
15.一种支持虚拟机迁移的处理器,包括权利要求8-14所述的加速器。
全文摘要
本发明公开一种加速器及其实现支持虚拟机迁移的方法,该方法包括获取任务队列中的任务请求;提取该任务请求中的相关虚拟机的标识信息;判断提取的相关虚拟机的标识信息与虚拟机标识信息表中记录的待迁移虚拟机的标识信息是否匹配;以及如果匹配,那么将该任务请求从任务队列中删除。根据本发明实施例的方法和加速器,能够支持虚拟机快速、高效地迁移,从而消除了由加速器引入的等待时间不确定因素造成迁移延迟。
文档编号G06F9/455GK102314377SQ20101021608
公开日2012年1月11日 申请日期2010年6月30日 优先权日2010年6月30日
发明者侯锐, 刘亮, 刘卫, 吴玉会, 戈弋 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1