CN105589750A - 一种cpu资源调度方法和服务器 - Google Patents
一种cpu资源调度方法和服务器 Download PDFInfo
- Publication number
- CN105589750A CN105589750A CN201510399277.0A CN201510399277A CN105589750A CN 105589750 A CN105589750 A CN 105589750A CN 201510399277 A CN201510399277 A CN 201510399277A CN 105589750 A CN105589750 A CN 105589750A
- Authority
- CN
- China
- Prior art keywords
- cpu resource
- cpu
- resource amount
- server
- task
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Abstract
本申请公开了一种CPU资源调度方法,服务器中包括多个虚拟设备,所述方法包括:所述服务器对所述任务所需占用的CPU资源量与所述未被占用的CPU资源量进行比较;当所述任务所需占用的CPU资源量大于所述未被占用的CPU资源量时,所述服务器判断所述任务所需占用的CPU资源量与为所述虚拟设备分配的CPU资源中已被占用的CPU资源量之和是否大于为所述虚拟设备设定的最大CPU资源占有量;如果不大于,所述服务器将CPU资源中未被分配的CPU资源中的部分或全部CPU资源分配给所述虚拟设备。本申请可以利用空闲CPU资源,提高CPU资源利用率。
Description
技术领域
本申请涉及网络技术领域,特别是涉及一种CPU资源调度方法和服务器。
背景技术
随着设备性能的爆炸式的增长,以及虚拟化技术的逐渐普及,如何在已有的物理设备上实现多台虚拟化设备的资源动态分配、灵活调度、提高资源利用率,以满足用户在日常工作中需求迫在眉睫。
设备虚拟化是指通过虚拟化技术将一台设备虚拟为多台逻辑设备(虚拟设备),即在一台设备上可以同时运行多台虚拟设备,在虚拟化技术中CPU(CentralProcessingUnit,处理器)资源的调度是关键,它决定了哪个VCPU(VirtualCentralProcessingUnit,虚拟处理器,简称虚拟设备)可以获得CPU资源,为了更好的利用CPU资源,调度方案必须有效。
在现有技术中,为虚拟设备的分配CPU资源的方式分为手动分配和动态实时分配两种,手动分配是技术人员根据自己的经验对CPU资源进行分配,而动态实时分配选用FIFO(FirstInputFirstOutput,先入先出队列)调度、最短作业优先调度、优先权调度、多级队列等等调度方法对CPU资源进行分配。
在实现本申请的过程中,发明人发现现有技术至少存在如下问题:
手动分配会存在部分虚拟设备分配到的CPU资源不足,部分虚拟设备分配的CPU资源过剩,不能合理有效的利用CPU资源,而动态实时分配的调度算法相对单一,使CPU资源的有效利用率降低。
发明内容
本申请提出一种CPU调度方法,通过动态为虚拟设备分配CPU资源,以使所述虚拟设备能够对待处理的任务进行处理,本申请能够有效利用空闲的CPU资源,提高了CPU资源的利用率。
一种CPU调度方法,服务器中包括多个虚拟设备,所述方法包括:
服务器确定虚拟设备待处理的任务所需占用的CPU资源量和为所述虚拟设备分配的CPU资源中未被占用的CPU资源量;
所述服务器对所述任务所需占用的CPU资源量与所述未被占用的CPU资源量进行比较;
当所述任务所需占用的CPU资源量大于所述未被占用的CPU资源量时,所述服务器判断所述任务所需占用的CPU资源量与为所述虚拟设备分配的CPU资源中已被占用的CPU资源量之和是否大于为所述虚拟设备设定的最大CPU资源占有量;
如果所述任务所需占用的CPU资源量与为所述虚拟设备分配的CPU资源中已被占用的CPU资源量之和不大于为所述虚拟设备设定的最大CPU资源占有量,所述服务器调度CPU资源分配给所述虚拟设备,以使所述虚拟设备对所述任务进行处理。
一种服务器,所述服务器中包括多个虚拟设备,所述服务器包括:
确定模块,用于确定虚拟设备待处理的任务所需占用的CPU资源量和为所述虚拟设备分配的CPU资源中未被占用的CPU资源量;
比较模块,用于对所述任务所需占用的CPU资源量与所述未被占用的CPU资源量进行比较;
判断模块,用于当所述任务所需占用的CPU资源量大于所述未被占用的CPU资源量时,判断所述任务所需占用的CPU资源量与为所述虚拟设备分配的CPU资源中已被占用的CPU资源量之和是否大于为所述虚拟设备设定的最大CPU资源占有量;
分配模块,用于如果所述任务所需占用的CPU资源量与为所述虚拟设备分配的CPU资源中已被占用的CPU资源量之和不大于为所述虚拟设备设定的最大CPU资源占有量,调度CPU资源分配给所述虚拟设备,以使所述虚拟设备对所述任务进行处理。
本申请中通过比较任务所需占用的CPU资源量和为所述虚拟设备分配的CPU资源中当前未被占用的CPU资源量,实现了为虚拟设备动态分配CPU资源,以达到利用空闲CPU资源、提高CPU资源利用率的目的。
附图说明
为了更清楚地说明本申请或现有技术中的技术方案,下面将对本申请或现有技术描述中所需要占用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中的一种CPU资源调度方法流程图;
图2为本申请实施例中一种服务器的结构示意图。
具体实施方式
下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员获得的其他实施例,都属于本申请保护的范围。
如图1所示,为本申请实施例中的一种CPU调度方法流程图,所述服务器中包括多个虚拟设备,该方法包括以下步骤:
步骤101,服务器确定虚拟设备待处理的任务所需占用的CPU资源量和为所述虚拟设备分配的CPU资源中未被占用的CPU资源量(后续简称未被占用的CPU资源量)。
步骤102,所述服务器对所述任务所需占用的CPU资源量与所述未被占用的CPU资源量进行比较。
当所述任务所需占用的CPU资源量大于所述未被占用的CPU资源量时,执行步骤103,当所述任务所需占用的CPU资源量不大于所述未被占用的CPU资源量时,所述虚拟设备直接对所述任务进行处理。
步骤103,所述服务器判断所述任务所需占用的CPU资源量与为所述虚拟设备分配的CPU资源中已被占用的CPU资源量(后续简称已被占用的CPU资源量)之和是否大于为所述虚拟设备设定的最大CPU资源占有量。
如果所述任务所需占用的CPU资源量与为所述已被占用的CPU资源量之和不大于为所述虚拟设备设定的最大CPU资源占有量,执行步骤104;如果所述任务所需占用的CPU资源量与所已被占用的CPU资源量之和大于为所述虚拟设备设定的最大CPU资源占有量,所述虚拟设备丢弃所述任务。
为保证服务器包括的多个虚拟设备都能分配到CPU资源,每个虚拟设备设置有最大CPU资源占有量,以防止将所有CPU资源都分配给一个虚拟设备。因此,虚拟设备占用的CPU资源量不能超过设定的最大CPU资源占有量,即所述任务所需占用的CPU资源量与所述已被占用的CPU资源量之和不能大于最大CPU资源占有量,如果大于则表示不能对所述任务进行处理;如果不大于则表示所述可以对所述任务进行处理。
步骤104,所述服务器调度CPU资源分配给所述虚拟设备,以使所述虚拟设备对所述任务进行处理。
所述服务器调度CPU资源分配给所述虚拟设备,以使所述虚拟设备对所述任务进行处理,包括:
当所述服务器确定CPU资源中存在未被分配的CPU资源时,所述服务器判断CPU资源中未被分配的CPU资源量(后续简称未被分配的CPU资源量)与所述未被占用的CPU资源量之和是否小于所述任务所需占用的CPU资源量。
如果所述未被分配的CPU资源量与所述未被占用的CPU资源量之和不小于所述任务所需占用的CPU资源量,则执行步骤A;如果所述未被分配的CPU资源量与所述未被占用的CPU资源量之和小于所述任务所需占用的CPU资源量,则执行步骤B。
如果未被分配的CPU资源量与所述未被占用的CPU资源量之和不小于所述任务所需占用的CPU资源量,表示所述未被占用的CPU资源量加上所述未被分配的CPU资源量得到的CPU资源量足够所述虚拟设备对所述任务进行处理;如果小于,表示即使所述未被占用的CPU资源量加上所有未被分配的CPU资源量得到的CPU资源量仍然不够所述虚拟设备对所述任务进行处理。
步骤A,所述服务器将所述未被分配的CPU资源中的部分或全部CPU资源分配给所述虚拟设备,以使所述虚拟设备对所述任务进行处理。
其中,所述服务器分配给所述虚拟设备的所述未被分配的CPU资源中的部分或全部CPU资源量是根据所述任务所需占用的CPU资源量与为所述未被占用的CPU资源量之差得到的,即所述未被分配的CPU资源中的部分或全部CPU资源量与所述未被占用的CPU资源量之和不小于所述任务所需占用的CPU资源量。此处,只要保证未被分配的CPU资源中的部分或全部CPU资源量与所述未被占用的CPU资源量之和不小于所述任务所需占用的CPU资源量且为虚拟设备分配的CPU资源总量不超过预设的最大CPU资源占有量即可,从未被分配的CPU资源中分配给虚拟设备的CPU资源量不做具体限制。
步骤B,所述服务器判断为优先级不大于所述虚拟设备的其他虚拟设备分配的CPU资源中是否存在可回收的CPU资源。
如果为所述其他虚拟设备分配的CPU资源中存在可回收的CPU资源,则执行步骤C;如果为所述其他虚拟设备分配的CPU资源中不存在可回收的CPU资源,所述虚拟设备丢弃所述任务。
由于其他虚拟设备中可能存在可回收的CPU资源,为了提高CPU资源的利用率,所述服务器还可以回收为其他虚拟设备分配的CPU资源中的可回收的CPU资源。在所述服务器回收为其他虚拟设备分配的CPU资源中的可回收的CPU资源时,回收的是分配给优先级不大于所述虚拟设备的其他虚拟设备的CPU资源中的可回收的CPU资源,这样能够保证尽量保证优先级较高的虚拟设备有足够的CPU资源来对待处理任务进行处理。但是,如果为优先级不大于所述虚拟设备的其他虚拟设备分配的CPU资源中不存在可回收的CPU资源,那么表示所述虚拟设备将得不到足够的资源来对任务进行处理。
其中,虚拟设备的可回收的CPU资源是指为虚拟设备分配的CPU资源中的部分或全部未被占用的CPU资源,且该部分或全部未被占用的CPU资源的资源量需要满足以下条件:为虚拟设备分配的CPU资源量减去该部分或全部未被占用的CPU资源的资源量不小于该虚拟设备预先设定的最小CPU资源需求量。
步骤C,所述服务器判断为所述其他虚拟设备分配的CPU资源中可回收的CPU资源量、所述未被分配的CPU资源量和所述未被占用的CPU资源量之和是否小于所述任务所需占用的CPU资源量。
如果所述可回收的CPU资源量、所述未被分配的CPU资源量和所述未被占用的CPU资源量之和不小于所述任务所需占用的CPU资源量,则执行步骤D;如果所述可回收的CPU资源量、所述未被分配的CPU资源量和所述未被占用的CPU资源量之和小于所述任务所需占用的CPU资源量,所述虚拟设备丢弃所述任务。
具体的,为其他虚拟设备分配的CPU资源中可回收的CPU资源量、所述未被分配的CPU资源量和所述未被占用的CPU资源量之和不小于所述任务所需占用的CPU资源量,表示所述虚拟设备可以得到足够的CPU资源来对待处理任务进行处理;如果小于,表示所述虚拟设备得不到足够的CPU资源来对待处理任务进行处理。
步骤D,所述服务器回收所述可回收的CPU资源,并将所述未被分配的CPU资源中的部分或全部CPU资源和回收的CPU资源中的部分或全部CPU资源分配给所述虚拟设备,以使所述虚拟设备对所述任务进行处理。
此处,只要保证未被分配的CPU资源中的部分或全部CPU资源量与所述回收的CPU资源中的部分或全部CPU资源与所述未被占用的CPU资源量之和不小于所述任务所需占用的CPU资源量且为虚拟设备分配的CPU资源总量不超过预设的最大CPU资源占有量即可,从未被分配的CPU资源中分配给虚拟设备的CPU资源量和从回收的CPU资源中分配给虚拟设备的CPU资源量不做具体限制。
当所述服务器确定CPU资源中不存在未被分配的CPU资源时,所述服务器判断为所述其他虚拟设备分配的CPU资源中是否存在可回收的CPU资源。
如果为所述其他虚拟设备分配的CPU资源中不存在可回收的CPU资源,所述虚拟设备丢弃所述任务。
如果为所述其他虚拟设备分配的CPU资源中存在可回收的CPU资源,所述服务器判断为所述其它虚拟设备分配的CPU资源中可回收的CPU资源量与所述未被占用的CPU资源量之和是否小于所述任务所需占用的CPU资源量。
具体的,为所述其他虚拟设备分配的CPU资源中可回收的CPU资源量与所述未被占用的CPU资源量之和不小于所述任务所需占用的CPU资源量,表明所述虚拟设备可以获得足够的CPU资源来对任务进行处理;如果小于,表明所述虚拟设备当前无法得到足够的CPU资源来对任务进行处理。
如果所述可回收的CPU资源量与为所述未被占用的CPU资源量之和不小于所述任务所需占用的CPU资源量,所述服务器回收所述可回收的CPU资源,并将回收的CPU资源中部分或全部CPU资源分配给所述虚拟设备,以使所述虚拟设备对所述任务进行处理;如果所述可回收的CPU资源量与为所述未被占用的CPU资源量之和小于所述任务所需占用的CPU资源量,所述虚拟设备丢弃所述任务。
此处,只要保证所述回收的CPU资源中的部分或全部CPU资源与所述未被占用的CPU资源量之和不小于所述任务所需占用的CPU资源量且为虚拟设备分配的CPU资源总量不超过预设的最大CPU资源占有量即可,从回收的CPU资源中分配给虚拟设备的CPU资源量不做具体限制。
在一个例子中,所述服务器还可以定时回收为所述虚拟设备分配的CPU资源中可回收的CPU资源。
具体的,当为虚拟设备初始分配CPU资源后,所述服务器开始计时,当时间超过定时回收时间间隔时,所述服务器回收虚拟设备中可回收的CPU资源。
在一个例子中,当所述虚拟设备的CPU资源利用率低于阈值时,所述服务器还可以接收所述虚拟设备返还的为所述虚拟设备分配的CPU资源中的可回收的CPU资源。
其中,虚拟设备的CPU资源利用率为虚拟设备占用的资源量与为该虚拟设备分配的资源量的百分比。
在一个例子中,当所述服务器接收服务器中包括的多个虚拟设备返还的可回收的CPU资源的次数小于为服务器中包括的多个虚拟设备分配CPU资源的次数时,所述服务器确定接收服务器中包括的多个虚拟设备返还的可回收的CPU资源的次数与为服务器中包括的多个虚拟设备分配CPU资源的次数的差值;
当所述差值大于阈值时,所述服务器回收为服务器中包括的所有虚拟设备分配的CPU资源中可回收的CPU资源。
具体的,在虚拟设备处理任务时如果CPU资源不够,那么所述服务器会为虚拟设备分配CPU资源,在一定情况下(如虚拟设备的CPU资源利用率低于阈值时),虚拟设备会返还CPU资源,如果所述服务器为服务器中包括的多个虚拟设备分配CPU资源的次数远远高于服务器中包括的多个虚拟设备返还CPU资源的次数时,即接收服务器中包括的多个虚拟设备返还的可回收的CPU资源的次数与为服务器中包括的多个虚拟设备分配CPU资源的次数的差值超过阈值,则表示当前未被分配的CPU资源处于紧张状态,因此需要将为服务器中包括的所有虚拟设备分配的CPU资源中的可回收的CPU资源回收,然后优先分配给需要对待处理任务进行处理的优先级最高的虚拟设备,以保证优先级最高的虚拟设备优先处理任务,同时可以保证集中有限的可回收的CPU资源来对任务进行处理,以减少由于得不到足够的CPU资源而导致不能对任务进行处理的情况。
所述服务器还可以根据日常数据对虚拟设备进行预分配,具体的,如果所述服务器根据预定时间内采集到的数据评估出某虚拟设备在某时间点会出现CPU资源需求,所述服务器预先为所述虚拟设备分配CPU资源。
基于与上述方法同样的申请构思,本申请还提出了一种服务器,所述服务器中包括多个虚拟设备,如图2所述,所述服务器包括:
确定模块21,用于确定虚拟设备待处理的任务所需占用的CPU资源量和为所述虚拟设备分配的CPU资源中未被占用的CPU资源量;
比较模块22,用于对所述任务所需占用的CPU资源量与所述未被占用的CPU资源量进行比较;
判断模块23,用于当所述任务所需占用的CPU资源量大于所述未被占用的CPU资源量时,判断所述任务所需占用的CPU资源量与为所述虚拟设备分配的CPU资源中已被占用的CPU资源量之和是否大于为所述虚拟设备设定的最大CPU资源占有量;
分配模块24,用于如果所述任务所需占用的CPU资源量与为所述虚拟设备分配的CPU资源中已被占用的CPU资源量之和不大于为所述虚拟设备设定的最大CPU资源占有量,调度CPU资源分配给所述虚拟设备,以使所述虚拟设备对所述任务进行处理。
分配模块24,具体用于当确定CPU资源中存在未被分配的CPU资源时,判断CPU资源中未被分配的CPU资源量与所述未被占用的CPU资源量之和是否小于所述任务所需占用的CPU资源量;
如果所述未被分配的CPU资源量与所述未被占用的CPU资源量之和不小于所述任务所需占用的CPU资源量,将所述未被分配的CPU资源中的部分或全部CPU资源分配给所述虚拟设备,以使所述虚拟设备对所述任务进行处理;
如果所述未被分配的CPU资源量与为所述未被占用的CPU资源量之和小于所述任务所需占用的CPU资源量,判断为优先级不大于所述虚拟设备的其他虚拟设备分配的CPU资源中是否存在可回收的CPU资源;
如果为所述其他虚拟设备分配的CPU资源中存在可回收的CPU资源,判断为所述其他虚拟设备分配的CPU资源中可回收的CPU资源量、所述未被分配的CPU资源量和所述未被占用的CPU资源量之和是否小于所述任务所需占用的CPU资源量;
如果所述可回收的CPU资源量、所述未被分配的CPU资源量和所述未被占用的CPU资源量之和不小于所述任务所需占用的CPU资源量,回收所述可回收的CPU资源,并将所述未被分配的CPU资源中的部分或全部CPU资源和回收的CPU资源中的部分或全部CPU资源分配给所述虚拟设备,以使所述虚拟设备对所述任务进行处理。
分配模块24,还具体用于当确定CPU资源中不存在未被分配的CPU资源时,判断为所述其他虚拟设备分配的CPU资源中是否存在可回收的CPU资源;
如果为所述其他虚拟设备分配的CPU资源中存在可回收的CPU资源,判断为所述其它虚拟设备分配的CPU资源中可回收的CPU资源量与所述未被占用的CPU资源量之和是否小于所述任务所需占用的CPU资源量;
如果所述可回收的CPU资源量与为所述未被占用的CPU资源量之和不小于所述任务所需占用的CPU资源量,回收所述可回收的CPU资源,并将回收的CPU资源中部分或全部CPU资源分配给所述虚拟设备,以使所述虚拟设备对所述任务进行处理。
所述服务器还包括:
接收模块,用于当所述虚拟设备的CPU资源利用率低于阈值时,接收所述虚拟设备主动返还的为所述虚拟设备分配的CPU资源中可回收的CPU资源。
所述服务器还包括:
差值确定模块,用于当所述接收模块接收服务器中包括的多个虚拟设备返还的可回收的CPU资源的次数小于所述分配模块为服务器中包括的多个虚拟设备分配CPU资源的次数时,确定接收服务器中包括的多个虚拟设备返还的可回收的CPU资源的次数与为服务器中包括的多个虚拟设备分配CPU资源的次数的差值;
回收模块,用于当所述差值大于阈值时,回收为服务器中包括的所有虚拟设备分配的CPU资源中可回收的CPU资源。
所述服务器还包括:
定时回收模块,用于定时回收为所述虚拟设备分配的CPU资源中可回收的CPU资源。
本申请中通过比较任务所需占用的CPU资源量和为所述虚拟设备分配的CPU资源中当前未被占用的CPU资源量,实现了为虚拟设备动态分配CPU资源,以达到利用空闲CPU资源、提高CPU资源利用率的目的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本申请的保护范围。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以集成于一体,也可以分离部署;可以合并为一个模块,也可以进一步拆分成多个子模块。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本申请的几个具体实施例,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。
Claims (12)
1.一种处理器CPU资源调度方法,服务器中包括多个虚拟设备,其特征在于,所述方法包括:
服务器确定虚拟设备待处理的任务所需占用的CPU资源量和为所述虚拟设备分配的CPU资源中未被占用的CPU资源量;
所述服务器对所述任务所需占用的CPU资源量与所述未被占用的CPU资源量进行比较;
当所述任务所需占用的CPU资源量大于所述未被占用的CPU资源量时,所述服务器判断所述任务所需占用的CPU资源量与为所述虚拟设备分配的CPU资源中已被占用的CPU资源量之和是否大于为所述虚拟设备设定的最大CPU资源占有量;
如果所述任务所需占用的CPU资源量与为所述虚拟设备分配的CPU资源中已被占用的CPU资源量之和不大于为所述虚拟设备设定的最大CPU资源占有量,所述服务器调度CPU资源分配给所述虚拟设备,以使所述虚拟设备对所述任务进行处理。
2.如权利要求1所述方法,其特征在于,所述服务器调度CPU资源分配给所述虚拟设备,以使所述虚拟设备对所述任务进行处理,包括:
当所述服务器确定CPU资源中存在未被分配的CPU资源时,所述服务器判断CPU资源中未被分配的CPU资源量与所述未被占用的CPU资源量之和是否小于所述任务所需占用的CPU资源量;
如果所述未被分配的CPU资源量与所述未被占用的CPU资源量之和不小于所述任务所需占用的CPU资源量,所述服务器将所述未被分配的CPU资源中的部分或全部CPU资源分配给所述虚拟设备,以使所述虚拟设备对所述任务进行处理;
如果所述未被分配的CPU资源量与为所述未被占用的CPU资源量之和小于所述任务所需占用的CPU资源量,所述服务器判断为优先级不大于所述虚拟设备的其他虚拟设备分配的CPU资源中是否存在可回收的CPU资源;
如果为所述其他虚拟设备分配的CPU资源中存在可回收的CPU资源,所述服务器判断为所述其他虚拟设备分配的CPU资源中可回收的CPU资源量、所述未被分配的CPU资源量和所述未被占用的CPU资源量之和是否小于所述任务所需占用的CPU资源量;
如果所述可回收的CPU资源量、所述未被分配的CPU资源量和所述未被占用的CPU资源量之和不小于所述任务所需占用的CPU资源量,所述服务器回收所述可回收的CPU资源,并将所述未被分配的CPU资源中的部分或全部CPU资源和回收的CPU资源中的部分或全部CPU资源分配给所述虚拟设备,以使所述虚拟设备对所述任务进行处理。
3.如权利要求1所述方法,其特征在于,所述服务器调度CPU资源分配给所述虚拟设备,以使所述虚拟设备对所述任务进行处理,包括:
当所述服务器确定CPU资源中不存在未被分配的CPU资源时,所述服务器判断为所述其他虚拟设备分配的CPU资源中是否存在可回收的CPU资源;
如果为所述其他虚拟设备分配的CPU资源中存在可回收的CPU资源,所述服务器判断为所述其它虚拟设备分配的CPU资源中可回收的CPU资源量与所述未被占用的CPU资源量之和是否小于所述任务所需占用的CPU资源量;
如果所述可回收的CPU资源量与为所述未被占用的CPU资源量之和不小于所述任务所需占用的CPU资源量,所述服务器回收所述可回收的CPU资源,并将回收的CPU资源中部分或全部CPU资源分配给所述虚拟设备,以使所述虚拟设备对所述任务进行处理。
4.如权利要求1到3任一所述方法,其特征在于,所述方法还包括:
当所述虚拟设备的CPU资源利用率低于阈值时,所述服务器接收所述虚拟设备返还的为所述虚拟设备分配的CPU资源中可回收的CPU资源。
5.如权利要求4所述方法,其特征在于,所述方法还包括:
当所述服务器接收服务器中包括的多个虚拟设备返还的可回收的CPU资源的次数小于为服务器中包括的多个虚拟设备分配CPU资源的次数时,所述服务器确定接收服务器中包括的多个虚拟设备返还的可回收的CPU资源的次数与为服务器中包括的多个虚拟设备分配CPU资源的次数的差值;
当所述差值大于阈值时,所述服务器回收为服务器中包括的所有虚拟设备分配的CPU资源中可回收的CPU资源。
6.如权利要求1到3任一所述方法,其特征在于,所述方法还包括:
所述服务器定时回收为所述虚拟设备分配的CPU资源中可回收的CPU资源。
7.一种服务器,所述服务器中包括多个虚拟设备,其特征在于,所述服务器包括:
确定模块,用于确定虚拟设备待处理的任务所需占用的CPU资源量和为所述虚拟设备分配的CPU资源中未被占用的CPU资源量;
比较模块,用于对所述任务所需占用的CPU资源量与所述未被占用的CPU资源量进行比较;
判断模块,用于当所述任务所需占用的CPU资源量大于所述未被占用的CPU资源量时,判断所述任务所需占用的CPU资源量与为所述虚拟设备分配的CPU资源中已被占用的CPU资源量之和是否大于为所述虚拟设备设定的最大CPU资源占有量;
分配模块,用于如果所述任务所需占用的CPU资源量与为所述虚拟设备分配的CPU资源中已被占用的CPU资源量之和不大于为所述虚拟设备设定的最大CPU资源占有量,调度CPU资源分配给所述虚拟设备,以使所述虚拟设备对所述任务进行处理。
8.如权利要求7所述服务器,其特征在于,所述分配模块,具体用于当确定CPU资源中存在未被分配的CPU资源时,判断CPU资源中未被分配的CPU资源量与所述未被占用的CPU资源量之和是否小于所述任务所需占用的CPU资源量;
如果所述未被分配的CPU资源量与所述未被占用的CPU资源量之和不小于所述任务所需占用的CPU资源量,将所述未被分配的CPU资源中的部分或全部CPU资源分配给所述虚拟设备,以使所述虚拟设备对所述任务进行处理;
如果所述未被分配的CPU资源量与为所述未被占用的CPU资源量之和小于所述任务所需占用的CPU资源量,判断为优先级不大于所述虚拟设备的其他虚拟设备分配的CPU资源中是否存在可回收的CPU资源;
如果为所述其他虚拟设备分配的CPU资源中存在可回收的CPU资源,判断为所述其他虚拟设备分配的CPU资源中可回收的CPU资源量、所述未被分配的CPU资源量和所述未被占用的CPU资源量之和是否小于所述任务所需占用的CPU资源量;
如果所述可回收的CPU资源量、所述未被分配的CPU资源量和所述未被占用的CPU资源量之和不小于所述任务所需占用的CPU资源量,回收所述可回收的CPU资源,并将所述未被分配的CPU资源中的部分或全部CPU资源和回收的CPU资源中的部分或全部CPU资源分配给所述虚拟设备,以使所述虚拟设备对所述任务进行处理。
9.如权利要求7所述服务器,其特征在于,所述分配模块,具体用于当确定CPU资源中不存在未被分配的CPU资源时,判断为所述其他虚拟设备分配的CPU资源中是否存在可回收的CPU资源;
如果为所述其他虚拟设备分配的CPU资源中存在可回收的CPU资源,判断为所述其它虚拟设备分配的CPU资源中可回收的CPU资源量与所述未被占用的CPU资源量之和是否小于所述任务所需占用的CPU资源量;
如果所述可回收的CPU资源量与为所述未被占用的CPU资源量之和不小于所述任务所需占用的CPU资源量,回收所述可回收的CPU资源,并将回收的CPU资源中部分或全部CPU资源分配给所述虚拟设备,以使所述虚拟设备对所述任务进行处理。
10.如权利要求7到9任一所述服务器,其特征在于,所述服务器还包括:
接收模块,用于当所述虚拟设备的CPU资源利用率低于阈值时,接收所述虚拟设备返还的为所述虚拟设备分配的CPU资源中可回收的CPU资源。
11.如权利要求10所述服务器,其特征在于,所述服务器还包括:
差值确定模块,用于当所述接收模块接收服务器中包括的多个虚拟设备返还的可回收的CPU资源的次数小于所述分配模块为服务器中包括的多个虚拟设备分配CPU资源的次数时,确定接收服务器中包括的多个虚拟设备返还的可回收的CPU资源的次数与为服务器中包括的多个虚拟设备分配CPU资源的次数的差值;
回收模块,用于当所述差值大于阈值时,回收为服务器中包括的所有虚拟设备分配的CPU资源中可回收的CPU资源。
12.如权利要求7到9任一所述服务器,其特征在于,所述服务器还包括:
定时回收模块,用于定时回收为所述虚拟设备分配的CPU资源中可回收的CPU资源。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510399277.0A CN105589750B (zh) | 2015-07-07 | 2015-07-07 | 一种cpu资源调度方法和服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510399277.0A CN105589750B (zh) | 2015-07-07 | 2015-07-07 | 一种cpu资源调度方法和服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105589750A true CN105589750A (zh) | 2016-05-18 |
CN105589750B CN105589750B (zh) | 2019-01-25 |
Family
ID=55929352
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510399277.0A Active CN105589750B (zh) | 2015-07-07 | 2015-07-07 | 一种cpu资源调度方法和服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105589750B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106095548A (zh) * | 2016-06-03 | 2016-11-09 | 青岛海信移动通信技术股份有限公司 | 一种多核处理器系统中分发中断的方法和装置 |
CN106445686A (zh) * | 2016-09-21 | 2017-02-22 | 东软集团股份有限公司 | 资源分配方法及装置 |
CN106776041A (zh) * | 2016-12-30 | 2017-05-31 | 广东欧珀移动通信有限公司 | 一种数据处理方法及装置 |
CN106991012A (zh) * | 2017-04-11 | 2017-07-28 | 广东浪潮大数据研究有限公司 | 一种计算机资源压缩预留和动态调度方法 |
CN107295090A (zh) * | 2017-06-30 | 2017-10-24 | 北京奇艺世纪科技有限公司 | 一种资源调度的方法和装置 |
WO2018107945A1 (zh) * | 2016-12-13 | 2018-06-21 | 腾讯科技(深圳)有限公司 | 一种实现硬件资源分配的方法、装置及存储介质 |
WO2018171357A1 (zh) * | 2017-03-22 | 2018-09-27 | 华为技术有限公司 | 一种资源管理的方法和装置 |
CN110740100A (zh) * | 2019-10-22 | 2020-01-31 | 新华三信息安全技术有限公司 | 一种传输速率确定方法、装置、网络设备及存储介质 |
CN110888733A (zh) * | 2018-09-11 | 2020-03-17 | 北京奇虎科技有限公司 | 集群资源使用情况处理方法、装置及电子设备 |
CN111694649A (zh) * | 2020-06-12 | 2020-09-22 | 北京字节跳动网络技术有限公司 | 资源调度方法、装置、计算机设备和存储介质 |
CN111813564A (zh) * | 2020-09-11 | 2020-10-23 | 北京达佳互联信息技术有限公司 | 集群资源管理方法、装置及容器集群管理系统 |
CN116594782A (zh) * | 2023-07-13 | 2023-08-15 | 中国石油天然气股份有限公司 | 基于智能运维系统的勘探数据中心的资源管理方法及装置 |
CN116820727A (zh) * | 2023-07-19 | 2023-09-29 | 杭州星云智慧科技有限公司 | 一种任务处理方法、装置、电子设备及存储介质 |
US11954527B2 (en) | 2020-12-09 | 2024-04-09 | Industrial Technology Research Institute | Machine learning system and resource allocation method thereof |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1538317A (zh) * | 2003-10-24 | 2004-10-20 | 中兴通讯股份有限公司 | 多业务平台多种资源综合调度的方法 |
US20060217123A1 (en) * | 2003-04-03 | 2006-09-28 | Matsushita Electric Industrial Co., Ltd. | Radio base resource allocation method and radio base station |
CN1879441A (zh) * | 2003-12-09 | 2006-12-13 | 艾利森电话股份有限公司 | 用于管理通信系统中不同运营商共享的资源的方法及装置 |
CN101557345A (zh) * | 2009-05-07 | 2009-10-14 | 中兴通讯股份有限公司 | 提供设备资源的方法和设备资源管理装置 |
CN102866920A (zh) * | 2012-08-02 | 2013-01-09 | 杭州海康威视系统技术有限公司 | 主从结构分布式视频处理系统及其调度方法 |
-
2015
- 2015-07-07 CN CN201510399277.0A patent/CN105589750B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060217123A1 (en) * | 2003-04-03 | 2006-09-28 | Matsushita Electric Industrial Co., Ltd. | Radio base resource allocation method and radio base station |
CN1538317A (zh) * | 2003-10-24 | 2004-10-20 | 中兴通讯股份有限公司 | 多业务平台多种资源综合调度的方法 |
CN1879441A (zh) * | 2003-12-09 | 2006-12-13 | 艾利森电话股份有限公司 | 用于管理通信系统中不同运营商共享的资源的方法及装置 |
US20070264986A1 (en) * | 2003-12-09 | 2007-11-15 | William Warrillow | Method and Device for Managing Resources Shared by Different Operators in a Communication System |
CN101557345A (zh) * | 2009-05-07 | 2009-10-14 | 中兴通讯股份有限公司 | 提供设备资源的方法和设备资源管理装置 |
CN102866920A (zh) * | 2012-08-02 | 2013-01-09 | 杭州海康威视系统技术有限公司 | 主从结构分布式视频处理系统及其调度方法 |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106095548A (zh) * | 2016-06-03 | 2016-11-09 | 青岛海信移动通信技术股份有限公司 | 一种多核处理器系统中分发中断的方法和装置 |
CN106445686A (zh) * | 2016-09-21 | 2017-02-22 | 东软集团股份有限公司 | 资源分配方法及装置 |
US11132229B2 (en) | 2016-12-13 | 2021-09-28 | Tencent Technology (Shenzhen) Company Limited | Method, storage medium storing instructions, and apparatus for implementing hardware resource allocation according to user-requested resource quantity |
WO2018107945A1 (zh) * | 2016-12-13 | 2018-06-21 | 腾讯科技(深圳)有限公司 | 一种实现硬件资源分配的方法、装置及存储介质 |
US11768706B2 (en) | 2016-12-13 | 2023-09-26 | Tencent Technology (Shenzhen) Company Limited | Method, storage medium storing instructions, and apparatus for implementing hardware resource allocation according to user-requested resource quantity |
CN106776041A (zh) * | 2016-12-30 | 2017-05-31 | 广东欧珀移动通信有限公司 | 一种数据处理方法及装置 |
CN106776041B (zh) * | 2016-12-30 | 2020-01-14 | Oppo广东移动通信有限公司 | 一种数据处理方法及装置 |
WO2018171357A1 (zh) * | 2017-03-22 | 2018-09-27 | 华为技术有限公司 | 一种资源管理的方法和装置 |
CN106991012A (zh) * | 2017-04-11 | 2017-07-28 | 广东浪潮大数据研究有限公司 | 一种计算机资源压缩预留和动态调度方法 |
CN107295090A (zh) * | 2017-06-30 | 2017-10-24 | 北京奇艺世纪科技有限公司 | 一种资源调度的方法和装置 |
CN107295090B (zh) * | 2017-06-30 | 2020-01-21 | 北京奇艺世纪科技有限公司 | 一种资源调度的方法和装置 |
CN110888733A (zh) * | 2018-09-11 | 2020-03-17 | 北京奇虎科技有限公司 | 集群资源使用情况处理方法、装置及电子设备 |
CN110888733B (zh) * | 2018-09-11 | 2023-12-26 | 三六零科技集团有限公司 | 集群资源使用情况处理方法、装置及电子设备 |
CN110740100B (zh) * | 2019-10-22 | 2022-04-22 | 新华三信息安全技术有限公司 | 一种传输速率确定方法、装置、网络设备及存储介质 |
CN110740100A (zh) * | 2019-10-22 | 2020-01-31 | 新华三信息安全技术有限公司 | 一种传输速率确定方法、装置、网络设备及存储介质 |
CN111694649A (zh) * | 2020-06-12 | 2020-09-22 | 北京字节跳动网络技术有限公司 | 资源调度方法、装置、计算机设备和存储介质 |
CN111813564A (zh) * | 2020-09-11 | 2020-10-23 | 北京达佳互联信息技术有限公司 | 集群资源管理方法、装置及容器集群管理系统 |
US11954527B2 (en) | 2020-12-09 | 2024-04-09 | Industrial Technology Research Institute | Machine learning system and resource allocation method thereof |
CN116594782A (zh) * | 2023-07-13 | 2023-08-15 | 中国石油天然气股份有限公司 | 基于智能运维系统的勘探数据中心的资源管理方法及装置 |
CN116820727A (zh) * | 2023-07-19 | 2023-09-29 | 杭州星云智慧科技有限公司 | 一种任务处理方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105589750B (zh) | 2019-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105589750A (zh) | 一种cpu资源调度方法和服务器 | |
US10680892B2 (en) | Managing servers with quality of service assurances | |
US7036123B2 (en) | System using fair-share scheduling technique to schedule processes within each processor set based on the number of shares assigned to each process group | |
CN110808922B (zh) | 一种消息处理方法、装置、存储介质及电子设备 | |
EP3402163B1 (en) | Method and device for managing resources in cloud platform | |
US10609176B2 (en) | Method and system for real-time resource consumption control in a distributed computing environment | |
CN112269641B (zh) | 一种调度方法、装置、电子设备及存储介质 | |
SG11201810195VA (en) | Exclusive agent pool allocation method, electronic device, and computer readable storage medium | |
CN110968366B (zh) | 一种基于有限mec资源的任务卸载方法、装置及设备 | |
CN113285886B (zh) | 一种带宽分配的方法、装置、电子设备及可读存储介质 | |
CN112600761A (zh) | 一种资源分配的方法、装置及存储介质 | |
CN115237589A (zh) | 一种基于sr-iov的虚拟化方法、装置和设备 | |
CN114116173A (zh) | 动态调整任务分配的方法、装置和系统 | |
CN105335313A (zh) | 一种基础数据的传输方法及装置 | |
CN108933675B (zh) | 会议资源的分配方法、装置及存储介质 | |
CN114138428A (zh) | 多优先级任务的slo保障方法、装置、节点及存储介质 | |
CN109189581B (zh) | 一种作业调度方法和装置 | |
CN114217977B (zh) | 资源分配方法、装置、设备以及存储介质 | |
CN107704320B (zh) | 一种分布式系统的任务分配方法及系统 | |
US6336127B1 (en) | Dynamic user management for timed shared computer systems | |
CN108429704A (zh) | 一种节点资源分配方法及装置 | |
CN115586957B (zh) | 一种任务调度系统、方法、装置及电子设备 | |
CN112565320B (zh) | 负载均衡方法及装置 | |
CN117971473A (zh) | 离线任务资源隔离方法及装置 | |
CN112506672B (zh) | 面向虚拟gpu的云手机在线调度与迁移的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant after: Xinhua three Technology Co., Ltd. Address before: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant before: Huasan Communication Technology Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |