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密集型的虚拟处理器加入到检测窗口,为所 述虚拟处理器分配初始的资源配额; 调度判断模块,用于按顺序调度所述可运行队列中的虚拟处理器,如果 被调度的虚拟处理器不在所述检测窗口内,运行所述虚拟处理器,运行完成 后调度所述可运行队列中下一个虚拟处理器,否则,启动调度控制模块; 所述调度控制模块包括资源配额判断模块, 所述资源配额判断模块,用于依据所述虚拟处理器当前剩余的资源配额 确定是否运行所述虚拟处理器,在运行完成后更新所述虚拟处理器的剩余资 源配额,调度所述可运行队列中下一个虚拟处理器。
13.如权利要求12所述虚拟机调度的装置,其特征在于,所述资源配额 对应表示为I/O信誉度。
14.如权利要求13所述虚拟机调度的装置,其特征在于,所述资源配额 判断模块,进一步用于在所述虚拟处理器当前的I/O信誉度大于0时,确定 运行所述虚拟处理器,在运行完成后,将所述虚拟处理器的I/O信誉度减去 所述运行中完成的I/O处理数量,并调度所述可运行队列中下一个虚拟处理 器,在所述虚拟处理器当前的I/O信誉度不大于0时,调度所述可运行队列 中下一个虚拟处理器。
15.如权利要求14所述虚拟机调度的装置,其特征在于, 所述调度控制模块还包括数量判断模块, 所述数量判断模块用于判断所述检测窗口中包含的虚拟处理器个数是否 为1,如果是,运行所述虚拟处理器,在运行完成后调度所述可运行队列中 下一个虚拟处理器,否则,启动所述资源配额判断模块。
16.如权利要求15所述虚拟机调度的装置,其特征在于, 所述调度控制模块还包括所属域判断模块, 所述所属域判断模块用于判断所述虚拟处理器所属的虚拟机是否属于驱 动域或特权虚拟机所在的域,如果是,则运行所述虚拟处理器,在运行完成 后调度所述可运行队列中下一个虚拟处理器,否则,启动所述数量判断模块。
17.如权利要求14所述虚拟机调度的装置,其特征在于, 所述资源配额判断模块还用于在将所述虚拟处理器的I/O信誉度减去所 述运行中完成的I/O处理数量后,在所述检测窗口内的所有虚拟处理器的I/O 信誉度都小于0时,按所述初始的资源配额增加所述检测窗口内的所有虚拟 处理器的I/O信誉度。
18.如权利要求12所述虚拟机调度的装置,其特征在于, 所述检测窗口模块在将I/O密集型的虚拟处理器加入到检测窗口时进一 步用于统计所述虚拟处理器运行时完成的I/O操作数量大于预设值的次数占 所述虚拟处理器运行的次数的比值,并在所述比值大于1/2时,将所述虚拟 处理器加入到检测窗口。
19.如权利要求18所述虚拟机调度的装置,其特征在于,所述检测窗口 模块在统计所述虚拟处理器运行时完成的I/O操作数量大于预设值的次数占 所述虚拟处理器运行的次数的比值时进一步用于对应于每个虚拟处理器维护 一历史窗口,每个所述历史窗口的长度相同;如果所述虚拟处理器运行时完 成的I/O操作数量大于预设值,则将所述历史窗口的对应位置为1,否则, 将所述历史窗口的对应位置为0;将所述历史窗口中1的个数除以所述历史 窗口长度,所得商为所述比值。
20.如权利要求18所述虚拟机调度的装置,其特征在于,所述检测窗口 模块在统计所述虚拟处理器运行时完成的I/O操作数量大于预设值的次数占 所述虚拟处理器运行的次数的比值时进一步用于对应于每个虚拟处理器维护 一历史窗口,每个所述历史窗口的长度相同;如果所述虚拟处理器运行时完 成对网络设备或块设备的I/O操作数量大于预设值,则将所述历史窗口的对 应位置为1,否则,将所述历史窗口的对应位置为0;将所述历史窗口中1 的个数除以所述历史窗口长度,所得商为所述比值。
21.如权利要求19中所述虚拟机调度的装置,其特征在于, 对于网络设备,所述I/O处理数量为发送和接收的网络包的数量。
22.如权利要求19中所述虚拟机调度的装置,其特征在于, 对于块设备,所述I/O处理数量为读和写的磁盘块的数量。
展开