【技术实现步骤摘要】
本专利技术涉及虚拟化领域,尤其涉及一种虚拟机调度的装置及方法。
技术介绍
虚拟化使得不同服务可以互不干扰的整合在同一物理机器上,充分利用系统资源。当服务整合时,通常将每个服务放在一个独立的虚拟机中。因此,需要保证虚拟机之间的公平和效率。公平是指同一个物理节点上的虚拟机,应该以用户指定的配额共享物理资源,互不干扰;效率是指尽可能提高整个系统的吞吐率。在虚拟机系统中,调度器是用于调度虚拟机的VCPU(虚拟处理器)的装置。在系统启动时,每个虚拟机的VCPU根据其所属虚拟机包含的VCPU的数量,获得对应的信誉度。当VCPU还有剩余信誉度时,该VCPU处于UNDER状态;当VCPU的信誉度被用完时,该VCPU处于OVER状态;当VCPU进行I/O处理时,该VCPU处于BOOST状态。每个被调度运行的VCPU最多运行30ms,对于被调度运行的VCPU,每隔10毫秒将该VCPU的信誉度的值减去100。当系统中VCPU的信誉度总和小于0时,由调度器重新为各个VCPU分配信誉度。调度器的调度方法如图1所示。调度器将具有任务等待调度的VCPU按调度的优先级排列到可运行队列中。按VCPU所处的状态确定VCPU的调度优先级,由高到低的顺序为BOOST状态、UNDER状态、OVER状态,可运行队列的队尾为系统的空转VCPU。在图1中,虚拟处理器A、B、H处于BOOST状态,虚拟处理器C、D、E处于UNDER状态,虚拟处理器F处于OVER状态,虚拟处理器G为空转VCPU。被调度运行完的虚拟处理器H插入到其相同状态的所有VCPU之后。现有技术中的调度器可以保证VCPU之间按照信誉度的 ...
【技术保护点】
1.一种虚拟机调度的方法,按调度优先级从高到低的顺序将待调度的虚
拟机的虚拟处理器排列在可运行队列中,其特征在于,包括:
步骤1,将I/O密集型的虚拟处理器加入到检测窗口,为所述虚拟处理
器分配初始的资源配额;
步骤2,按顺序调度所述可运行队列中的虚拟处理器,如果被调度的虚
拟处理器不在所述检测窗口内,运行所述虚拟处理器,运行完成后调度所述
可运行队列中下一个虚拟处理器,否则,执行下一步骤;
步骤3,依据所述虚拟处理器当前剩余的资源配额确定是否运行所述虚
拟处理器,在运行完成后更新所述虚拟处理器的剩余资源配额,调度所述可
运行队列中下一个虚拟处理器。
【技术特征摘要】
1.一种虚拟机调度的方法,按调度优先级从高到低的顺序将待调度的虚拟机的虚拟处理器排列在可运行队列中,其特征在于,包括:步骤1,将I/O密集型的虚拟处理器加入到检测窗口,为所述虚拟处理器分配初始的资源配额;步骤2,按顺序调度所述可运行队列中的虚拟处理器,如果被调度的虚拟处理器不在所述检测窗口内,运行所述虚拟处理器,运行完成后调度所述可运行队列中下一个虚拟处理器,否则,执行下一步骤;步骤3,依据所述虚拟处理器当前剩余的资源配额确定是否运行所述虚拟处理器,在运行完成后更新所述虚拟处理器的剩余资源配额,调度所述可运行队列中下一个虚拟处理器。2.如权利要求1所述虚拟机调度的方法,其特征在于,所述资源配额对应表示为I/O信誉度。3.如权利要求2所述虚拟机调度的方法,其特征在于,所述步骤3进一步为:步骤31,如果所述虚拟处理器当前的I/O信誉度大于0,则确定运行所述虚拟处理器,在运行完成后,将所述虚拟处理器的I/O信誉度减去所述运行中完成的I/O处理数量,并调度所述可运行队列中下一个虚拟处理器,否则,调度所述可运行队列中下一个虚拟处理器。4.如权利要求3所述虚拟机调度的方法,其特征在于,所述步骤2和所述步骤3之间还包括:步骤41,判断所述检测窗口中包含的虚拟处理器个数是否为1,如果是,运行所述虚拟处理器,在运行完成后调度所述可运行队列中下一个虚拟处理器,否则,执行所述步骤3。5.如权利要求4所述虚拟机调度的方法,其特征在于,所述步骤2和所述步骤41间还包括:步骤51,判断所述虚拟处理器所属的虚拟机是否属于驱动域或特权虚拟机所在的域,如果是,则运行所述虚拟处理器,在运行完成后调度所述可运行队列中下一个虚拟处理器,否则,执行所述步骤41。6.如权利要求3所述虚拟机调度的方法,其特征在于,所述将所述虚拟处理器的I/O信誉度减去所述运行中完成的I/O处理数量后还包括:步骤61,在所述检测窗口内的所有虚拟处理器的I/O信誉度都小于0时,按所述初始的资源配额增加所述检测窗口内的所有虚拟处理器的I/O信誉度。7.如权利要求1所述虚拟机调度的方法,其特征在于,所述步骤1中将I/O密集型的虚拟处理器加入到检测窗口进一步为:步骤71,统计所述虚拟处理器运行时完成的I/O操作数量大于预设值的次数占所述虚拟处理器运行的次数的比值;步骤72,当所述比值大于1/2时,将所述虚拟处理器加入到检测窗口。8.如权利要求7所述虚拟机调度的方法,其特征在于,所述步骤71进一步为:步骤81,对应于每个虚拟处理器维护一历史窗口,每个所述历史窗口的长度相同;步骤82,如果所述虚拟处理器运行时完成的I/O操作数量大于预设值,则将所述历史窗口的对应位置为1,否则,将所述历史窗口的对应位置为0;步骤83,将所述历史窗口中1的个数除以所述历史窗口长度,所得商为所述比值。9.如权利要求7所述虚拟机调度的方法,其特征在于,所述步骤71进一步为:步骤91,对应于每个虚拟处理器维护一历史窗口,每个所述历史窗口的长度相同;步骤92,如果所述虚拟处理器运行时完成对网络设备或块设备的I/O操作数量大于预设值,则将所述历史窗口的对应位置为1,否则,将所述历史窗口的对应位置为0;步骤93,将所述历史窗口中1的个数除以所述历史窗口长度,所得商为所述比值。10.如权利要求9中所述虚拟机调度的方法,其特征在于,对于网络设备,所述I/O处理数量为发送和接收的网络包的数量。11.如权利要求9中所述虚拟机调度的方法,其特征在于,对于块设备,所述I/O处理数量为读和写的磁盘块的数量。12.一种虚拟机调度的装置,用于按调度优先级从高到低的顺序将待调度的虚拟机的虚拟处理器排列在可运行队列中,其特征在于,所述装置包括:检测窗口模块,用于将I/O密集型的虚拟处理器...
【专利技术属性】
技术研发人员:张翔,马捷,孟丹,
申请(专利权)人:中国科学院计算技术研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。