云主机系统中的cpu调度方法及装置的制造方法
【专利摘要】本发明公开了一种云主机系统中的CPU调度方法及装置。该方法包括:在创建云主机进程时,将所述云主机进程随机绑定在一个CPU核心上;每隔预设时间间隔获取云主机进程的CPU使用量;当所述云主机进程的CPU使用量超过该云主机的预设QOS等级对应的CPU使用临界值时,根据该云主机的预设QOS等级缩减该云主机的云主机进程所在的CPU核心的数量,其中,预设QOS等级高的云主机缩减的所述CPU核心的数量小于预设QOS等级低的云主机缩减的所述CPU核心的数量。本发明保证了高预设OQS等级的云主机对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使用临界值时,根据该云主机的预设QOS等级缩减该云主机的云主机进程所在的CPU核心的数量,其中,预设QOS等级高的云主机缩减的所述CPU核心的数量小于预设QOS等级低的云主机缩减的所述CHJ核心的数量。
[0009]第二方面,本发明实施例还提供了一种云主机系统中的CPU调度装置,所述装置包括:
[0010]CPU核心绑定模块,用于在创建云主机进程时,将所述云主机进程随机绑定在一个CPU核心上;
[0011]CPU使用量获取模块,用于每隔预设时间间隔获取云主机进程的CPU使用量;
[0012]CPU核心缩减模块,用于当所述云主机进程的CPU使用量超过该云主机的预设QOS等级对应的CPU使用临界值时,根据该云主机的预设QOS等级缩减该云主机的云主机进程所在的CHJ核心的数量,其中,预设QOS等级高的云主机缩减的所述CHJ核心的数量小于预设QOS等级低的云主机缩减的所述CPU核心的数量。
[0013]本发明实施例的技术方案,通过在创建云主机进程时,将所述云主机进程随机绑定在一个CPU核心上,避免云主机进程在宿主机的CPU核心间迀移,并在云主机进程的CPU使用量超过该云主机的预设QOS等级对应的CPU使用临界值时,根据该云主机的预设QOS等级缩减该云主机的云主机进程所在的CPU核心的数量,通过预设QOS等级高的云主机缩减的所述CPU核心的数量小于预设QOS等级低的云主机缩减的所述CPU核心的数量,保证了高预设OQS等级的云主机对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]当创建云主机系统中的云主机进程时,将每个云主机进程随机的绑定在一个CPU核心上,并记录云主机进程绑定的CPU核心。通过将云主机进程绑定在CPU核心上,可以避免云主机进程在宿主机的CPU核心上自动迀移。其中,所述云主机系统是指安装在一个宿主机上的多个云主机。
[0024]其中,CPU核心又称为CPU内核,是CPU最重要的组成部分。CPU中心的隆起的芯片就是CPU核心,是由单晶硅以一定的生产工艺制造出来的,CPU所有的计算、接受/存储命令、处理数据都由CPU核心执行。各种CPU核心都具有固定的逻辑结构,一级缓存、二级缓存、执行单元、指令级单元和总线接口等逻辑单元都会有科学的布局。
[0025]步骤120,每隔预设时间间隔获取云主机进程的CPU使用量。
[0026]每隔预设时间间隔(如每秒)获取一次所述云主机系统(即一台宿主机)中的所有云主机进程的CPU使用量。其中,所述CPU使用量优选为CPU使用时间。
[0027]步骤130,当所述云主机进程的CPU使用量超过该云主机的预设QOS等级对应的CPU使用临界值时,根据该云主机的预设QOS等级缩减该云主机的云主机进程所在的CPU核心的数量。
[0028]其中,预设QOS等级高的云主机缩减的所述CPU核心的数量小于预设QOS等级低的云主机缩减的所述CPU核心的数量。
[0029]提前将不同预设QOS等级的云主机进程的CPU使用量设定CPU使用临界值,预设QOS等级高的云主机的CPU使用临界值可以大于预设QOS等级低的云主机的CPU使用临界值,从而可以保证预设QOS等级高的云主机对CPU的使用。
[0030]所述云主机进程的CPU使用量是指一个云主机的所有的云主机进程的CPU使用量的总和。当所述云主机进程的CPU使用量超过该云主机的预设QOS等级对应的CPU使用临界值时,根据该云主机的预设QOS等级缩减该云主机的云主机进程所在的CPU核心的数量,预设QOS等级低的云主机缩减的所述CPU核心的数量要大于预设等级高的云主机所加你的所述CPU核心的数量,从而保证高预设QOS等级的云主机的良好运行。
[0031]本实施例的技术方案,通过在创建云主机进程时,将所述云主机进程随机绑定在一个CPU核心上,避免云主机进程在宿主机的CPU核心间迀移,并在云主机进程的CPU使用量超过该云主机的预设QOS等级对应的CPU使用临界值时,根据该云主机的预设QOS等级缩减该云主机的云主机进程所在的CPU核心的数量,通过预设QOS等级高的云主机缩减的所述CPU核心的数量小于预设QOS等级低的云主机缩减的所述CPU核心的数量,保证了高预设OQS等级的云主机对CPU的使用,实现了按照服务质量的不同要求使用宿主机的资源,防止了云主机系统发生雪崩。
[0032]实施例二
[0033]图2是本发明实施例二提供的一种云主机系统中的CPU调度方法的流程图,本实施例在实施例一的基础上进行了优化,该方法具体包括如下步骤:
[0034]步骤210,在创建云主机进程时,将所述云主机进程随机绑定在一个CPU核心上。
[0035]步骤220,每隔预设时间间隔获取云主机进程的CPU使用量。
[0036]步骤230,获取预先设定的云主机的QOS等级信息表。
[0037]其中,所述QOS等级信息表包括预设QOS等级和所述预设QOS等级对应的CPU使用临界值。
[0038]步骤240,将所述云主机进程的CPU使用量和所述QOS等级信息表中该云主机的预设QOS等级对应的CPU使用临界值进行对比。
[0039]通过对比,确定云主机进程的CPU使用量超过该云主机的预设QOS等级对应的CPU使用临界值的云主机进程。
[0040]步骤250,当所述云主机进程的CPU使用量超过该云主机的预设QOS等级对应的CPU使用临界值时,根据该云主机的预设QOS等级缩减该云主机的云主机进程所在的CPU核心的数量。
[0041]本发明实施例的技术方案,在实施例一的基础上,通过将所述云主机进程的CPU使用量和所述QOS等级信息表中该云主机的预设QOS等级对应的CPU使用临界值进行对比,从而明确的确定CPU使用量超过CPU使用临界值的云主机进程,在对云主机进程所在的CPU核心的数量进行缩减,可以进一步保证高预设OQS等级的云主机对CPU的使用。
[0042]实施例三
[0043]图3是本发明实施例三提供的一种云主机系统中的CPU调度方法的流程图,本实施例在上述实施例的基础上进行了优化,QOS等级信息表还优选包括所述预设QOS等级对应的超过临界值时CHJ核心缩减比例,其中,高预设QOS等级对应的超过临界值时CPU核心缩减比例大于低预设QOS等级对应的超过临界值时CPU核心缩减比例,并将“当所述云主机进程的CPU使用量超过该云主机的预设QOS等级对应的CPU使用临界值时,根据该云主机的预设QOS等级缩减该云主机的云主机进程所在的CPU核心的数量”进行了相应的优化。该方法具体包括如下步骤:
[0044]步骤310,在创建云主机进程时,将所述云主机进程随机绑定在一个CPU核心上。
[0045]步骤320,每隔预设时间间隔获取云主机进程的CPU使用量。
[0046]步骤330,获取预先设定的云主机的QOS等级信息表.
[0047]步骤340,将所述云主机进程的CPU使用量和所述QOS等级信息表中该云主机的预设QOS等级对应的CPU使用临界值进行对比。
[0048]步骤350,当所述云主机进程的CPU使用量超过该云主机的预设QOS等级对应的CPU使用临界值时,根据该云主机的预设QOS等级对应的超过临界值时CPU核心缩减比例,缩减该云主机的云主机进程所在的CPU核心的数量。
[0049]当所述云主机进程的CPU使用量超过该云主机的预设QOS等级对应的CPU使用临界值时,对该云主机的云主机进程所在的CPU核心的数量进行缩减,在缩减时,按照该云主机的预设QOS等级对应的超过临界值时CPU核心缩减比例,对所述CPU核心的数量进行缩减。
[0050]其中,高预设QOS等级对应的超过临界值时CPU核心缩减比例大于低预设QOS等级对应的超过临界值时CPU核心缩减比例,如高预设QOS等级对应的超过临界值时CPU核心缩减比例可以为I,即可以不缩减,而低预设QOS等级对应的超过临界值时CPU核心缩减比例可以为1/2,即缩减为原来数量的1/2,从而保证高预设QOS等级的云主机的运行。
[0051]其中,根据该云主机的预设QOS等级对应的超过临界值时CPU核心缩减比例,缩减该云主机的云主机进程所在的CPU核心的数量优选包括:
[0052]获取所述云主机的云主机进程所在的CPU核心的数量;
[0053]根据所述QOS等级信息表中的该云主机的预设QOS等级对应的超过临界值时CPU核心缩减比例,对所述CPU核心的数量进行缩减;
[0054]当缩减后的CPU核心的数量小于所述云主机的云主机进程所在的CPU核心的数量时,从所述云主机的云主机进程所在的CPU核心中选取所述缩减后的CPU核心的数量的CPU核心,将该云主机的云主机进程绑定到选取的CPU核心中。
[0055]根据在创建云主机进程时,绑定的CPU核心,获取所述云主机的云主机进程所在的CPU核心的数量。只有在缩减后的CPU核心的数量小于所述云主机的云主机进程所在的CPU核心的数量时,才将云主机进程随机迀移到选取的CPU核心中,可以减少计算量,尽快的保证高预设QOS等级的云主机的运行。
[0056]本实施例的技术方案,在上述实施例的基础上,通过根据云主机的预设QOS等级对应的超过临界值时CHJ核心缩减比例,对该云主机的云主机进程所在的CPU核心的数量进行缩减,可以明确的确定缩减后的CPU核心的数量,且高预设QOS等级对应的超过临界值时CPU核心缩减比例大于低预设QOS等级对应的超过临界值时CPU核心缩减比例,可以进一步保证高预设OQS等级的云主机对CPU的使用。
[0057]实施例四
[0058]图4是本发明实施例四提供的一种云主机系统中的CPU调度装置的结构示意图,如图4所示,本实施例所述的云主机系统中的CPU调度装置包括:CPU核心绑定模块410、CPU使用量获取模块420和CPU核心缩减模块430。
[0059]其中,CPU核心绑定模块410用于在创建云主机进程时,将所述云主机进程随机绑定在一个CPU核心上;
[0060]CPU使用量获取模块420用于每隔预设时间间隔获取云主机进程的CPU使用量;
[0061]CPU核心缩减模块430用于当所述云主机进程的CTU使用量超过该云主机的预设QOS等级对应的CPU使用临界值时,根据该云主机的预设QOS等级缩减该云主机的云主机进程所在的CPU核心的数量,其中,预设QOS等级高的云主机缩减的所述CPU核心的数量小于预设QOS等级低的云主机缩减的所述CPU核心的数量。
[0062]优选的,还包括:
[0063]QOS等级信息表获取模块,用于获取预先设定的云主机的QOS等级信息表,其中,所述QOS等级信息表包括预设QOS等级和所述预设QOS等级对应的CPU使用临界值;
[0064]CPU使用量对比模块,用于将所述云主机进程的CPU使用量和所述QOS等级信息表中该云主机的预设QOS等级对应的CPU使用临界值进行对比。
[0065]其中,QOS等级信息表还优选包括所述预设QOS等级对应的超过临界值时CPU核心缩减比例,其中,高预设QOS等级对应的超过临界值时CPU核心缩减比例大于低预设QOS等级对应的超过临界值时CPU核心缩减比例;
[0066]相应的,所述CPU核心缩减模块具体用于:
[0067]当所述云主机进程的CPU使用量超过该云主机的预设QOS等级对应的CPU使用临界值时,根据该云主机的预设QOS等级对应的超过临界值时CPU核心缩减比例,缩减该云主机的云主机进程所在的CPU核心的数量。
[0068]优选的,所述CPU核心缩减模块包括:
[0069]CPU核心数量获取单元,用于获取所述云主机的云主机进程所在的CHJ核心的数量;
[0070]CPU核心数量缩减单元,用于根据所述QOS等级信息表中的该云主机的预设QOS等级对应的超过临界值时CPU核心缩减比例,对所述CPU核心的数量进行缩减;
[0071]云主机进程迀移单元,用于当缩减后的CPU核心的数量小于所述云主机的云主机进程所在的CPU核心的数量时,从所述云主机的进云主机程所在的CPU核心中选取所述缩减后的CPU核心的数量的CPU核心,将该云主机的云主机进程绑定到选取的CPU核心中。
[0072]上述产品可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
[0073]注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
【主权项】
1.一种云主机系统中的CRJ调度方法,其特征在于,所述方法包括: 在创建云主机进程时,将所述云主机进程随机绑定在一个CRJ核心上; 每隔预设时间间隔获取云主机进程的CHJ使用量; 当所述云主机进程的CPU使用量超过该云主机的预设服务质量QOS等级对应的CPU使用临界值时,根据该云主机的预设QOS等级缩减该云主机的云主机进程所在的CTU核心的数量,其中,预设QOS等级高的云主机缩减的所述CPU核心的数量小于预设QOS等级低的云主机缩减的所述CPU核心的数量。2.根据权利要求1所述的方法,其特征在于,还包括: 获取预先设定的云主机的QOS等级信息表,其中,所述QOS等级信息表包括预设QOS等级和所述预设QOS等级对应的CPU使用临界值; 将所述云主机进程的CPU使用量和所述QOS等级信息表中该云主机的预设QOS等级对应的(PU使用临界值进行对比。3.根据权利要求2所述的方法,其特征在于,QOS等级信息表还包括所述预设QOS等级对应的超过临界值时CHJ核心缩减比例,其中,高预设QOS等级对应的超过临界值时CPU核心缩减比例大于低预设QOS等级对应的超过临界值时CPU核心缩减比例; 相应的,当所述云主机进程的CPU使用量超过该云主机的预设QOS等级对应的CPU使用临界值时,根据该云主机的预设QOS等级缩减该云主机的云主机进程所在的CPU核心的数量包括: 当所述云主机进程的CPU使用量超过该云主机的预设QOS等级对应的CPU使用临界值时,根据该云主机的预设QOS等级对应的超过临界值时CPU核心缩减比例,缩减该云主机的云主机进程所在的CPU核心的数量。4.根据权利要求3所述的方法,其特征在于,根据该云主机的预设QOS等级对应的超过临界值时(PU核心缩减比例,缩减该云主机的云主机进程所在的CPU核心的数量包括: 获取所述云主机的云主机进程所在的CHJ核心的数量; 根据所述QOS等级信息表中的该云主机的预设QOS等级对应的超过临界值时CPU核心缩减比例,对所述CPU核心的数量进行缩减; 当缩减后的CPU核心的数量小于所述云主机的云主机进程所在的CPU核心的数量时,从所述云主机的进云主机程所在的CPU核心中选取所述缩减后的CPU核心的数量的CPU核心,将该云主机的云主机进程绑定到选取的CPU核心中。5.一种云主机系统中的CRJ调度装置,其特征在于,所述装置包括: CPU核心绑定模块,用于在创建云主机进程时,将所述云主机进程随机绑定在一个CPU核心上; CHJ使用量获取模块,用于每隔预设时间间隔获取云主机进程的CRJ使用量; CPU核心缩减模块,用于当所述云主机进程的CPU使用量超过该云主机的预设QOS等级对应的CPU使用临界值时,根据该云主机的预设QOS等级缩减该云主机的云主机进程所在的CPU核心的数量,其中,预设QOS等级高的云主机缩减的所述CPU核心的数量小于预设QOS等级低的云主机缩减的所述CPU核心的数量。6.根据权利要求5所述的装置,其特征在于,还包括: QOS等级信息表获取模块,用于获取预先设定的云主机的QOS等级信息表,其中,所述QOS等级信息表包括预设QOS等级和所述预设QOS等级对应的CPU使用临界值; CPU使用量对比模块,用于将所述云主机进程的CPU使用量和所述QOS等级信息表中该云主机的预设QOS等级对应的CPU使用临界值进行对比。7.根据权利要求6所述的装置,其特征在于,QOS等级信息表还包括所述预设QOS等级对应的超过临界值时CHJ核心缩减比例,其中,高预设QOS等级对应的超过临界值时CPU核心缩减比例大于低预设QOS等级对应的超过临界值时CPU核心缩减比例; 相应的,所述CRJ核心缩减模块具体用于: 当所述云主机进程的CPU使用量超过该云主机的预设QOS等级对应的CPU使用临界值时,根据该云主机的预设QOS等级对应的超过临界值时CPU核心缩减比例,缩减该云主机的云主机进程所在的CPU核心的数量。8.根据权利要求7所述的装置,其特征在于,所述CRJ核心缩减模块包括: CRJ核心数量获取单元,用于获取所述云主机的云主机进程所在的CRJ核心的数量; CPU核心数量缩减单元,用于根据所述QOS等级信息表中的该云主机的预设QOS等级对应的超过临界值时CPU核心缩减比例,对所述CPU核心的数量进行缩减; 云主机进程迀移单元,用于当缩减后的CPU核心的数量小于所述云主机的云主机进程所在的CPU核心的数量时,从所述云主机的进云主机程所在的CPU核心中选取所述缩减后的CPU核心的数量的CPU核心,将该云主机的云主机进程绑定到选取的CPU核心中。
【文档编号】H04L29/08GK105824708SQ201610307614
【公开日】2016年8月3日
【申请日】2016年5月10日
【发明人】刘杰, 曾宪力, 叶浩斌, 闵宇, 史伟
【申请人】广东睿江云计算股份有限公司