CN111949398A - 资源调度方法及装置 - Google Patents

资源调度方法及装置 Download PDF

Info

Publication number
CN111949398A
CN111949398A CN202010752743.XA CN202010752743A CN111949398A CN 111949398 A CN111949398 A CN 111949398A CN 202010752743 A CN202010752743 A CN 202010752743A CN 111949398 A CN111949398 A CN 111949398A
Authority
CN
China
Prior art keywords
virtual machine
task
calculated
resources
target virtual
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.)
Pending
Application number
CN202010752743.XA
Other languages
English (en)
Inventor
李魁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Wanxiang Electronics Technology Co Ltd
Original Assignee
Xian Wanxiang Electronics Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xian Wanxiang Electronics Technology Co Ltd filed Critical Xian Wanxiang Electronics Technology Co Ltd
Priority to CN202010752743.XA priority Critical patent/CN111949398A/zh
Publication of CN111949398A publication Critical patent/CN111949398A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本公开提供一种资源调度方法及装置,涉及数据处理技术领域,所述方法包括根据接收到的每个虚拟机发送的资源占用率确定源虚拟机和目标虚拟机;向源虚拟机发送任务获取请求;接收源虚拟机发送的待计算任务,并根据待计算任务确定待调度的目标虚拟机;向待调度的目标虚拟机发送待计算任务,使得待调度的目标虚拟机将根据空闲资源执行待计算任务得到的计算结果发送至服务器;接收计算结果,并向源虚拟机发送计算结果,使得源虚拟机执行计算结果。本公开资源不足的源虚拟机可调用资源充足的目标虚拟机的资源,避免了源虚拟机资源紧张的情况,实现了整体资源的充分利用,从而提高了整体资源的利用率。

Description

资源调度方法及装置
技术领域
本公开涉及数据处理技术领域,尤其涉及资源调度方法及装置。
背景技术
云游戏是以云计算为基础的游戏方式。服务侧将有强大算力、渲染、存储的集群服务器,根据用户的需求,集群服务器动态的创建合适配置的虚拟机。在云游戏的运行模式下,所有游戏都在合适配置的虚拟机上运行,并将渲染完成后的游戏画面压缩后通过网络传送给用户。在虚拟机,用户的游戏设备不需要任何高端处理器和显卡,只需要基本的解码和键鼠操作能力就可以。线下“云网吧”模式依托于云游戏应运而生,采用VDI(VirtualDesktop Infrastructure,虚拟桌面基础架构)模式,在这种模式下,服务侧将有强大算力、渲染、存储的集群服务器,用户进入云网吧后,通过云网吧中提供的零终端来访问集群服务器,从而进行游戏或者获取其它应用服务。如图1所示,其为基于VDI的云网吧系统的架构图,包括服务器和集群服务器,集群服务器上配置有多个虚拟机,每个虚拟机均与服务器连接,且每个虚拟机对应一个零终端,事先为所有虚拟机配置好对应的资源,包括CPU(central processing unit,中央处理器)资源、GPU(Graphics Processing Unit,图形处理器)资源和内存资源等。
相关技术中,通常是每个虚拟机使用自身的资源运行各个任务。但是上述技术会存在这样的情况:每个用户对虚拟机的使用情况不同,从而会出现有的虚拟机对资源的使用率低,使得大部分资源处于空闲状态;而有的虚拟机对资源的使用率高,会出现资源吃紧的情况。这样就会导致整体的资源不能被充分利用,从而降低了资源的利用率。
发明内容
本公开实施例提供一种资源调度方法及装置,能够解决现有技术中导致整体的资源不能被充分利用,从而降低了资源的利用率的问题。所述技术方案如下:
根据本公开实施例的第一方面,提供一种资源调度方法,应用于服务器,所述方法包括:
根据接收到的每个虚拟机发送的资源占用率确定源虚拟机和目标虚拟机;
向所述源虚拟机发送任务获取请求;
接收所述源虚拟机发送的待计算任务,并根据所述待计算任务确定待调度的目标虚拟机;所述待计算任务包括所述源虚拟机当前需要调用的资源;
向所述待调度的目标虚拟机发送所述待计算任务,使得所述待调度的目标虚拟机将根据空闲资源执行所述待计算任务得到的计算结果发送至所述服务器;
接收所述计算结果,并向所述源虚拟机发送所述计算结果,使得所述源虚拟机执行所述计算结果。
本公开实施例提供一种资源调度方法,根据接收到的每个虚拟机发送的资源占用率确定源虚拟机和目标虚拟机,并向源虚拟机发送任务获取请求,在接收到源虚拟机发送的待计算任务时,根据待计算任务确定待调度的目标虚拟机,并向待调度的目标虚拟机发送待计算任务,使得待调度的目标虚拟机将执行待计算任务得到的计算结果发送至服务器,由服务器发送至源虚拟机。这样,资源不足的源虚拟机可调用资源充足的目标虚拟机的资源,避免了源虚拟机资源紧张的情况,实现了整体资源的充分利用,从而提高了整体资源的利用率。
在一个实施例中,所述根据每个虚拟机发送的资源占用率确定源虚拟机和目标虚拟机包括:
在确定所述资源占用率大于或等于第一预设值时,确定对应的虚拟机为所述源虚拟机;
在确定所述资源占用率小于或等于第二预设值时,确定对应的虚拟机为所述目标虚拟机;其中,所述第一预设值大于所述第二预设值。
在一个实施例中,所述根据所述待计算任务确定待调度的目标虚拟机包括:
确定每个所述目标虚拟机的剩余资源;
将每个所述目标虚拟机的剩余资源与所述待计算任务的资源进行比较;
将所述剩余资源大于或等于所述待计算任务的资源对应的目标虚拟机确定为所述待调度的目标虚拟机。
在一个实施例中,还包括:
在确定每个所述剩余资源均小于所述待计算任务的资源时,确定预设数量的所述目标虚拟机的剩余资源之和是否大于或等于所述待计算任务的资源;
在确定所述预设数量的所述目标虚拟机的剩余资源之和大于或等于所述待计算任务的资源时,将所述预设数量的所述目标虚拟机均确定为所述待调度的目标虚拟机。
在一个实施例中,所述向所述待调度的目标虚拟机发送所述待计算任务包括:
将所述待计算任务根据所述预设数量的目标虚拟机的剩余资源划分为所述预设数量的待计算子任务;
将每个所述待计算子任务发送至对应的所述待调度的目标虚拟机。
在一个实施例中,在所述根据所述待计算任务确定待调度的目标虚拟机之前,还包括:
确定接收到的所述待计算任务的数量;
在确定所述待计算任务的数量大于或等于两个时,从每个所述待计算任务的资源中确定每个所述待计算任务的主导资源;
确定每个所述待计算任务的主导资源与总资源的比率;所述总资源为与所述服务器连接的所有虚拟机的资源总和;
根据所述比率对每个所述待计算任务进行排序,并根据排序结果确定目标待计算任务;
所述根据所述待计算任务确定待调度的目标虚拟机包括:
根据所述目标待计算任务确定所述待调度的目标虚拟机。
在一个实施例中,所述资源占用率至少包括中央处理器CPU占用率、图形处理器GPU占用率和内存占用率中的一个。
根据本公开实施例的第二方面,提供一种资源调度方法,应用于源虚拟机,所述方法包括:
接收服务器发送的任务获取请求;
向所述服务器发送待计算任务,使得所述服务器根据所述待计算任务确定待调度的目标虚拟机,并向所述待调度的目标虚拟机发送所述待计算任务,使得所述待调度的目标虚拟机将根据空闲资源执行所述待计算任务得到的计算结果通过所述服务器发送至所述源虚拟机;
接收并执行所述计算结果。
本公开实施例提供一种资源调度方法,根据接收到的每个虚拟机发送的资源占用率确定源虚拟机和目标虚拟机,并向源虚拟机发送任务获取请求,在接收到源虚拟机发送的待计算任务时,根据待计算任务确定待调度的目标虚拟机,并向待调度的目标虚拟机发送待计算任务,使得待调度的目标虚拟机将执行待计算任务得到的计算结果发送至服务器,由服务器发送至源虚拟机。这样,资源不足的源虚拟机可调用资源充足的目标虚拟机的资源,避免了源虚拟机资源紧张的情况,实现了整体资源的充分利用,从而提高了整体资源的利用率。
根据本公开实施例的第三方面,提供一种资源调度装置,应用于服务器,所述装置包括:
第一确定模块,用于根据每个虚拟机发送的资源占用率确定源虚拟机和目标虚拟机;
第一发送模块,用于向所述源虚拟机发送任务获取请求;
第一接收模块,用于接收所述源虚拟机发送的待计算任务,并根据所述待计算任务确定待调度的目标虚拟机;所述待计算任务包括所述源虚拟机当前需要调用的资源;
第二发送模块,用于向所述待调度的目标虚拟机发送所述待计算任务,使得所述待调度的目标虚拟机将根据空闲资源执行所述待计算任务得到的计算结果发送至所述服务器;
第二接收模块,用于接收所述计算结果,并向所述源虚拟机发送所述计算结果,使得所述源虚拟机执行所述计算结果。
本公开实施例提供一种资源调度装置,根据接收到的每个虚拟机发送的资源占用率确定源虚拟机和目标虚拟机,并向源虚拟机发送任务获取请求,在接收到源虚拟机发送的待计算任务时,根据待计算任务确定待调度的目标虚拟机,并向待调度的目标虚拟机发送待计算任务,使得待调度的目标虚拟机将执行待计算任务得到的计算结果发送至服务器,由服务器发送至源虚拟机。这样,资源不足的源虚拟机可调用资源充足的目标虚拟机的资源,避免了源虚拟机资源紧张的情况,实现了整体资源的充分利用,从而提高了整体资源的利用率。
根据本公开实施例的第四方面,提供一种资源调度装置,应用于源虚拟机,所述装置包括:
第三接收模块,用于接收服务器发送的任务获取请求;
第三发送模块,用于向所述服务器发送待计算任务,使得所述服务器根据所述待计算任务确定待调度的目标虚拟机,并向所述待调度的目标虚拟机发送所述待计算任务,使得所述待调度的目标虚拟机将根据空闲资源执行所述待计算任务得到的计算结果通过所述服务器发送至所述源虚拟机;
执行模块,用于接收并执行所述计算结果。
本公开实施例提供一种资源调度装置,根据接收到的每个虚拟机发送的资源占用率确定源虚拟机和目标虚拟机,并向源虚拟机发送任务获取请求,在接收到源虚拟机发送的待计算任务时,根据待计算任务确定待调度的目标虚拟机,并向待调度的目标虚拟机发送待计算任务,使得待调度的目标虚拟机将执行待计算任务得到的计算结果发送至服务器,由服务器发送至源虚拟机。这样,资源不足的源虚拟机可调用资源充足的目标虚拟机的资源,避免了源虚拟机资源紧张的情况,实现了整体资源的充分利用,从而提高了整体资源的利用率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是本公开实施例提供的一种基于VDI的云网吧系统的架构图;
图2是本公开实施例提供的一种资源调度方法的流程图;
图3是本公开实施例提供的一种资源调度方法的流程图;
图4是本公开实施例提供的一种资源调度方法的流程图;
图5是本公开实施例提供的一种资源调度方法的交互图;
图6a是本公开实施例提供的一种资源调度装置的结构示意图;
图6b是本公开实施例提供的一种资源调度装置的结构示意图;
图6c是本公开实施例提供的一种资源调度装置的结构示意图;
图6d是本公开实施例提供的一种资源调度装置的结构示意图;
图6e是本公开实施例提供的一种资源调度装置的结构示意图;
图6f是本公开实施例提供的一种资源调度装置的结构示意图;
图7是本公开实施例提供的一种资源调度装置的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开实施例提供一种资源调度方法,应用于服务器,如图2所示,该方法包括以下步骤:
步骤201、根据接收到的每个虚拟机发送的资源占用率确定源虚拟机和目标虚拟机。
其中,所述源虚拟机为当前资源不足的虚拟机,所述目标虚拟机为当前资源充足的虚拟机,所述资源占用率至少包括CPU占用率、GPU占用率和内存占用率中的一个。
示例的,如图1所示,在每个虚拟机中配置资源统计器,在服务器中配置资源调度器,每个虚拟机在运行过程中通过资源统计器对当前虚拟机实时的资源占用率进行统计,并将统计得到的资源占用率上报给服务器,从而使得服务器接收到每个虚拟机发送的资源占用率,并通过资源调度器对每个虚拟机发送的资源占用率进行分析,具体分析内容包括:根据虚拟机的资源占用率判断该虚拟机是资源充裕、资源适中还是资源不足,如果资源充裕,则认为该虚拟机的资源在满足自身需求的情况下,还可以将空闲的部分资源分配给其他虚拟机;如果资源适中,则认为该虚拟机的资源刚好满足自身需求,无需给其他虚拟机分配资源,不做任何处理;如果资源不足,则认为该虚拟机的资源不能充分满足自身需求,需要适当为该虚拟机调配其他资源。
需要说明的是,虚拟机在向服务器上报自身的资源占用率时,可按照一定周期进行上报,例如每5秒上报一次资源占用率,具体上报周期可根据需求来调整,在此不做限定。
可选的,在确定所述资源占用率大于或等于第一预设值时,确定对应的虚拟机为所述源虚拟机。
在确定所述资源占用率小于或等于第二预设值时,确定对应的虚拟机为所述目标虚拟机;其中,所述第一预设值大于所述第二预设值。
示例的,服务器将每个资源占用率分别与第一预设值和第二预设值进行比较,在确定资源占用率大于或等于第一预设值时,则说明该资源占用率对应的虚拟机的当前资源比较紧张,从而将该资源占用率对应的虚拟机确定为源虚拟机;在确定资源占用率小于或等于第二预设值时,则说明该资源占用率对应的虚拟机的当前资源比较充裕,从而将该资源占用率对应的虚拟机确定为目标虚拟机;另外,在确定资源占用率小于第一预设值且大于第二预设值时,则说明该资源占用率对应的虚拟机的当前资源比较适中,此时对该虚拟机不做任何处理。例如,资源占用率为CPU占用率,第一预设值为80%,第二预设值为50%,若接收到的当前CPU占用率小于等于50%,则确定当前CPU资源充裕,该虚拟机即为目标虚拟机;若当前CPU占用率在50%~80%之间,则确定当前CPU资源适中;若当前CPU占用率大于等于80%,则确定当前CPU资源紧张,该虚拟机即为源虚拟机;针对其他资源,比如GPU资源或者内存资源的判断方式与CPU资源类似,在此不再赘述。
步骤202、向所述源虚拟机发送任务获取请求。
示例的,服务器在确定出源虚拟机时,向源虚拟机发送任务获取请求,使得源虚拟机在接收到任务获取请求时,将当前需要执行的待计算任务发送给服务器,该待计算任务中包括待计算任务所需的资源。
需要说明的是,服务器确定出的源虚拟机可能是一个,也可能是多个,在确定出多个源虚拟机时,需要向每个源虚拟机发送任务获取请求,使得每个源虚拟机在接收到任务获取请求时,均向服务器发送自身当前需要执行的待计算任务。
步骤203、接收所述源虚拟机发送的待计算任务。
其中,所述待计算任务包括所述源虚拟机当前需要调用的资源。
步骤204、根据所述待计算任务确定待调度的目标虚拟机。
示例的,服务器在接收到源虚拟机发送的待计算任务时,需要为待计算任务调配资源,即为需要确定待调度的目标虚拟机。
可选的,根据待计算任务确定待调度的目标虚拟机可通过以下方式实现:
确定每个所述目标虚拟机的剩余资源;将每个所述目标虚拟机的剩余资源与所述待计算任务的资源进行比较;将所述剩余资源大于或等于所述待计算任务的资源对应的目标虚拟机确定为所述待调度的目标虚拟机。
示例的,服务器在接收到源虚拟机发送的待计算任务时,确定每个目标虚拟机当前的剩余资源,将每个目标虚拟机当前的剩余资源与待计算任务的资源进行比较,确定出剩余资源大于或等于待计算任务的资源的目标虚拟机,并将剩余资源大于或等于待计算任务的资源对应的目标虚拟机确定为待调度的目标虚拟机。例如,服务器确定出的目标虚拟机分别为虚拟机1和虚拟机2,确定出的源虚拟机为虚拟机3,虚拟机3发送的待计算任务包括CPU计算任务,CPU计算任务所需的资源为30%,虚拟机1当前的CPU资源占用率为45%,虚拟机2当前的CPU资源占用率为60%,第一预设值(资源占用的最高限值)为80%,则可以确定出虚拟机1当前的CPU剩余资源为35%,虚拟机2当前的CPU剩余资源为20%,再将30%分别与35%和20%进行比较,可以确定出虚拟机1当前的CPU剩余资源可以满足待计算任务,从而将虚拟机1确定为待调度的目标虚拟机。
需要说明的是,确定目标虚拟机的剩余资源是指计算目标虚拟机每类资源的剩余资源,即计算目标虚拟机的CPU剩余资源、计算目标虚拟机的GPU剩余资源、计算目标虚拟机的内存剩余资源等;对应的,将目标虚拟机的剩余资源与待计算任务的资源进行比较是指将目标虚拟机的CPU剩余资源与待计算任务的CPU资源进行比较,或者,将目标虚拟机的GPU剩余资源与待计算任务的GPU资源进行比较,或者,将目标虚拟机的内存剩余资源与待计算任务的内存资源进行比较。也就是说,将目标虚拟机的每类剩余资源与待计算任务对应类型的资源进行比较。
进一步的,在确定每个所述剩余资源均小于所述待计算任务的资源时,确定预设数量的所述目标虚拟机的剩余资源之和是否大于或等于所述待计算任务的资源;在确定所述预设数量的所述目标虚拟机的剩余资源之和大于或等于所述待计算任务的资源时,将所述预设数量的所述目标虚拟机均确定为所述待调度的目标虚拟机。
示例的,在确定每个剩余资源均小于待计算任务的资源时,说明单独的目标虚拟机的剩余资源均无法实现对待计算任务的计算,此时需要将预设数量的目标虚拟机的剩余资源相加,将相加之和与待计算任务的资源进行比较,在确定相加之和大于或等于待计算任务的资源时,则将相加的这几个剩余资源对应的目标虚拟机均确定为待调度的目标虚拟机。例如,目标虚拟机分别为虚拟机1和虚拟机2,确定出的源虚拟机为虚拟机3,虚拟机1当前的CPU资源占用率为55%,虚拟机2当前的CPU资源占用率为70%,虚拟机3发送的待计算任务所需的CPU资源为30%,第一预设值为80%,则可以确定出虚拟机1当前的CPU剩余资源为25%,虚拟机2当前的CPU剩余资源为10%,则将虚拟机1和虚拟机2的CPU剩余资源相加,得到CPU剩余资源的总和为35%,再将35%与30%进行比较,可以确定虚拟机1和虚拟机2均为待调度的目标虚拟机。
步骤205、向所述待调度的目标虚拟机发送所述待计算任务,使得所述待调度的目标虚拟机将根据空闲资源执行所述待计算任务得到的计算结果发送至所述服务器。
示例的,服务器在确定出待调度的目标虚拟机时,将从源虚拟机接收到的待计算任务发送至待调度的目标虚拟机,使得待调度的目标虚拟机在接收到待计算任务时,根据自身当前的剩余资源也就是空闲资源执行待计算任务,得到计算结果,并将得到的计算结果发送给服务器。
进一步的,在确定每个剩余资源均小于待计算任务的资源,且确定预设数量的目标虚拟机的剩余资源之和大于或等于待计算任务的资源时,将所述待计算任务根据所述预设数量的目标虚拟机的剩余资源划分为所述预设数量的待计算子任务;将每个所述待计算子任务发送至对应的所述待调度的目标虚拟机。
示例的,服务器在确定每个剩余资源均小于待计算任务的资源,且确定预设数量的目标虚拟机的剩余资源之和大于或等于待计算任务的资源时,说明预设数量的目标虚拟机共同可以实现对待计算任务的计算,所以此时需要根据预设数量的目标虚拟机的剩余资源对待计算任务进行划分,得到预设数量的待计算子任务,并将每个待计算子任务发送至对应的待调度的目标虚拟机,使得每个待调度的目标虚拟机根据自身剩余资源执行对应的待计算子任务。接着步骤104中的举例,则需要将待计算任务划分为第一待计算子任务和第二待计算子任务,例如,第一待计算子任务所需的CPU资源为20%,第二待计算子任务所需的CPU资源为10%,则可以将第一待计算子任务发送至虚拟机1,将第二待计算子任务发送至虚拟机2,由虚拟机1和虚拟机2共同实现对待计算任务的计算。
步骤206、接收所述计算结果,并向所述源虚拟机发送所述计算结果,使得所述源虚拟机执行所述计算结果。
示例的,服务器在接收到待调度的目标虚拟机发送的计算结果时,将该计算结果发送给源虚拟机,使得源虚拟机在接收到该计算结果时,执行该计算结果。例如,待计算任务为显示任务,源虚拟机为虚拟机A,目标虚拟机为虚拟机B,则若虚拟机A的本地显卡资源不够用时,可通过服务器通过调配找到虚拟机B显卡的30%的资源,虚拟机B显卡的30%的资源可对虚拟机A的显示任务进行计算,得到D3D(3D加速卡)核的显示结果,再将该显示结果通过服务器调度返回给虚拟机A,虚拟机A接收到该显示结果后,最终在本地显示器上将显示结果进行显示。也就是说,虚拟机A借用了虚拟机B的剩余显卡资源。这样,一方面可以缓解虚拟机A资源紧张的情况,提高了用户体验;另一方面还将虚拟机B的剩余资源得到充分利用,也就是说,本公开的最终目的就是将各个虚拟机或者绝大多数虚拟机的资源占用率进行均衡,使得每个虚拟机的资源占用率均在一定数值范围(例如60%~80%)内,以保证每个虚拟机均能够正常稳定的运行。
本公开实施例提供一种资源调度方法,根据接收到的每个虚拟机发送的资源占用率确定源虚拟机和目标虚拟机,并向源虚拟机发送任务获取请求,在接收到源虚拟机发送的待计算任务时,根据待计算任务确定待调度的目标虚拟机,并向待调度的目标虚拟机发送待计算任务,使得待调度的目标虚拟机将执行待计算任务得到的计算结果发送至服务器,由服务器发送至源虚拟机。这样,资源不足的源虚拟机可调用资源充足的目标虚拟机的资源,避免了源虚拟机资源紧张的情况,实现了整体资源的充分利用,从而提高了整体资源的利用率。
进一步的,如图3所示,在执行步骤204之前,还包括以下步骤207至步骤210:
步骤207、确定接收到的所述待计算任务的数量。
示例的,由于服务器可能会接收到多个源虚拟机发送的待计算任务,所以服务器在接收到待计算任务时,需要对待计算任务的数量进行统计,以确定接收到的待计算任务的数量。
步骤208、在确定所述待计算任务的数量大于或等于两个时,从每个所述待计算任务的资源中确定每个所述待计算任务的主导资源。
示例的,服务器在确定接收到的待计算任务的数量大于或等于两个时,在对待计算任务进行调配时,可以采用DFR(Dominant Resource Fairness,资源分配算法)算法,DFR算法是基于“最大—最小”算法设计而成,支持异构环境下多种类型资源的调度。其基本原理是以公平的方式提供资源,保证每个计算框架可以接收到该框架需要的资源,主要将资源划分为以下三类,包括CPU资源、GPU资源和内存资源,不同的待计算任务对不同类型的资源有需求,服务器在获取到每个待计算任务对应的资源时,针对每个源虚拟机,需要从待计算任务的资源中确定出主导资源,例如,待计算任务包括两个,分别为待计算任务1和待计算任务2,假设待计算任务1包括的资源为4个线程的CPU和1GB的内存,待计算任务2包括的资源为1个线程的CPU和4GB的内存,可知对于待计算任务1来说,线程资源较为重要,所以确定待计算任务1的主导资源为CPU占用率;对于待计算任务2来说,内存较为重要,所以确定待计算任务2的主导资源为内存占用率。
步骤209、确定每个所述待计算任务的主导资源与总资源的比率。
其中,所述总资源为与所述服务器连接的所有虚拟机的资源总和。
示例的,服务器在确定每个待计算任务的主导资源时,获取所有与服务器连接的虚拟机的资源总和,得到总资源,并将每个待计算任务的主导资源除以总资源,得到每个待计算任务的比率。
需要说明的是,总资源是指与服务器连接的所有虚拟机的每类资源的总和,例如,在资源为CPU资源时,则总资源为与服务器连接的所有虚拟机的CPU资源的总和;在资源为GPU资源时,则总资源为与服务器连接的所有虚拟机的GPU资源的总和;在资源为内存资源时,则总资源为与服务器连接的所有虚拟机的内存资源的总和。
步骤210、根据所述比率对每个所述待计算任务进行排序,并根据排序结果确定目标待计算任务。
示例的,在确定每个待计算任务的比率时,按照比率大小对每个待计算任务进行排序,将最小比率对应的待计算任务排在最前面,将最大比率对应的待计算任务排在最后面,优先为最小比率对应的待计算任务分配资源,所以确定最小比率对应的待计算任务为目标待计算任务。例如,服务器连接三个虚拟机,三个虚拟机的总资源有10个线程的CPU和20GB的内存,假设上述的待计算任务1和待计算任务2均需要运行,那么待计算任务1的比率为4/10=0.25,待计算任务2的比率为4/20=0.2,那么在进行资源分配时,优选给待计算任务2分配资源,即优先将资源分配给比率最低的待计算任务。
需要说明的是,在待计算任务的数量大于或等于两个时,根据待计算任务确定待调度的目标虚拟机即为根据目标待计算任务确定待调度的目标虚拟机。
本公开实施例提供一种资源调度方法,根据接收到的每个虚拟机发送的资源占用率确定源虚拟机和目标虚拟机,并向源虚拟机发送任务获取请求,在接收到源虚拟机发送的待计算任务时,根据待计算任务确定待调度的目标虚拟机,并向待调度的目标虚拟机发送待计算任务,使得待调度的目标虚拟机将执行待计算任务得到的计算结果发送至服务器,由服务器发送至源虚拟机。这样,资源不足的源虚拟机可调用资源充足的目标虚拟机的资源,避免了源虚拟机资源紧张的情况,实现了整体资源的充分利用,从而提高了整体资源的利用率;另外,本公开还可以在接收到多个待计算任务时,对多个待计算任务进行排序,并根据排序结果来确定优先计算的目标待计算任务,以保证资源的合理分配。
本公开实施例提供一种资源调度方法,应用于源虚拟机,如图4所示,该方法包括以下步骤:
步骤401、接收服务器发送的任务获取请求。
步骤402、向所述服务器发送待计算任务,使得所述服务器根据所述待计算任务确定待调度的目标虚拟机,并向所述待调度的目标虚拟机发送所述待计算任务,使得所述待调度的目标虚拟机将根据空闲资源执行所述待计算任务得到的计算结果通过所述服务器发送至所述源虚拟机。
示例的,源虚拟机在接收到服务器发送的任务获取请求时,将当前需要计算的待计算任务发送至服务器,使得服务器根据待计算任务所需的资源确定待调度的目标虚拟机,并向待调度的目标虚拟机发送待计算任务,使得待调度的目标虚拟机在接收到待计算任务时,根据自身当前的剩余资源也就是空闲资源执行待计算任务,得到计算结果,并将得到的计算结果发送给服务器,服务器在将接收到的计算结果发送给源虚拟机。
步骤403、接收并执行所述计算结果。
示例的,源虚拟机在接收到服务器发送的与待计算任务对应的计算结果时,执行该计算结果。例如,待计算任务为显示任务,则计算结果即为显示结果,源虚拟机在接收到显示结果时,显示该显示结果,调用了待调度的目标虚拟机的剩余显卡资源,从而避免了源虚拟机资源紧张的问题。
本公开实施例提供一种资源调度方法,根据接收到的每个虚拟机发送的资源占用率确定源虚拟机和目标虚拟机,并向源虚拟机发送任务获取请求,在接收到源虚拟机发送的待计算任务时,根据待计算任务确定待调度的目标虚拟机,并向待调度的目标虚拟机发送待计算任务,使得待调度的目标虚拟机将执行待计算任务得到的计算结果发送至服务器,由服务器发送至源虚拟机。这样,资源不足的源虚拟机可调用资源充足的目标虚拟机的资源,避免了源虚拟机资源紧张的情况,实现了整体资源的充分利用,从而提高了整体资源的利用率。
本公开实施例提供一种资源调度方法,应用于源虚拟机、目标虚拟机和服务器,如图5所示,该方法包括以下步骤:
步骤501、服务器根据接收到的每个虚拟机发送的资源占用率确定源虚拟机和目标虚拟机。
其中,所述源虚拟机为当前资源不足的虚拟机,所述目标虚拟机为当前资源充足的虚拟机,所述资源占用率至少包括中央处理器CPU占用率、图形处理器GPU占用率和内存占用率中的一个。
可选的,在确定所述资源占用率大于或等于第一预设值时,确定对应的虚拟机为所述源虚拟机;在确定所述资源占用率小于或等于第二预设值时,确定对应的虚拟机为所述目标虚拟机;其中,所述第一预设值大于所述第二预设值。
步骤502、服务器向所述源虚拟机发送任务获取请求。
步骤503、源虚拟机向所述服务器发送待计算任务。
其中,所述待计算任务包括所述源虚拟机当前需要调用的资源。
进一步的,确定接收到的所述待计算任务的数量;在确定所述待计算任务的数量大于或等于两个时,从每个所述待计算任务的资源中确定每个所述待计算任务的主导资源;确定每个所述待计算任务的主导资源与总资源的比率;所述总资源为与所述服务器连接的所有虚拟机的资源总和;根据所述比率对每个所述待计算任务进行排序,并根据排序结果确定目标待计算任务。
步骤504、服务器根据所述待计算任务确定待调度的目标虚拟机。
可选的,确定每个所述目标虚拟机的剩余资源;将每个所述目标虚拟机的剩余资源与所述待计算任务的资源进行比较;将所述剩余资源大于或等于所述待计算任务的资源对应的目标虚拟机确定为所述待调度的目标虚拟机。
进一步的,在确定每个所述剩余资源均小于所述待计算任务的资源时,确定预设数量的所述目标虚拟机的剩余资源之和是否大于或等于所述待计算任务的资源;在确定所述预设数量的所述目标虚拟机的剩余资源之和大于或等于所述待计算任务的资源时,将所述预设数量的所述目标虚拟机均确定为所述待调度的目标虚拟机。
步骤505、服务器向所述待调度的目标虚拟机发送所述待计算任务。
可选的,将所述待计算任务根据所述预设数量的目标虚拟机的剩余资源划分为所述预设数量的待计算子任务;将每个所述待计算子任务发送至对应的所述待调度的目标虚拟机。
步骤506、待调度的目标虚拟机根据空闲资源执行所述待计算任务,得到计算结果,并将计算结果发送至所述服务器。
步骤507、服务器向所述源虚拟机发送所述计算结果。
步骤508、源虚拟机执行所述计算结果。
本公开实施例提供一种资源调度方法,根据接收到的每个虚拟机发送的资源占用率确定源虚拟机和目标虚拟机,并向源虚拟机发送任务获取请求,在接收到源虚拟机发送的待计算任务时,根据待计算任务确定待调度的目标虚拟机,并向待调度的目标虚拟机发送待计算任务,使得待调度的目标虚拟机将执行待计算任务得到的计算结果发送至服务器,由服务器发送至源虚拟机。这样,资源不足的源虚拟机可调用资源充足的目标虚拟机的资源,避免了源虚拟机资源紧张的情况,实现了整体资源的充分利用,从而提高了整体资源的利用率。
基于上述实施例中所描述的资源调度方法,下述为本公开装置实施例,可以用于执行本公开方法实施例。
本公开实施例提供一种资源调度装置,如图6a所示,该资源调度装置60包括:第一确定模块601、第一发送模块602、第一接收模块603、第二发送模块604和第二接收模块605。
其中,第一确定模块601,用于根据每个虚拟机发送的资源占用率确定源虚拟机和目标虚拟机。
第一发送模块602,用于向所述源虚拟机发送任务获取请求。
第一接收模块603,用于接收所述源虚拟机发送的待计算任务,并根据所述待计算任务确定待调度的目标虚拟机。
其中,所述待计算任务包括所述源虚拟机当前需要调用的资源。
第二发送模块604,用于向所述待调度的目标虚拟机发送所述待计算任务,使得所述待调度的目标虚拟机将根据空闲资源执行所述待计算任务得到的计算结果发送至所述服务器。
第二接收模块605,用于接收所述计算结果,并向所述源虚拟机发送所述计算结果,使得所述源虚拟机执行所述计算结果。
在一个实施例中,如图6b所示,所述第一确定模块601包括第一确定子模块6011和第二确定子模块6012。
其中,第一确定子模块6011,用于在确定所述资源占用率大于或等于第一预设值时,确定对应的虚拟机为所述源虚拟机。
第二确定子模块6012,用于在确定所述资源占用率小于或等于第二预设值时,确定对应的虚拟机为所述目标虚拟机;其中,所述第一预设值大于所述第二预设值。
在一个实施例中,如图6c所示,所述第一接收模块603包括第三确定子模块6031、比较子模块6032和第四确定子模块6033。
其中,第三确定子模块6031,用于确定每个所述目标虚拟机的剩余资源。
比较子模块6032,用于将每个所述目标虚拟机的剩余资源与所述待计算任务的资源进行比较。
第四确定子模块6033,用于将所述剩余资源大于或等于所述待计算任务的资源对应的目标虚拟机确定为所述待调度的目标虚拟机。
在一个实施例中,如图6d所示,所述第一接收模块603还包括第五确定子模块6034和第六确定子模块6035。
其中,第五确定子模块6034,用于在确定每个所述剩余资源均小于所述待计算任务的资源时,确定预设数量的所述目标虚拟机的剩余资源之和是否大于或等于所述待计算任务的资源。
第六确定子模块6035,用于在确定所述预设数量的所述目标虚拟机的剩余资源之和大于或等于所述待计算任务的资源时,将所述预设数量的所述目标虚拟机均确定为所述待调度的目标虚拟机。
在一个实施例中,如图6e所示,第二发送模块604包括划分子模块6041和发送子模块6042。
其中,划分子模块6041,用于将所述待计算任务根据所述预设数量的目标虚拟机的剩余资源划分为所述预设数量的待计算子任务。
发送子模块6042,用于将每个所述待计算子任务发送至对应的所述待调度的目标虚拟机。
在一个实施例中,如图6f所示,所述资源调度装置60还包括第二确定模块606、获取模块607、第三确定模块608和第四确定模块609,所述第一接收模块603包括第七确定子模块6034。
其中,第二确定模块606,用于确定接收到的所述待计算任务的数量。
获取模块607,用于在确定所述待计算任务的数量大于或等于两个时,从每个所述待计算任务的资源中确定每个所述待计算任务的主导资源。
第三确定模块608,用于确定每个所述待计算任务的主导资源与总资源的比率。
其中,所述总资源为与所述服务器连接的所有虚拟机的资源总和。
第四确定模块609,用于根据所述比率对每个所述待计算任务进行排序,并根据排序结果确定目标待计算任务。
第七确定子模块6034,用于根据所述目标待计算任务确定所述待调度的目标虚拟机。
在一个实施例中,所述资源占用率至少包括中央处理器CPU占用率、图形处理器GPU占用率和内存占用率中的一个。
本公开实施例提供一种资源调度装置,根据接收到的每个虚拟机发送的资源占用率确定源虚拟机和目标虚拟机,并向源虚拟机发送任务获取请求,在接收到源虚拟机发送的待计算任务时,根据待计算任务确定待调度的目标虚拟机,并向待调度的目标虚拟机发送待计算任务,使得待调度的目标虚拟机将执行待计算任务得到的计算结果发送至服务器,由服务器发送至源虚拟机。这样,资源不足的源虚拟机可调用资源充足的目标虚拟机的资源,避免了源虚拟机资源紧张的情况,实现了整体资源的充分利用,从而提高了整体资源的利用率。
本公开实施例提供一种资源调度装置,如图7所示,该资源调度装置70包括:第三接收模块701、第三发送模块702和执行模块703。
其中,第三接收模块,用于接收服务器发送的任务获取请求。
第三发送模块,用于向所述服务器发送待计算任务,使得所述服务器根据所述待计算任务确定待调度的目标虚拟机,并向所述待调度的目标虚拟机发送所述待计算任务,使得所述待调度的目标虚拟机将根据空闲资源执行所述待计算任务得到的计算结果通过所述服务器发送至所述源虚拟机。
执行模块,用于接收并执行所述计算结果。
本公开实施例提供一种资源调度装置,根据接收到的每个虚拟机发送的资源占用率确定源虚拟机和目标虚拟机,并向源虚拟机发送任务获取请求,在接收到源虚拟机发送的待计算任务时,根据待计算任务确定待调度的目标虚拟机,并向待调度的目标虚拟机发送待计算任务,使得待调度的目标虚拟机将执行待计算任务得到的计算结果发送至服务器,由服务器发送至源虚拟机。这样,资源不足的源虚拟机可调用资源充足的目标虚拟机的资源,避免了源虚拟机资源紧张的情况,实现了整体资源的充分利用,从而提高了整体资源的利用率。
基于上述图1对应的实施例中所描述的资源调度方法,本公开实施例还提供一种计算机可读存储介质,例如,非临时性计算机可读存储介质可以是只读存储器(英文:ReadOnly Memory,ROM)、随机存取存储器(英文:Random Access Memory,RAM)、CD-ROM、磁带、软盘和光数据存储装置等。该存储介质上存储有计算机指令,用于执行上述图1对应的实施例中所描述的资源调度方法,此处不再赘述。
基于上述图4对应的实施例中所描述的资源调度方法,本公开实施例还提供一种计算机可读存储介质,例如,非临时性计算机可读存储介质可以是只读存储器、随机存取存储器、CD-ROM、磁带、软盘和光数据存储装置等。该存储介质上存储有计算机指令,用于执行上述图4对应的实施例中所描述的资源调度方法,此处不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

Claims (10)

1.一种资源调度方法,其特征在于,应用于服务器,所述方法包括:
根据接收到的每个虚拟机发送的资源占用率确定源虚拟机和目标虚拟机;
向所述源虚拟机发送任务获取请求;
接收所述源虚拟机发送的待计算任务,并根据所述待计算任务确定待调度的目标虚拟机;所述待计算任务包括所述源虚拟机当前需要调用的资源;
向所述待调度的目标虚拟机发送所述待计算任务,使得所述待调度的目标虚拟机将根据空闲资源执行所述待计算任务得到的计算结果发送至所述服务器;
接收所述计算结果,并向所述源虚拟机发送所述计算结果,使得所述源虚拟机执行所述计算结果。
2.根据权利要求1所述的方法,其特征在于,所述根据每个虚拟机发送的资源占用率确定源虚拟机和目标虚拟机包括:
在确定所述资源占用率大于或等于第一预设值时,确定对应的虚拟机为所述源虚拟机;
在确定所述资源占用率小于或等于第二预设值时,确定对应的虚拟机为所述目标虚拟机;其中,所述第一预设值大于所述第二预设值。
3.根据权利要求1所述的方法,其特征在于,所述根据所述待计算任务确定待调度的目标虚拟机包括:
确定每个所述目标虚拟机的剩余资源;
将每个所述目标虚拟机的剩余资源与所述待计算任务的资源进行比较;
将所述剩余资源大于或等于所述待计算任务的资源对应的目标虚拟机确定为所述待调度的目标虚拟机。
4.根据权利要求3所述的方法,其特征在于,还包括:
在确定每个所述剩余资源均小于所述待计算任务的资源时,确定预设数量的所述目标虚拟机的剩余资源之和是否大于或等于所述待计算任务的资源;
在确定所述预设数量的所述目标虚拟机的剩余资源之和大于或等于所述待计算任务的资源时,将所述预设数量的所述目标虚拟机均确定为所述待调度的目标虚拟机。
5.根据权利要求4所述的方法,其特征在于,所述向所述待调度的目标虚拟机发送所述待计算任务包括:
将所述待计算任务根据所述预设数量的目标虚拟机的剩余资源划分为所述预设数量的待计算子任务;
将每个所述待计算子任务发送至对应的所述待调度的目标虚拟机。
6.根据权利要求1所述的方法,其特征在于,在所述根据所述待计算任务确定待调度的目标虚拟机之前,还包括:
确定接收到的所述待计算任务的数量;
在确定所述待计算任务的数量大于或等于两个时,从每个所述待计算任务的资源中确定每个所述待计算任务的主导资源;
确定每个所述待计算任务的主导资源与总资源的比率;所述总资源为与所述服务器连接的所有虚拟机的资源总和;
根据所述比率对每个所述待计算任务进行排序,并根据排序结果确定目标待计算任务;
所述根据所述待计算任务确定待调度的目标虚拟机包括:
根据所述目标待计算任务确定所述待调度的目标虚拟机。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述资源占用率至少包括中央处理器CPU占用率、图形处理器GPU占用率和内存占用率中的一个。
8.一种资源调度方法,其特征在于,应用于源虚拟机,所述方法包括:
接收服务器发送的任务获取请求;
向所述服务器发送待计算任务,使得所述服务器根据所述待计算任务确定待调度的目标虚拟机,并向所述待调度的目标虚拟机发送所述待计算任务,使得所述待调度的目标虚拟机将根据空闲资源执行所述待计算任务得到的计算结果通过所述服务器发送至所述源虚拟机;
接收并执行所述计算结果。
9.一种资源调度装置,其特征在于,应用于服务器,所述装置包括:
第一确定模块,用于根据每个虚拟机发送的资源占用率确定源虚拟机和目标虚拟机;
第一发送模块,用于向所述源虚拟机发送任务获取请求;
第一接收模块,用于接收所述源虚拟机发送的待计算任务,并根据所述待计算任务确定待调度的目标虚拟机;所述待计算任务包括所述源虚拟机当前需要调用的资源;
第二发送模块,用于向所述待调度的目标虚拟机发送所述待计算任务,使得所述待调度的目标虚拟机将根据空闲资源执行所述待计算任务得到的计算结果发送至所述服务器;
第二接收模块,用于接收所述计算结果,并向所述源虚拟机发送所述计算结果,使得所述源虚拟机执行所述计算结果。
10.一种资源调度装置,其特征在于,应用于源虚拟机,所述装置包括:
第三接收模块,用于接收服务器发送的任务获取请求;
第三发送模块,用于向所述服务器发送待计算任务,使得所述服务器根据所述待计算任务确定待调度的目标虚拟机,并向所述待调度的目标虚拟机发送所述待计算任务,使得所述待调度的目标虚拟机将根据空闲资源执行所述待计算任务得到的计算结果通过所述服务器发送至所述源虚拟机;
执行模块,用于接收并执行所述计算结果。
CN202010752743.XA 2020-07-30 2020-07-30 资源调度方法及装置 Pending CN111949398A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010752743.XA CN111949398A (zh) 2020-07-30 2020-07-30 资源调度方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010752743.XA CN111949398A (zh) 2020-07-30 2020-07-30 资源调度方法及装置

Publications (1)

Publication Number Publication Date
CN111949398A true CN111949398A (zh) 2020-11-17

Family

ID=73339801

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010752743.XA Pending CN111949398A (zh) 2020-07-30 2020-07-30 资源调度方法及装置

Country Status (1)

Country Link
CN (1) CN111949398A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113157415A (zh) * 2021-04-21 2021-07-23 中国电影科学技术研究所 农场渲染方法、装置、电子设备和存储介质
CN116680086A (zh) * 2023-07-25 2023-09-01 联通沃音乐文化有限公司 一种基于离线渲染引擎的调度管理系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113157415A (zh) * 2021-04-21 2021-07-23 中国电影科学技术研究所 农场渲染方法、装置、电子设备和存储介质
CN113157415B (zh) * 2021-04-21 2023-10-13 中国电影科学技术研究所 农场渲染方法、装置、电子设备和存储介质
CN116680086A (zh) * 2023-07-25 2023-09-01 联通沃音乐文化有限公司 一种基于离线渲染引擎的调度管理系统
CN116680086B (zh) * 2023-07-25 2024-04-02 联通沃音乐文化有限公司 一种基于离线渲染引擎的调度管理系统

Similar Documents

Publication Publication Date Title
US7117499B2 (en) Virtual computer systems and computer virtualization programs
US20170255496A1 (en) Method for scheduling data flow task and apparatus
US11838384B2 (en) Intelligent scheduling apparatus and method
CN105159782A (zh) 基于云主机为订单分配资源的方法和装置
US10884800B2 (en) Server resource balancing using a suspend-resume strategy
CN111949398A (zh) 资源调度方法及装置
CN112181613B (zh) 异构资源分布式计算平台批量任务调度方法及存储介质
US20200348977A1 (en) Resource scheduling methods, device and system, and central server
CN111506434B (zh) 一种任务处理方法、装置及计算机可读存储介质
EP3702917B1 (en) Intelligent server task balancing based on server capacity
US10733022B2 (en) Method of managing dedicated processing resources, server system and computer program product
CN106878389B (zh) 用于在云系统中进行资源调度的方法和装置
CN109522090A (zh) 资源调度方法及装置
US20200272522A1 (en) Server resource balancing using a dynamic-sharing strategy
CN111475256A (zh) 资源分配方法、装置及系统
CN108847981A (zh) 分布式计算机云计算处理方法
CN113626173B (zh) 调度方法、装置及存储介质
CN109783236B (zh) 用于输出信息的方法和装置
CN115640113A (zh) 多平面弹性调度方法
CN109842665B (zh) 用于任务分配服务器的任务处理方法和装置
CN111949399A (zh) 资源调度方法及装置
US20140047454A1 (en) Load balancing in an sap system
CN115098272A (zh) Gpu资源调度方法、调度器、电子设备和存储介质
CN112799820B (zh) 数据处理方法、装置、电子设备、存储介质及程序产品
CN111459651B (zh) 一种负载均衡方法、装置、存储介质及调度系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination