一种基于当前VCPU调度状态的动态中断均衡映射方法技术

技术编号:9967414 阅读:79 留言:0更新日期:2014-04-25 07:37
本发明专利技术公开了基于当前VCPU调度状态的动态中断均衡映射方法,当SMP虚拟机的虚拟I/O?APIC接收到一个虚拟中断后,需要将该虚拟中断映射给虚拟机的某一个VCPU时,根据当前VM的所有VCPU在VMM调度器中的调度状态,分析出处于活跃状态的部分VCPU,并且将该虚拟中断映射到活跃VCPU中,以获得较低的中断处理延时。如果同时有多个VCPU处于活跃状态,则进一步考虑各个活跃VCPU的中断负载,并且将该中断映射给当前负载最低的活跃VCPU,进一步保证各个VCPU之间的中断处理负载均衡,使得SMP结构下VCPU的负载更加对称,从而促进SMP结构下各个VCPU整体性能的均衡发挥。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了基于当前VCPU调度状态的动态中断均衡映射方法,当SMP虚拟机的虚拟I/O?APIC接收到一个虚拟中断后,需要将该虚拟中断映射给虚拟机的某一个VCPU时,根据当前VM的所有VCPU在VMM调度器中的调度状态,分析出处于活跃状态的部分VCPU,并且将该虚拟中断映射到活跃VCPU中,以获得较低的中断处理延时。如果同时有多个VCPU处于活跃状态,则进一步考虑各个活跃VCPU的中断负载,并且将该中断映射给当前负载最低的活跃VCPU,进一步保证各个VCPU之间的中断处理负载均衡,使得SMP结构下VCPU的负载更加对称,从而促进SMP结构下各个VCPU整体性能的均衡发挥。【专利说明】—种基于当前VCPU调度状态的动态中断均衡映射方法
本专利技术涉及计算机系统虚拟化、虚拟机中断处理、虚拟机调度器领域,具体地,涉及一种基于当前VCPU调度状态的动态中断均衡映射方法。
技术介绍
虚拟化技术通常将原本需要多台物理设备实现的计算或存储功能整合到一台功能相对强大的物理服务器中去,从而实现了硬件资源的整合与再分配,提高了硬件设备的利用率,在云计算以及数据中心构建中发挥着非常重要的作用。虚拟机相对于真实的物理设备,体现出很多明显的优势。首先,云计算与虚拟化技术允许企业用户使用虚拟机进行作业,从而用户不需要购置一套真实的IT设备,有效减少了企业用户在维护IT基础架构上的经济成本和管理成本。第二,基于镜像的虚拟机创建方式灵活实用,通过镜像备份技术能够很好地处理服务器灾备、重建、批量复制等问题。此外,基于虚拟机监视器(VirtualMachine Monitor, VMM)的虚拟机管理方式能够从软硬件的层面灵活处理物理资源和虚拟资源的映射关系,提供性能隔离、安全隔离、状态监控等一系列必要功能。虚拟机监视器是指存在于硬件和传统操作系统之间的一个软件管理层,其主要作用是管理真实的物理设备,例如物理CPU、内存等,并将底层的硬件抽象为对应的虚拟设备接口,使多个操作系统得到各自所需的虚拟硬件,从而使他们能够同时在同一个物理设备上运行。物理设备和虚拟操作系统之间引入的虚拟机监视器作为中间层,不可避免地使得虚拟操作系统的性能受到一定的影响,其中一个重要的方面是增加了中断的响应延时。多个VCPU共享一个物理CPU时,需要对物理CPU进行分时复用,VCPU在VMM的调度队列中的等待时间会反映到该VCPU对事件的响应时间中,进而使得中断等事件的响应延时严重增加。学术界目前对于虚拟中断延时问题的研究,主要集中在单核虚拟机上。在单核虚拟机中,由于一个虚拟机只持有一个VCPU,对中断延时的解决方法多采用减少物理CPU分时复用的时间片长度、提高VCPU之间的切换频率以及增加抢占机会等手段。这些方法在一定程度上能够降低调度延时,但同时也不可避免地增加了 VCPU上下文切换的频率,引入了额外的系统开销,从而浪费了 CPU的计算能力。对于对称式多处理器(SymmetricMult1-Processor, SMP)架构的虚拟机,目前学术界的研究则多集中在VCPU协同调度的问题上,即虚拟机中多个VCPU之间的同步和通信问题,对中断等事件延时问题的研究则相对较少。目前,在虚拟机监视器的实例,例如KVM与XEN的实现中,主要采用虚拟中断处理设备的方式来处理虚拟机中的中断。在XEN中,虚拟机根据虚拟化的方式分成两种类型,即全虚拟化和半虚拟化。在全虚拟化模式下,虚拟操作系统不需要经过任何修改,XEN通过虚拟中断处理平台来实现虚拟中断处理;而在半虚拟化中,虚拟操作系统的内核需要被修改以适应宿主机的操作系统,XEN通过事件通道机制实现中断和事件处理。KVM则没有全虚拟化和半虚拟化的区别,虚拟机的中断在KVM中都是通过虚拟中断处理设备来处理的。在虚拟机的中断架构中,和物理平台一样,每一个VCPU都对应了 一个虚拟本地APIC (Advanced Programmable Interrupt Controller)由于接收中断。虚拟平台也包含了虚拟I/O APIC、虚拟PIC等虚拟设备来发送中断。和VCPU—样,虚拟I/O APIC、虚拟本地APIC、虚拟PIC都是VMM维护的软件实体。通常SMP架构虚拟机的虚拟设备,例如虚拟网卡等调用虚拟I/O APCI发出中断请求,虚拟I/O APIC根据中断和VCPU的映射关系选择一个VCPU作为中断的接收者,将中断请求发送到该目标VCPU的虚拟本地APIC中。虚拟本地APIC进一步利用VT-x的事件注入机制最终完成虚拟中断的注入。需要指出的是,在多VCPU架构的虚拟机中,各个VCPU在调度器的调度下对物理CPU进行分时复用,进而出现部分VCPU活跃、部分VCPU处于排队状态的局面。现有的虚拟机中断处理技术中,当虚拟I/O APIC需要将中断请求映射到VCPU中时,没有考虑VCPU当前的调度状态,盲目地为中断分配VCPU。虚拟中断被分配给处于调度等待状态的VCPU时,VCPU在调度队列中的等待延时成为了该中断的响应延时的一部分,从而大大提高了中断请求的响应延迟,降低了中断请求的处理速率。
技术实现思路
鉴于现有技术的上述缺陷,本专利技术所要解决的技术问题是提供一种基于当前VCPU调度状态和中断处理负载分析的动态中断均衡映射方法,在中断映射的同时既考虑了 VCPU作为中断映射的目标结构在VMM的调度器中的调度状态,又考虑了各个VCPU之间的中断负载均衡,从而有效地降低了中断处理延时。为实现上述目的,本专利技术提供了一种基于当前VCPU调度状态和中断处理负载分析的动态中断均衡映射方法,其特征在于:当SMP虚拟机的虚拟I/O APIC接收到一个虚拟中断后,需要将该虚拟中断映射给虚拟机的某一个VCPU时,根据当前VM的所有VCPU在VMM调度器中的调度状态,分析出处于活跃状态的部分VCPU,并且将该虚拟中断映射到活跃VCPU中,以获得较低的中断处理延时。如果同时有多个VCPU处于活跃状态,则进一步考虑各个活跃VCPU的中断负载,并且将该中断映射给当前负载最低的活跃VCPU,以实现VCPU中断负载平衡。本专利技术提供一种基于当前VCPU调度状态的动态中断均衡映射方法,其特征在于,方法包括以下步骤:(I)每当虚拟硬件产生一个虚拟中断,虚拟I/O APIC接收虚拟中断,并将虚拟中断传送到目标VCPU的虚拟本地APIC ;(2)中断均衡分配器在虚拟中断被传送到目标VCPU的虚拟本地APIC之前拦截虚拟中断;(3)中断均衡分配器查看调度器提供的调度状态信息,获得处于活跃状态的VCPU列表;(4)中断均衡分配器根据处于活跃状态的VCPU列表,重新选定目标VCPU ;(5 )中断均衡分配器将虚拟中断传送到步骤(3 )中重新选定的目标VCPU的虚拟本地 APIC ;(6)目标VCPU的虚拟本地APIC向目标VCPU进行虚拟中断注入。进一步地,步骤(3)中选定目标VCPU的方法包括步骤:(31)获得处于活跃状态的VCPU列表中VCPU的个数;(32)如果个数为O,根据调度状态信息,选定目标VCPU ;如果个数为1,选定处于活跃状态的VCPU列表中VCPU为目标VCPU ;如果个数大于I,根据处于活跃状态的VCPU列表中VCPU的中断负载,选定本文档来自技高网
...

【技术保护点】
一种基于当前VCPU调度状态的动态中断均衡映射方法,其特征在于,所述方法包括以下步骤:(1)每当虚拟硬件产生一个虚拟中断,虚拟I/O?APIC接收所述虚拟中断,并将所述虚拟中断传送到目标VCPU的虚拟本地APIC;(2)中断均衡分配器在所述虚拟中断被传送到所述目标VCPU的虚拟本地APIC之前拦截所述虚拟中断;(3)所述中断均衡分配器分析调度器提供的调度状态信息,获得处于活跃状态的VCPU列表;(4)所述中断均衡分配器根据所述处于活跃状态的VCPU列表,重新选定目标VCPU;(5)所述中断均衡分配器将所述虚拟中断传送到步骤(3)中重新选定的目标VCPU的虚拟本地APIC;(6)所述目标VCPU的虚拟本地APIC向所述目标VCPU进行所述虚拟中断注入。

【技术特征摘要】

【专利技术属性】
技术研发人员:管海兵李健马汝辉朱敏君周凡夫
申请(专利权)人:上海交通大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1