一种面向虚拟桌面的VCPU调度方法技术

技术编号:13884317 阅读:70 留言:0更新日期:2016-10-23 18:49
本发明专利技术提供一种面向虚拟桌面的VCPU调度方法,包括下列步骤:1)在每个调度周期,根据所搜集的各个VCPU当前所处理任务的类型,将VCPU分为前台VCPU和后台VCPU;2)基于抢占原则对VCPU进行调度,所述抢占原则包括:前台VCPU抢占正在运行的后台VCPU的物理资源,前台VCPU之间不进行物理资源抢占。本发明专利技术能够自适应地匹配虚拟桌面系统的负载类型,提高虚拟桌面系统的用户交互体验。

【技术实现步骤摘要】

本专利技术涉及云计算、虚拟化及虚拟桌面
,具体地说,本专利技术涉及一种面向虚拟桌面的VCPU调度方法
技术介绍
现有的虚拟化软件如Xen、KVM等对虚拟桌面的VCPU调度基本是按照传统的面向公平原则进行调度,重点体现在虚拟桌面之间尽可能平均分配处理器资源。例如,在KVM虚拟化软件中,采用的是Linux内核的完全公平调度(Completely Fair Schedule,CFS)算法,该算法的特点是将所有进程统一对待,在众多测试中该调度算法的性能表现也非常优越。CFS调度算法最早在Linux 2.6.23内核中发布,改进了在早期内核调度算法的复杂度的问题,使调度算法更加简单、有效。它的出现彻底改变了内核实施进程调度的方式,不再依赖划分时间片和增加抢占点。CFS算法的核心思想是基于虚拟时钟的概念。虚拟时钟区别于硬件的实际时钟,虚拟时钟可以根据权重调节步调,按照不同的步调前进。而实际时钟则是按照固定的步调前进,不能改变。每个处理器不仅维护着实际的时钟,还在对应的运行队列中维护着一个虚拟时钟,它的前进步伐与该处理器上的进程总权重成反比,总权重越大,虚拟时钟前进的步伐越慢。同时,每个进程也有自己的虚拟时钟,它记录着进程已经占用CPU的虚拟时间。它的前进步伐与进程的权重成反比,进程的权重对应进程的优先级,对于不同优先级的进程,一般来说,优先级低的进程其虚拟时钟的步调会比较快,而优先级高的步调会比较慢。CFS调度算法会选择最落后于运行队列虚拟时钟的进程来执行。现有的CFS调度算法虽然能够最大限度地体现资源分配的均衡性,但它并不能很好地支持虚拟桌面系统运行。尤其是在用户体验方面,CFS调度算法难以做到与同等配置的物理桌面计算机(如笔记本电脑、台式机等)相媲美,用户在使用虚拟桌面系统时,往往有操作延迟大、响应慢等不良体验,这也是虚拟桌面系统的主要挑战之一。宿主物理机上同时运行的虚
拟桌面数量越多,用户体验越差。
技术实现思路
因此,本专利技术的任务是克服现有技术的不足,提供一种面向虚拟桌面的VCPU调度解决方案。本专利技术提供了一种面向虚拟桌面的VCPU调度方法,包括下列步骤:1)在每个调度周期,根据所搜集的各个VCPU当前所处理任务的类型,将VCPU分为前台VCPU和后台VCPU,前台VCPU的调度优先级高于后台VCPU;2)基于抢占原则对VCPU进行调度,所述抢占原则包括:前台VCPU抢占正在运行的后台VCPU的物理资源,前台VCPU之间不进行物理资源抢占。其中,所述步骤1)还包括:如果一个任务的所属应用的窗口界面显示在当前屏幕上,则该任务的类型为前台任务,否则该任务的类型为后台任务。其中,所述步骤1)包括下列子步骤:11)搜集各个VCPU当前所处理任务的类型,以及系统中各类中断与VCPU的映射绑定关系;12)将VCPU分为前台VCPU和后台VCPU;13)对前台VCPU划分子优先级。其中,所述步骤11)中,所述的搜集各个VCPU当前所处理任务的类型以及系统中各类中断与VCPU的映射绑定关系,由在客户机操作系统中运行一个内核级代理执行。其中,所述步骤13)中,根据前台VCPU的当前前台任务类型分配子优先级,前台任务类型包括:用户输入事件处理任务、面向用户的输出任务、硬件设备中断及事件处理任务以及由用户输入引起的并需要在输出中反馈给用户处理结果的任务,这些前台任务类型按照子优先级由高至低的顺序排序。其中,所述步骤2)还包括:前台VCPU之间按照各自的子优先级分配空闲的物理资源。其中,所述步骤2)还包括:当同一个客户机操作系统上同时有两个及以上的前台任务时,当同一台宿主物理机上运行多台虚拟机的多个前台
任务时,或者多个不同虚拟机的前台任务的VCPU由物理机上同一个物理CPU执行时,前台VCPU之间按照各自的子优先级分配空闲的物理资源。其中,所述步骤2)还包括:在虚拟机监视器中设置专用的前台VCPU迁移调度线程,在物理CPU之间迁移和调度前台VCPU,使得各物理CPU所运行的前台VCPU数目基本一致,实现动态的平衡。其中,所述步骤2)还包括:在虚拟机的层面上,通过调度使得任意两个拥有相同数量和配置的VCPU的虚拟机,在同一个调度周期内各个VCPU运行时间的总和大致相同。与现有技术相比,本专利技术具有下列技术效果:1、本专利技术能够自适应地匹配虚拟桌面系统的负载类型,提高虚拟桌面系统的用户交互体验。2、本专利技术能够在保证良好用户体验的前提下提高宿主物理机上同时运行的虚拟桌面系统的数量,节约硬件成本。3、本专利技术能够对通过恶意抢占宿主物理机CPU资源而制造拒绝服务攻击进行有效防御。附图说明以下,结合附图来详细说明本专利技术的实施例,其中:图1示出了本专利技术一个实施例中前台VCPU在宿主物理机CPU调度队列中迁移之前的状态;该状态为不均衡状态;图2示出了本专利技术一个实施例中前台VCPU在宿主物理机CPU调度队列中迁移之后的状态;该状态为均衡状态;图3示出了本专利技术一个实施例中同一个调度周期内两个虚拟机中VCPU运行时间的总和对比;上述附图中,Host表示宿主机,即物理机,Frontend VCPU表示前台VCPU,Background VCPU表示后台VCPU,VM1表示虚拟机1,VM2表示虚拟机2。具体实施方式如前文所述,用户在使用虚拟桌面系统时,往往有操作延迟大、响应慢等不良体验,这也是虚拟桌面系统的主要挑战之一。宿主物理机上同时运行的虚拟桌面数量越多,用户体验越差。专利技术人对此进行了深入研究,
发现这与目前的面向公平原则的虚拟机VCPU调度策略有直接的关系。不同虚拟机的多个VCPU运行在宿主机上相同的物理CPU上,并通过各种调度算法(如CFS)进行公平性调度。当用户在虚拟桌面系统中操作时(如敲击键盘),需要由虚拟桌面系统的某一个VCPU对键盘输入中断予以响应,而此时,该VCPU可能并未被调度执行,从而不能及时响应该中断,而只有等到VCPU被调度执行时,该键盘输入操作才能够得到响应,这就会造成用户操作延迟大。因此,现有虚拟化环境下常用的面向公平原则的VCPU调度算法并不适用于虚拟桌面系统的场景。基于此,根据本专利技术的一个实施例,提出了一种面向虚拟桌面的VCPU调度方法,包括下列步骤:步骤1:在每个调度周期,搜集各个VCPU当前所处理任务的类型,以及系统中各类中断与VCPU的映射绑定关系,基于这些因素将VCPU分为前台VCPU和后台VCPU。前台VCPU的调度优先级高于后台VCPU。对于前台VCPU,进一步根据面向交互的虚拟机VCPU动态优先级机制分配子优先级。步骤2:基于虚拟机VCPU动态优先级的调度策略对VCPU进行调度,将VCPU放入物理CPU调度队列的合适位置。该调度策略包括抢占原则。抢占原则包括:前台VCPU抢占正在运行的后台VCPU的物理资源,前台VCPU之间不进行物理资源抢占,而是按照子优先级的高低分配空闲的物理资源。优先级越高,对应VCPU在物理CPU调度队列中的位置越靠前。本实施例能够根据虚拟机的VCPU所执行的任务的类型为其设置动态优先级,处理交互任务的VCPU则分配较高的优先级,处理非交互任务的VCPU则分配较低的优先级,基于虚拟机VCPU动态优先级的调度策略,优先调度处理交互任务的虚拟机VCP本文档来自技高网
...

【技术保护点】
一种面向虚拟桌面的VCPU调度方法,包括下列步骤:1)在每个调度周期,根据各个VCPU当前所处理任务的类型,将VCPU分为前台VCPU和后台VCPU,前台VCPU的调度优先级高于后台VCPU;2)基于抢占原则对VCPU进行调度,所述抢占原则包括:前台VCPU抢占正在运行的后台VCPU的物理资源,前台VCPU之间不进行物理资源抢占。

【技术特征摘要】
2015.05.21 CN 20151026123501.一种面向虚拟桌面的VCPU调度方法,包括下列步骤:1)在每个调度周期,根据各个VCPU当前所处理任务的类型,将VCPU分为前台VCPU和后台VCPU,前台VCPU的调度优先级高于后台VCPU;2)基于抢占原则对VCPU进行调度,所述抢占原则包括:前台VCPU抢占正在运行的后台VCPU的物理资源,前台VCPU之间不进行物理资源抢占。2.根据权利要求1所述的面向虚拟桌面的VCPU调度方法,其特征在于,所述步骤1)还包括:如果一个任务的所属应用的窗口界面显示在当前屏幕上,则该任务的类型为前台任务,否则该任务的类型为后台任务。3.根据权利要求1所述的面向虚拟桌面的VCPU调度方法,其特征在于,所述步骤1)还包括:根据系统中各类中断与VCPU的映射绑定关系对前台VCPU划分子优先级。4.根据权利要求3所述的面向虚拟桌面的VCPU调度方法,其特征在于,所述步骤1)包括下列子步骤:11)搜集各个VCPU当前所处理任务的类型,以及系统中各类中断与VCPU的映射绑定关系;12)将VCPU分为前台VCPU和后台VCPU;13)对前台VCPU划分子优先级。5.根据权利要求4所述的面向虚拟桌面的VCPU调度方法,其特征在于,所述步骤11)中,所述的搜集各个VCPU当前所处理任务的类型以及系统中各类中断与VCPU的映射绑定关系,由在客户机操作系统中运行的一个内核级代理执行。6...

【专利技术属性】
技术研发人员:唐宏伟王晖史骁赵晓芳
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:北京;11

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

1