[发明专利]一种基于当前VCPU调度状态的动态中断均衡映射方法有效
申请号: | 201410018108.3 | 申请日: | 2014-01-15 |
公开(公告)号: | CN103744716A | 公开(公告)日: | 2014-04-23 |
发明(设计)人: | 管海兵;李健;马汝辉;朱敏君;周凡夫 | 申请(专利权)人: | 上海交通大学 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F9/50 |
代理公司: | 上海旭诚知识产权代理有限公司 31220 | 代理人: | 郑立 |
地址: | 200240 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 当前 vcpu 调度 状态 动态 中断 均衡 映射 方法 | ||
技术领域
本发明涉及计算机系统虚拟化、虚拟机中断处理、虚拟机调度器领域,具体地,涉及一种基于当前VCPU调度状态的动态中断均衡映射方法。
背景技术
虚拟化技术通常将原本需要多台物理设备实现的计算或存储功能整合到一台功能相对强大的物理服务器中去,从而实现了硬件资源的整合与再分配,提高了硬件设备的利用率,在云计算以及数据中心构建中发挥着非常重要的作用。虚拟机相对于真实的物理设备,体现出很多明显的优势。首先,云计算与虚拟化技术允许企业用户使用虚拟机进行作业,从而用户不需要购置一套真实的IT设备,有效减少了企业用户在维护IT基础架构上的经济成本和管理成本。第二,基于镜像的虚拟机创建方式灵活实用,通过镜像备份技术能够很好地处理服务器灾备、重建、批量复制等问题。此外,基于虚拟机监视器(Virtual Machine Monitor,VMM)的虚拟机管理方式能够从软硬件的层面灵活处理物理资源和虚拟资源的映射关系,提供性能隔离、安全隔离、状态监控等一系列必要功能。
虚拟机监视器是指存在于硬件和传统操作系统之间的一个软件管理层,其主要作用是管理真实的物理设备,例如物理CPU、内存等,并将底层的硬件抽象为对应的虚拟设备接口,使多个操作系统得到各自所需的虚拟硬件,从而使他们能够同时在同一个物理设备上运行。
物理设备和虚拟操作系统之间引入的虚拟机监视器作为中间层,不可避免地使得虚拟操作系统的性能受到一定的影响,其中一个重要的方面是增加了中断的响应延时。多个VCPU共享一个物理CPU时,需要对物理CPU进行分时复用,VCPU在VMM的调度队列中的等待时间会反映到该VCPU对事件的响应时间中,进而使得中断等事件的响应延时严重增加。
学术界目前对于虚拟中断延时问题的研究,主要集中在单核虚拟机上。在单核虚拟机中,由于一个虚拟机只持有一个VCPU,对中断延时的解决方法多采用减少物理CPU分时复用的时间片长度、提高VCPU之间的切换频率以及增加抢占机会等手段。这些方法在一定程度上能够降低调度延时,但同时也不可避免地增加了VCPU上下文切换的频率,引入了额外的系统开销,从而浪费了CPU的计算能力。对于对称式多处理器(Symmetric Multi-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在调度队列中的等待延时成为了该中断的响应延时的一部分,从而大大提高了中断请求的响应延迟,降低了中断请求的处理速率。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410018108.3/2.html,转载请声明来源钻瓜专利网。