云主机系统中的cpu调度方法及装置的制造方法

文档序号:10654332阅读:307来源:国知局
云主机系统中的cpu调度方法及装置的制造方法
【专利摘要】本发明公开了一种云主机系统中的CPU调度方法及装置。该方法包括:将云主机系统中的云主机进程的CPU优先级设定为相同的值;每隔预设时间间隔获取所述云主机所属的宿主机的负载信息;当所述宿主机的负载信息达到临界值时,按照云主机的预设服务质量QOS等级,对所述云主机进程的CPU优先级进行调整。本发明保证了高预设QOS等级的云主机对CPU的使用,实现了按照服务质量的不同要求使用宿主机的资源。
【专利说明】
云主机系统中的CPU调度方法及装置
技术领域
[0001]本发明实施例涉及CPU调度技术,尤其涉及一种云主机系统中的CPU调度方法及装置。
【背景技术】
[0002]云主机是云计算在基础设施应用上的重要组成部分,位于云计算产业链金字塔底层,产品源自云计算平台。该平台整合了互联网应用三大核心要素:计算、存储、网络,面向用户提供公用化的互联网基础设施服务。云主机是一种类似VPS(Virtual PrivateServer,虚拟专用服务器)主机的虚拟化技术,VPS是采用虚拟软件(如VZ或VM)在一台主机上虚拟出多个类似独立主机的部分,能够实现单机多用户,每个部分都可以做单独的操作系统,管理方法同主机相同。而云主机是在一组集群主机上虚拟出多个类似独立主机的部分,集群中每个宿主机上都有云主机的一个镜像,从而大大提高了虚拟主机的安全稳定性。
[0003]在现有的云主机系统中,各个云主机按照各自的配置均衡的使用宿主机的资源进行运算,而不能按照服务质量的不同要求使用宿主机的资源。

【发明内容】

[0004]有鉴于此,本发明实施例提供一种云主机系统中的CPU调度方法及装置,以实现按照服务质量的不同要求使用宿主机的资源。
[0005]第一方面,本发明实施例提供了一种云主机系统中的CPU调度方法,所述方法包括:
[0006]将云主机系统中的云主机进程的CPU优先级设定为相同的值;
[0007]每隔预设时间间隔获取所述云主机所属的宿主机的负载信息;
[0008]当所述宿主机的负载信息达到临界值时,按照云主机的预设QOS等级,对所述云主机进程的CPU优先级进彳丁调整。
[0009]第二方面,本发明实施例还提供了一种云主机系统中的CPU调度装置,所述装置包括:
[0010]CPU优先级设定模块,用于将云主机系统中的云主机进程的CPU优先级设定为相同的值;
[0011]负载信息获取模块,用于每隔预设时间间隔获取所述云主机所属的宿主机的负载信息;
[0012]CPU优先级调整模块,用于当所述宿主机的负载信息达到临界值时,按照云主机的预设QOS等级,对所述云主机进程的CPU优先级进行调整。
[0013]本发明实施例的技术方案,通过首先将云主机系统中的所有的云主机进程的CPU优先级设定为相同的值,保证所有云主机进程在相同的起点上,当宿主机的负载信息达到临界值时,为了不影响高预设QOS等级的云主机的运行,按照云主机的预设QOS等级,对所述云主机进程的CPU优先级进行调整,保证了高预设QOS等级的云主机对CPU的使用,实现了按照服务质量的不同要求使用宿主机的资源。
【附图说明】
[0014]图1是本发明实施例一提供的一种云主机系统中的CPU调度方法的流程图;
[0015]图2是本发明实施例二提供的一种云主机系统中的CPU调度方法的流程图;
[0016]图3是本发明实施例三提供的一种云主机系统中的CPU调度方法的流程图;
[0017]图4是本发明实施例四提供的一种云主机系统中的CPU调度装置的结构示意图。
【具体实施方式】
[0018]下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。
[0019]在本发明实施例中,设计了一个供用户设定云主机的Q0S(Quality of Service,服务质量)等级的设定接口,通过用户对云主机的QOS等级的设定,在结合本发明实施例所述的云主机系统中的CPU调度方法,可以保障QOS等级高的云主机的CPU使用。
[0020]实施例一
[0021]图1是本发明实施例一提供的一种云主机系统中的CPU调度方法的流程图,本实施例可适用于按照服务质量等级对CPU进行调度的情况,该方法可以由云主机系统中的CPU调度装置来执行,该装置可以由软件和/或硬件来实现。该方法具体包括如下步骤:
[0022]步骤110,将云主机系统中的云主机进程的CPU优先级设定为相同的值。
[0023]其中,所述云主机系统是指安装在一个宿主机上的多个云主机。
[0024]在常见的服务器操作系统中,常用进程的nice值来表示进程的CPU优先级,优先级越高,nice值月底;优先级越低,nice值越高。可以根据nice值来计算一个进程每次调度可以占用的CPU的时间长度。优先级越高,进程每次调度可占用的CPU时间越长。
[0025]通过将云主机系统中的所有的云主机进程的CPU优先级设定为相同的值,可以保证所述的云主机进程在相同的起点上,在宿主机的负载信息没有达到临界值时,可以一直保持相同的(PU优先级。
[0026]可以将所有的云主机进程的CPU优先级nice值优选设定为0,也可以是(-20?19)之间的一个固定值。
[0027]步骤120,每隔预设时间间隔获取所述云主机所属的宿主机的负载信息。
[0028]其中,所述宿主机是指承载所述云主机的物理设备。
[0029]每隔预设时间间隔(如每秒)获取一次所述云主机所属的宿主机的负载信息,所述负载信息可以是内存利用率。
[0030]步骤130,当所述宿主机的负载信息达到临界值时,按照云主机的预设QOS等级,对所述云主机进程的CPU优先级进行调整。
[0031]其中,负载信息的临界值是预设的负载信息的临界值。云主机的预设QOS等级不同,优先保证预设QOS等级高的云主机的运行。
[0032]当所述宿主机的负载信息达到临界值时,即在同一台宿主机上,当该宿主机整体的计算资源接近瓶颈时,按照云主机的预设QOS等级的不同,对所述云主机进程的CPU优先级进行调整,将不同预设QOS等级的云主机进程的优先级调整为不同的值,以优先保证高预设QOS等级的云主机的进程的运行,即将高预设QOS等级的云主机进程的CPU优先级保持在比较高的CPU优先级上。
[0033]本实施例的技术方案,通过首先将云主机系统中的所有的云主机进程的CPU优先级设定为相同的值,保证所有云主机进程在相同的起点上,当宿主机的负载信息达到临界值时,为了不影响高预设QOS等级的云主机的运行,按照云主机的预设QOS等级,对所述云主机进程的CPU优先级进行调整,保证了高预设QOS等级的云主机对CPU的使用,实现了按照服务质量的不同要求使用宿主机的资源,防止了云主机系统发生雪崩。
[0034]实施例二
[0035]图2是本发明实施例二提供的一种云主机系统中的CPU调度方法的流程图,本实施例在实施例一的基础上进行了优化,该方法具体包括如下步骤:
[0036]步骤210,将云主机进程的CPU调度策略设置为时间片轮转调度方式。
[0037]其中,时间片轮转调度是进程的一种实时调度策略。
[0038]通过将所有的云主机进程的CPU调度策略设置为时间片轮转调度方式,以保证云主机进程在一次调度中使用CPU的时间长度为时间片的长度。
[0039]在时间片轮转调度方式中,当进程的时间片用完,系统将重新为该进程分配时间片,并置于就绪队列尾。放在队列尾保证了所有具有相同优先级的任务的调度公平。
[0040]步骤220,将云主机系统中的云主机进程的CPU优先级设定为相同的值。
[0041]步骤230,每隔预设时间间隔获取所述云主机所属的宿主机的负载信息。
[0042]步骤240,当所述宿主机的负载信息达到临界值时,按照云主机的预设QOS等级,对所述云主机进程的CPU优先级进行调整。
[0043]按照CPU优先级的nice值确定云主机进程的时间片的长度,CPU优先级高的云主机进程的时间片的长度更长,从而保证CPU优先级高的云主机进程的CPU使用能力。
[0044]其中,当所述宿主机的负载信息达到临界值时,按照云主机的预设QOS等级,对所述云主机进程的CPU优先级进行调整优选包括:
[0045]当所述宿主机的负载信息达到临界值时,按照云主机的预设QOS等级,逐级提高对应的云主机进程的CPU优先级;或
[0046]当所述宿主机的负载信息达到临界值时,按照云主机的预设QOS等级,逐级降低对应的75Γ主机进程的CPU优先级。
[0047]当所述宿主机的负载信息达到临界值时,可以按照云主机的预设QOS等级的从低到尚,逐级提尚预设QOS等级对应的Ζ5Γ主机进程的CPU优先级,Ζ5Γ主机的预设QOS等级越尚,该云主机进程的CPU优先级提升的越多,保证高预设QOS等级的云主机的进程的CPU优先级最高,以保证高预设QOS等级的云主机的进程的优先执行;也可以按照云主机的预设QOS等级的从高到低,逐级降低对应的云主机进程的CPU优先级,云主机的预设QOS等级越低,该云主机进程的CPU优先级降低的越多,保证高预设QOS等级的云主机的进程的CPU优先级最高,以保证高预设QOS等级的云主机的进程的优先执行。
[0048]本实施例的技术方案,在实施例一的基础上,通过将云主机进程的CPU调度策略设置为时间片轮转调度方式,调整不同QOS等级的云主机的CPU时间片的长度,更好的保证高预设QOS等级的云主机的进程的CPU使用。
[0049]在上述技术方案的基础上,对所述云主机进程的CPU优先级进行调整优选包括:
[0050]通过调整云主机进程的时间片长度或者数量,调整云主机进程的CPU优先级。
[0051]当时间片长度不固定时,可以通过调整云主机进程的时间片长度,即将高预设QPS等级的云主机进程的时间片长度调的更长,从而保证在一次对进程的调度中高预设QOS等级的云主机进程的运行时间更长,来达到将高预设QOS等级的云主机进程的CPU优先级调高的目的;当时间片长度固定时,可以通过调整云主机进程的时间片的数量,即将高预设QPS等级的云主机进程的时间片数量调的更多,从而保证在一次对进程的调度中高预设QOS等级的云主机进程的运行时间更长,来达到将高预设QOS等级的云主机进程的CPU优先级调高的目的。
[0052]实施例三
[0053]图3是本发明实施例三提供的一种云主机系统中的CPU调度方法的流程图,本实施例是在上述实施例的基础上的一个优选实例,该方法具体包括如下步骤:
[0054]步骤310,将物理设备中的每一个云主机进程的调度策略均设置为时间片轮转调度。
[0055]其中,物理设备即上述的宿主机。
[0056]步骤320,将所有的云主机进程的CPU优先级设定为相同的值。
[0057]步骤330,每隔预设时间间隔获取一次物理设备的CPU负载信息。
[0058]步骤340,判断CPU负载信息是否达到临界值,如果是则执行步骤350,如果否,则返回执行步骤330。
[0059]步骤350,按照每个云主机的预设QOS等级,逐级提高对应的云主机进程的CPU优先级,或逐级降低对应的云主机进程的CPU优先级。
[0060]本实施例的技术方案,通过调整不同预设QOS等级的云主机进程的CPU优先级,使得预设QOS等级高的云主机进程的CPU时间片较长,从而实现了预设QOS等级高的云主机的(PU使用保障。
[0061 ]实施例四
[0062]图4是本发明实施例四提供的一种云主机系统中的CPU调度装置的结构示意图,如图4所示,本实施例所述的云主机系统中的CPU调度装置包括:CPU优先级设定模块410、负载信息获取模块420和CPU优先级调整模块430。
[0063]其中,CPU优先级设定模块410用于将云主机系统中的云主机进程的CPU优先级设定为相同的值;
[0064]负载信息获取模块420用于每隔预设时间间隔获取所述云主机所属的宿主机的负载信息;
[0065]CPU优先级调整模块430用于当所述宿主机的负载信息达到临界值时,按照云主机的预设QOS等级,对所述云主机进程的CPU优先级进行调整。
[ΟΟ??]优选的,该云主机系统中的CPU调度装置还包括:
[0067]CPU调度策略设置模块,用于在将云主机系统中的云主机进程的CPU优先级设定为相同的值之前,将云主机进程的(PU调度策略设置为时间片轮转调度方式。
[0068]优选的,所述CPU优先级调整模块具体用于:
[0069]当所述宿主机的负载信息达到临界值时,按照云主机的预设QOS等级,逐级提高对应的云主机进程的CPU优先级;或
[0070]当所述宿主机的负载信息达到临界值时,按照云主机的预设QOS等级,逐级降低对应的云主机进程的CPU优先级。
[0071 ]优选的,所述CPU优先级调整模块包括:
[0072]时间片调整单元,用于通过调整云主机进程的时间片长度或者数量,调整云主机进程的CPU优先级。
[0073]上述云主机系统中的CPU调度装置可执行本发明任意实施例所提供的云主机系统中的CPU调度方法,具备执行云主机系统中的CPU调度方法相应的功能模块和有益效果。
[0074]注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
【主权项】
1.一种云主机系统中的CRJ调度方法,其特征在于,所述方法包括: 将云主机系统中的云主机进程的CPU优先级设定为相同的值; 每隔预设时间间隔获取所述云主机所属的宿主机的负载信息; 当所述宿主机的负载信息达到临界值时,按照云主机的预设服务质量QOS等级,对所述云主机进程的CPU优先级进行调整。2.根据权利要求1所述的方法,其特征在于,在将云主机系统中的云主机进程的CHJ优先级设定为相同的值之前,还包括: 将云主机进程的CRJ调度策略设置为时间片轮转调度方式。3.根据权利要求2所述的方法,其特征在于,当所述宿主机的负载信息达到临界值时,按照云主机的预设QOS等级,对所述云主机进程的CPU优先级进行调整包括: 当所述宿主机的负载信息达到临界值时,按照云主机的预设QOS等级,逐级提高对应的75:主机进程的CPU优先级;或 当所述宿主机的负载信息达到临界值时,按照云主机的预设QOS等级,逐级降低对应的75Γ主机进程的CPU优先级。4.根据权利要求2或3所述的方法,其特征在于,对所述云主机进程的CPU优先级进行调整包括: 通过调整云主机进程的时间片长度或者数量,调整云主机进程的CRJ优先级。5.一种云主机系统中的CRJ调度装置,其特征在于,所述装置包括: CPU优先级设定模块,用于将云主机系统中的云主机进程的CTU优先级设定为相同的值; 负载信息获取模块,用于每隔预设时间间隔获取所述云主机所属的宿主机的负载信息; CPU优先级调整模块,用于当所述宿主机的负载信息达到临界值时,按照云主机的预设QOS等级,对所述云主机进程的CPU优先级进行调整。6.根据权利要求5所述的装置,其特征在于,还包括: CPU调度策略设置模块,用于在将云主机系统中的云主机进程的CPU优先级设定为相同的值之前,将云主机进程的(PU调度策略设置为时间片轮转调度方式。7.根据权利要求6所述的装置,其特征在于,所述CRJ优先级调整模块具体用于: 当所述宿主机的负载信息达到临界值时,按照云主机的预设QOS等级,逐级提高对应的75:主机进程的CPU优先级;或 当所述宿主机的负载信息达到临界值时,按照云主机的预设QOS等级,逐级降低对应的75Γ主机进程的CPU优先级。8.根据权利要求6或7所述的装置,其特征在于,所述CRJ优先级调整模块包括: 时间片调整单元,用于通过调整云主机进程的时间片长度或者数量,调整云主机进程的CPU优先级。
【文档编号】G06F9/50GK106020973SQ201610307689
【公开日】2016年10月12日
【申请日】2016年5月10日
【发明人】刘杰, 黄衍博, 吴毅浩, 麦剑, 郭俊杰
【申请人】广东睿江云计算股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1