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

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

【发明内容】

[0004]有鉴于此,本发明实施例提供一种云主机系统中的CPU调度方法及装置,以保证繁忙的云主机的运行效率。
[0005]第一方面,本发明实施例提供了一种云主机系统中的CPU调度方法,所述方法包括:
[0006]在创建云主机进程时,将所述云主机进程随机绑定在一个CPU核心上;
[0007]每隔预设时间间隔获取云主机进程的CPU使用量;
[0008]当所述云主机进程的CPU使用量超过该云主机的预设QOS等级对应的CPU使用临界值时,按照云主机进程的CPU使用量从大到小对该云主机的云主机进程进行排序,并选取排名靠前的与所述预设QOS等级对应的设定个数的云主机进程;
[0009]将所述设定个数的云主机进程所在的CPU核心上的除所述设定个数的云主机进程以外的云主机进程绑定到该CPU核心以外的CPU核心上。
[0010]第二方面,本发明实施例还提供了一种云主机系统中的CPU调度装置,所述装置包括:
[0011 ] CPU核心绑定模块,用于在创建云主机进程时,将所述云主机进程随机绑定在一个CPU核心上;
[0012]CPU使用量获取模块,用于每隔预设时间间隔获取云主机进程的CPU使用量;
[0013]云主机进程选取模块,用于当所述云主机进程的CPU使用量超过该云主机的预设QOS等级对应的CPU使用临界值时,按照云主机进程的CPU使用量从大到小对该云主机的云主机进程进行排序,并选取排名靠前的与所述预设QOS等级对应的设定个数的云主机进程;
[0014]第一云主机进程迀移模块,用于将所述设定个数的云主机进程所在的CHJ核心上的除所述设定个数的云主机进程以外的云主机进程绑定到该(PU核心以外的CPU核心上。
[0015]本发明实施例的技术方案,通过在创建云主机进程时,将所述云主机进程随机绑定在一个CPU核心上,避免云主机进程在宿主机的CPU核心间迀移,当云主机进程的CPU使用量超过该云主机的预设QOS等级对应的CPU使用临界值时,选取该云主机的云主机进程中CPU占用最大的与所述预设QOS等级对应的设定个数的云主机进程,将选取的云主机进程以外的进程迀移到选取的云主机进程所在的CPU核心以外的CPU核心上,保证了该繁忙的云主机的独占运行,减少了该繁忙的云主机的调度和干扰,提升了该繁忙的云主机运行的效率。
【附图说明】
[0016]图1是本发明实施例一提供的一种云主机系统中的CPU调度方法的流程图;
[0017]图2是本发明实施例二提供的一种云主机系统中的CPU调度方法的流程图;
[0018]图3是本发明实施例三提供的一种云主机系统中的CPU调度方法的流程图;
[0019]图4是本发明实施例四提供的一种云主机系统中的CPU调度装置的结构示意图。
【具体实施方式】
[0020]下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。
[0021]在本发明实施例中,设计了一个供用户设定云主机的Q0S(Quality of Service,服务质量)等级的设定接口,通过用户对云主机的QOS等级的设定,在结合本发明实施例所述的云主机系统中的CPU调度方法,可以保障QOS等级高的云主机的CPU使用。
[0022]实施例一
[0023]图1是本发明实施例一提供的一种云主机系统中的CPU调度方法的流程图,本实施例可适用于按照服务质量等级对CPU进行调度的情况,该方法可以由云主机系统中的CPU调度装置来执行,该装置可以由软件和/或硬件来实现。该方法具体包括如下步骤:
[0024]步骤110,在创建云主机进程时,将所述云主机进程随机绑定在一个CPU核心上。
[0025]当创建云主机系统中的云主机进程时,将每个云主机进程随机的绑定在一个CPU核心上,并记录云主机进程绑定的CPU核心。通过将云主机进程绑定在CPU核心上,可以避免云主机进程在宿主机的CPU核心上自动迀移。其中,所述云主机系统是指安装在一个宿主机上的多个云主机。
[0026]其中,CPU核心又称为CPU内核,是CPU最重要的组成部分。CPU中心的隆起的芯片就是CPU核心,是由单晶硅以一定的生产工艺制造出来的,CPU所有的计算、接受/存储命令、处理数据都由CPU核心执行。各种CPU核心都具有固定的逻辑结构,一级缓存、二级缓存、执行单元、指令级单元和总线接口等逻辑单元都会有科学的布局。
[0027]步骤120,每隔预设时间间隔获取云主机进程的CPU使用量。
[0028]每隔预设时间间隔(如每秒)获取一次所述云主机系统(即一台宿主机)中的所有云主机进程的CPU使用量。其中,所述CPU使用量优选为CPU使用时间。
[0029]步骤130,当所述云主机进程的CPU使用量超过该云主机的预设QOS等级对应的CPU使用临界值时,按照云主机进程的CHJ使用量从大到小对该云主机的云主机进程进行排序,并选取排名靠前的与所述预设QOS等级对应的设定个数的云主机进程。
[0030]提前将不同预设QOS等级的云主机进程的CPU使用量设定CPU使用临界值,预设QOS等级高的云主机的CPU使用临界值可以大于预设QOS等级低的云主机的CPU使用临界值,从而可以保证预设QOS等级高的云主机对CPU的使用。
[0031]所述云主机进程的CPU使用量是指一个云主机的所有的云主机进程的CPU使用量的总和。在排序后选取进程时,预设QOS等级高的云主机选取的云主机进程的个数即设定个数要大于预设QOS等级低云主机选取的云主机进程的设定个数,从而保证较多的预设QOS等级高的云主机的云主机进程的独占运行。
[0032]步骤140,将所述设定个数的云主机进程所在的CPU核心上的除所述设定个数的云主机进程以外的云主机进程绑定到该CPU核心以外的CPU核心上。
[0033]确定所述设定个数的云主机进程所在的CPU核心,以及承载所述云主机的宿主机的除所述设定个数的云主机进程所在的CPU核心以外的CPU核心。所述设定个数的云主机进程所在的CPU核心可能是设定个数的CPU核心,也可能是数量小于设定个数的CPU核心。
[0034]将所述设定个数的云主机进程所在的CPU核心上的除所述设定个数的云主机进程以外的进程绑定到该宿主机的该CPU核心以外的CPU核心上。其中,所述设定个数的云主机进程所在的CPU核心上的除所述设定个数的云主机进程以外的云主机进程也可以是与所述设定个数的云主机进程同属于一台云主机,也可以属于其他的云主机,由于这些云主机进程对CPU的使用量较低,可以迀移到其他的CPU核心上,以避免这些云主机进程对该云主机的繁忙的设定个数的云主机进程的干扰。
[0035]本实施例的技术方案,通过在创建云主机进程时,将所述云主机进程随机绑定在一个CPU核心上,避免云主机进程在宿主机的CPU核心间迀移,当云主机进程的CPU使用量超过该云主机的预设QOS等级对应的CPU使用临界值时,选取该云主机的云主机进程中CPU占用最大的与所述预设QOS等级对应的设定个数的云主机进程,将选取的云主机进程以外的进程迀移到选取的云主机进程所在的CPU核心以外的CPU核心上,以保证该云主机的独占运行,减少了该繁忙的云主机的调度和干扰,提升了该繁忙的云主机运行的效率,防止了云主机系统发生雪崩。
[0036]实施例二
[0037]图2是本发明实施例二提供的一种云主机系统中的CPU调度方法的流程图,本实施例在实施例一的基础上进行了优化,该方法具体包括如下步骤:
[0038]步骤210,在创建云主机进程时,将所述云主机进程随机绑定在一个CPU核心上。
[0039]步骤220,每隔预设时间间隔获取云主机进程的CPU使用量。
[0040]步骤230,获取预先设定的云主机的QOS等级信息表。
[0041 ]其中,所述QOS等级信息表包括预设QOS等级和对应的CPU使用临界值。
[0042]其中,所述QOS等级信息表优选包括:预设QOS等级、所述预设QOS等级对应的CPU使用临界值以及超过临界值时可独占的CPU数,其中,高预设QOS等级对应的超过临界值时可独占的CPU数大于低预设QOS等级对应的超过临界值时可独占的CPU数。其中,超过临界值时可独占的CPU数,是指超过临界值时75Γ主机可以独占的CPU核心的数量。尚预设QOS等级对应的超过临界值时可独占的CPU数大于低预设QOS等级对应的超过临界值时可独占的CPU数,从而高预设QOS等级的云主机的独占运行,保证高预设QOS等级的云主机的服务质量。
[0043]步骤240,将所述云主机进程的CPU使用量和所述QOS等级信息表中该云主机的预设QOS等级对应的CPU使用临界值进行对比。
[0044]通过对比,确定云主机进程的CPU使用量超过该云主机的预设QOS等级对应的CPU使用临界值的云主机进程。
[0045]步骤250,当所述云主机进程的CPU使用量超过该云主机的预设QOS等级对应的CPU使用临界值时,按照云主机进程的CHJ使用量对该云主机的云主机进程从大到小进行排序,并选取排名靠前的与所述预设QOS等级对应的设定个数的云主机进程。
[0046]步骤260,将所述设定个数的云主机进程所在的CPU核心上的除所述设定个数的云主机进程以外的云主机进程绑定到该CPU核心以外的CPU核心上。
[0047]本发明实施例的技术方案,在实施例一的基础上,通过将所述云主机进程的CPU使用量和所述QOS等级信息表中该云主机的预设QOS等级对应的CPU使用临界值进行对比,从而明确的确定(PU使用量超过CPU使用临界值的云主机进程,以充分保证该繁忙的云主机进程的运行效率。
[0048]实施例三
[0049]图3是本发明实施例三提供的一种云主机系统中的CPU调度方法的流程图,本实施例在上述实施例的基础上进行了优化,所述设定个数优选为所述超过临界值时可独占的CPU数,并进一步增加了“当所述设定个数的云主机进程中有至少两个云主机进程在同一个CPU核心上时,在该CPU核心中保留所述至少两个云主机进程中的一个云主机进程,将所述至少两个云主机进程中除该云主机进程以外的云主机进程分别迀移到所述设定个数的云主机进程所在的CPU核心以外的CPU核心中”的操作,该方法具体包括如下步骤:
[0050]步骤310,在创建云主机进程时,将所述云主机进程随机绑定在一个CPU核心上。
[0051]步骤320,每隔预设时间间隔获取云主机进程的CPU使用量。
[0052]步骤330,获取预先设定的云主机的QOS等级信息表。
[0053]步骤340,将所述云主机进程的CPU使用量和所述QOS等级信息表中该云主机的预设QOS等级对应的CPU使用临界值进行对比。
[0054]通过对比,确定云主机进程的CPU使用量超过该云主机的预设QOS等级对应的CPU使用临界值的云主机进程。
[0055]步骤350,当所述云主机进程的CPU使用量超过该云主机的预设QOS等级对应的CPU使用临界值时,按照云主机进程的CHJ使用量对该云主机的云主机进程从大到小进行排序,并选取排名靠前的与所述预设QOS等级对应的设定个数的云主机进程。
[0056]步骤360,将所述设定个数的云主机进程所在的CPU核心上的除所述设定个数的云主机进程以外的云主机进程绑定到该CPU核心以外的CPU核心上。
[0057]步骤370,当所述设定个数的云主机进程中有至少两个云主机进程在同一个CPU核心上时,在该CPU核心中保留所述至少两个云主机进程中的一个云主机进程,将所述至少两个云主机进程中除该云主机进程以外的云主机进程分别迀移到所述设定个数的云主机进程所在的CPU核心以外的CPU核心中。
[0058]由于所述设定个数为所述超过临界值时可独占的CPU数,因此,可以将所述设定个数的云主机进程独占超过临界值时可独占的CPU数的CPU核心。首先确定所述设定个数的云主机进程中是否有至少两个云主机进行在同一个CPU核心上,当存在至少两个云主机进程在同一个CPU核心上时,在该同一个CPU核心上保留所述至少两个云主机进程中的一个云主机进程,将所述至少两个云主机进程中除保留的云主机进程以外的云主机进程分别迀移到所述设定个数的云主机进程所在的CHJ核心的以外的CPU核心中,保证该云主机独占超过临界值时可独占的CPU数的CPU核心,保证该云主机的CPU使用权。由于高预设QOS等级对应的超过临界值时可独占的CPU数大于低预设QOS等级对应的超过临界值时可独占的CPU数,从而可以保证高预设QOS等级的云主机的独占运行。
[0059]本发明实施例的技术方案,在上述实施例的基础上,通过当所述设定个数的云主机进程中有至少两个云主机进程在同一个CPU核心上时,在该CPU核心中保留所述至少两个云主机进程中的一个云主机进程,将所述至少两个云主机进程中除该云主机进程以外的云主机进程分别迀移到所述设定个数的云主机进程所在的CPU核心以外的CPU核心中,保证该云主机独占CI3U核心的数量为该云主机的预设QOS等级对应的超过临界值时可独占的CPU数,进一步提高了繁忙的云主机的运行效率,由于高预设QOS等级对应的超过临界值时可独占的CPU数大于低预设QOS等级对应的超过临界值时可独占的CPU数,从而可以保证高预设QOS等级的云主机的独占运行,保证高预设QOS等级的云主机的CPU使用权。
[0060]实施例四
[0061]图4是本发明实施例四提供的一种云主机系统中的CPU调度装置的结构示意图,如图4所示,本实施例所述的云主机系统中的CPU调度装置包括:CPU核心绑定模块410、CPU使用量获取模块420、云主机进程选取模块430和第一云主机进程迀移模块440。
[0062]其中,CPU核心绑定模块410用于在创建云主机进程时,将所述云主机进程随机绑定在一个CPU核心上;
[0063]CPU使用量获取模块420用于每隔预设时间间隔获取云主机进程的CPU使用量;
[0064]云主机进程选取模块430用于当所述云主机进程的CPU使用量超过该云主机的预设QOS等级对应的CPU使用临界值时,按照云主机进程的CPU使用量从大到小对该云主机的云主机进程进行排序,并选取排名靠前的与所述预设QOS等级对应的设定个数的云主机进程;
[0065]第一云主机进程迀移模块440用于将所述设定个数的云主机进程所在的CPU核心上的除所述设定个数的云主机进程以外的云主机进程绑定到该(PU核心以外的CPU核心上。
[0066]优选的,还包括:
[0067]QOS等级信息表获取模块,用于在当所述云主机进程的CPU使用量超过该云主机的预设服务质量QOS等级对应的CPU使用临界值时,按照云主机进程的CPU使用量对该云主机的进程从大到小进行排序之前,获取预先设定的云主机的QOS等级信息表;
[0068]CPU使用量对比模块,用于将所述云主机进程的CPU使用量和所述QOS等级信息表中该云主机的预设QOS等级对应的CPU使用临界值进行对比。
[0069]其中,所述QOS等级信息表优选包括:预设QOS等级、所述预设QOS等级对应的CPU使用临界值以及超过临界值时可独占的CPU数,其中,高预设QOS等级对应的超过临界值时可独占的CPU数大于低预设QOS等级对应的超过临界值时可独占的CPU数。
[0070]优选的,所述设定个数为所述超过临界值时可独占的CPU数;
[0071]相应的,所述装置还包括:
[0072]第二云主机进程迀移模块,用于当所述设定个数的云主机进程中有至少两个云主机进程在同一个CPU核心上时,在该CPU核心中保留所述至少两个云主机进程中的一个云主机进程,将所述至少两个云主机进程中除该云主机进程以外的云主机进程分别迀移到所述设定个数的云主机进程所在的(PU核心以外的CPU核心中。
[0073]上述产品可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
[0074]注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
【主权项】
1.一种云主机系统中的CRJ调度方法,其特征在于,所述方法包括: 在创建云主机进程时,将所述云主机进程随机绑定在一个CRJ核心上; 每隔预设时间间隔获取云主机进程的CHJ使用量; 当所述云主机进程的CPU使用量超过该云主机的预设服务质量QOS等级对应的CPU使用临界值时,按照云主机进程的CPU使用量从大到小对该云主机的云主机进程进行排序,并选取排名靠前的与所述预设QOS等级对应的设定个数的云主机进程; 将所述设定个数的云主机进程所在的CPU核心上的除所述设定个数的云主机进程以外的云主机进程绑定到该CPU核心以外的CPU核心上。2.根据权利要求1所述的方法,其特征在于,在当所述云主机进程的CPU使用量超过该云主机的预设服务质量QOS等级对应的CPU使用临界值时,按照云主机进程的CPU使用量对该云主机的进程从大到小进行排序之前,还包括: 获取预先设定的云主机的QOS等级信息表; 将所述云主机进程的CPU使用量和所述QOS等级信息表中该云主机的预设QOS等级对应的(PU使用临界值进行对比。3.根据权利要求2所述的方法,其特征在于,所述QOS等级信息表包括:预设QOS等级、所述预设QOS等级对应的CPU使用临界值以及超过临界值时可独占的CPU数,其中,高预设QOS等级对应的超过临界值时可独占的CPU数大于低预设QOS等级对应的超过临界值时可独占的CPU数。4.根据权利要求3所述的方法,其特征在于,所述设定个数为所述超过临界值时可独占的CHJ数; 相应的,所述方法还包括: 当所述设定个数的云主机进程中有至少两个云主机进程在同一个CPU核心上时,在该CPU核心中保留所述至少两个云主机进程中的一个云主机进程,将所述至少两个云主机进程中除该云主机进程以外的云主机进程分别迀移到所述设定个数的云主机进程所在的CPU核心以外的CPU核心中。5.一种云主机系统中的CRJ调度装置,其特征在于,所述装置包括: CPU核心绑定模块,用于在创建云主机进程时,将所述云主机进程随机绑定在一个CPU核心上; CHJ使用量获取模块,用于每隔预设时间间隔获取云主机进程的CRJ使用量; 云主机进程选取模块,用于当所述云主机进程的CPU使用量超过该云主机的预设QOS等级对应的CPU使用临界值时,按照云主机进程的CPU使用量从大到小对该云主机的云主机进程进行排序,并选取排名靠前的与所述预设QOS等级对应的设定个数的云主机进程; 第一云主机进程迀移模块,用于将所述设定个数的云主机进程所在的CPU核心上的除所述设定个数的云主机进程以外的云主机进程绑定到该(PU核心以外的CPU核心上。6.根据权利要求5所述的装置,其特征在于,还包括: QOS等级信息表获取模块,用于在当所述云主机进程的CPU使用量超过该云主机的预设服务质量QOS等级对应的CPU使用临界值时,按照云主机进程的CPU使用量对该云主机的进程从大到小进行排序之前,获取预先设定的云主机的QOS等级信息表; CPU使用量对比模块,用于将所述云主机进程的CPU使用量和所述QOS等级信息表中该云主机的预设QOS等级对应的CPU使用临界值进行对比。7.根据权利要求6所述的装置,其特征在于,所述QOS等级信息表包括:预设QOS等级、所述预设QOS等级对应的CPU使用临界值以及超过临界值时可独占的CPU数,其中,高预设QOS等级对应的超过临界值时可独占的CPU数大于低预设QOS等级对应的超过临界值时可独占的CPU数。8.根据权利要求7所述的装置,其特征在于,所述设定个数为所述超过临界值时可独占的CHJ数; 相应的,所述装置还包括: 第二云主机进程迀移模块,用于当所述设定个数的云主机进程中有至少两个云主机进程在同一个CPU核心上时,在该CPU核心中保留所述至少两个云主机进程中的一个云主机进程,将所述至少两个云主机进程中除该云主机进程以外的云主机进程分别迀移到所述设定个数的云主机进程所在的CPU核心以外的CPU核心中。
【文档编号】G06F9/50GK106020971SQ201610307687
【公开日】2016年10月12日
【申请日】2016年5月10日
【发明人】刘杰, 李坤祥, 关志来, 黄衍博, 麦剑
【申请人】广东睿江云计算股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1