掌桥专利:专业的专利平台
掌桥专利
首页

虚拟云计算资源的调度方法及装置

文献发布时间:2024-04-18 19:57:31


虚拟云计算资源的调度方法及装置

技术领域

本说明书一个或多个实施例涉及资源调度领域,尤其涉及一种虚拟云计算资源的调度方法及装置。

背景技术

容器技术的兴起导致了容器自动化编排软件Kubernetes(K8s)的诞生,K8s能够为服务创建容器并绑定符合要求的物理计算资源,还可以根据需求对容器进行扩容或缩容。在相关技术中,K8s只支持对指定资源类型的物理计算资源进行调度,基于获取到的与服务对应的资源类型,进行资源调度,而对于不同资源类型的计算资源,也即异构计算资源,的适配性不足无法进行统一调度。

发明内容

有鉴于此,本说明书一个或多个实施例提供一种虚拟云计算资源的调度方法及装置,以解决相关技术中存在的问题。

为实现上述目的,本说明书一个或多个实施例提供技术方案如下:

根据本说明书一个或多个实施例的第一方面,提出了一种虚拟云计算资源的调度方法,应用于对虚拟云计算资源进行资源调度的资源调度系统,所述虚拟云计算资源的资源类型包括基于算力进行描述的虚拟云计算资源,所述方法包括:

获取目标服务对应的算力需求;

创建基于所述算力需求来描述的目标虚拟云计算资源;

从所述资源调度系统管理的多种类型的物理计算资源中为所述目标虚拟云计算资源确定目标物理计算资源,将所述目标物理计算资源与所述目标虚拟云计算资源进行绑定,并在绑定完成后将所述目标虚拟云计算资源分配给所述目标服务。

可选的,所述获取目标服务对应的算力需求,包括:

获取目标服务的资源请求信息;

通过预设的算力预估算法,基于所述资源请求信息预估得到所述目标服务的算力需求。

可选的,所述资源请求信息包括资源限制条件;

所述从所述资源调度系统管理的多种类型的物理计算资源中为所述目标虚拟云计算资源确定目标物理计算资源;包括:

从所述资源调度系统管理的多种类型的物理计算资源中为所述目标虚拟云计算资源确定满足所述资源限制条件的目标物理计算资源。

可选的,所述资源限制条件包括以下多项中的任意一项或多项的组合:

与所述物理计算资源的资源类型对应的资源限制条件;

与所述物理计算资源的资源量对应的资源限制条件;

与所述物理计算资源的资源带宽对应的资源限制条件;

与所述物理计算资源之间的拓扑关系对应的资源限制条件。

可选的,所述从所述资源调度系统管理的多种类型的物理计算资源中为所述目标虚拟云计算资源确定满足所述资源限制条件的目标物理计算资源,包括:

通过预设的资源调度规划算法,以所述资源限制条件为约束条件,从所述资源调度系统管理的多种类型的物理计算资源中为所述目标虚拟云计算资源确定目标物理计算资源。

可选的,所述资源调度规划算法的优化目标包括以下多项中的一项或多项的任意组合:

所述目标物理计算资源中包含的物理计算资源的数量最少;

所述目标物理计算资源所在的节点数量最少;

选取的目标物理计算资源所使用的带宽最少。

可选的,所述资源调度系统为基于Kubernetes的资源调度系统;所述物理计算资源为处理器资源;所述虚拟云计算资源为虚拟容器资源;所述算力需求为所述目标服务请求创建的至少一个容器对应的算力需求。

根据本说明书一个或多个实施例的第二方面,提出了一种虚拟云计算资源的调度装置,包括:

请求获取模块,用于获取目标服务对应的算力需求;

资源创建模块,用于创建基于所述算力需求来描述的目标虚拟云计算资源;

资源分配模块,用于从所述资源调度系统管理的多种类型的物理计算资源中为所述目标虚拟云计算资源确定目标物理计算资源,将所述目标物理计算资源与所述目标虚拟云计算资源进行绑定,并在绑定完成后将所述目标虚拟云计算资源分配给所述目标服务。

根据本说明书一个或多个实施例的第三方面,提出了一种电子设备,包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器通过运行所述可执行指令以实现如第一方面所述的方法。

根据本说明书一个或多个实施例的第四方面,提出了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如第一方面所述方法的步骤。

在以上技术方案中,通过统一算力对目标服务的需求算力和异构物理计算资源进行度量和描述,创建基于算力进行描述的虚拟云计算资源,基于算力将虚拟云计算资源与对应的物理计算资源进行绑定,以虚拟云计算资源作为可分配的资源单元进行调度,从而可以屏蔽不同资源类型的异构物理计算资源的差异性,使异构物理计算资源可以基于统一算力进行切分和聚合;在从多种资源类型的物理计算资源中确定出满足算力需求的目标物理计算资源并与虚拟云计算资源进行绑定时,可以根据需要将碎片化的物理计算资源与虚拟云计算资源进行绑定,从而可以实现对物理计算资源的资源整合,提高对碎片化资源的利用率,使整体的资源使用效率更高。

附图说明

图1是一示例性实施例提供的一种虚拟云计算资源的调度系统的架构示意图;

图2是一示例性实施例提供的一种虚拟云计算资源的调度方法的流程示意图;

图3是一示例性实施例提供的一种虚拟云计算资源的绑定过程的示意图;

图4是一示例性实施例提供的另一种虚拟云计算资源的调度方法的流程示意图;

图5是一示例性实施例提供的另一种虚拟云计算资源的调度方法的流程示意图;

图6是一示例性实施例提供的一种虚拟云计算资源的调度装置的结构示意图;

图7是一示例性实施例提供的一种电子设备的结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。

需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。

容器技术的兴起导致了容器自动化编排软件K8S的诞生,K8S能够为服务创建容器并绑定符合要求的物理计算资源,还可以根据需求对容器进行扩容或缩容。但K8S仍存在不少缺陷:1.K8S为容器绑定的物理计算资源不一定被完全使用,容易导致资源浪费;2.K8S只支持对指定资源类型的物理计算资源进行调度,基于获取到的与服务对应的资源类型,进行资源调度,而对于不同资源类型的物理计算资源,也即异构物理计算资源的适配性不足无法进行统一调度。

有鉴于此,本说明书提出了一种虚拟云计算资源的调度方法。通过引入异构的物理计算资源池化技术,用统一的算力对异构的物理计算资源进行度量和描述,资源调度系统支持基于其所能提供的算力进行描述的自定义的虚拟云计算资源;基于目标服务对应的算力需求创建基于所述算力需求来描述的目标虚拟云计算资源,再从管理的多种类型的物理计算资源中为所述目标虚拟云计算资源确定目标物理计算资源,并进行绑定,以将绑定后的虚拟云计算资源分配给目标服务。

在实现时,获取目标服务对应的算力需求;基于算力需求创建基于所述算力需求来描述的目标虚拟云计算资源;从所述资源调度系统管理的多种类型的物理计算资源中为所述目标虚拟云计算资源确定目标物理计算资源,将所述目标物理计算资源与所述目标虚拟云计算资源进行绑定,并在绑定完成后将所述目标虚拟云计算资源分配给所述目标服务。

在以上技术方案中,通过统一算力对目标服务的需求算力和异构物理计算资源进行度量和描述,创建基于算力进行描述的虚拟云计算资源,基于算力将虚拟云计算资源与对应的物理计算资源进行绑定,以虚拟云计算资源作为可分配的资源单元进行调度,从而可以屏蔽不同资源类型的异构物理计算资源的差异性,使异构物理计算资源可以基于统一算力进行切分和聚合;在从多种资源类型的物理计算资源中确定出满足算力需求的目标物理计算资源并与虚拟云计算资源进行绑定时,可以根据需要将碎片化的物理计算资源与虚拟云计算资源进行绑定,从而可以实现对物理计算资源的资源整合,提高对碎片化资源的利用率,使整体的资源使用效率更高。

请参见图1,图1是一示例性实施例提供的一种虚拟云计算资源的调度系统的架构示意图。如图1所示,该系统可以包括网络10、服务端11、若干电子设备,如终端设备12、终端设备13和终端设备14等。

服务端11可以为包含一独立主机的物理服务器,或者该服务端11可以为主机集群承载的虚拟服务器、云服务器等。终端设备12-14只是用户可以使用的一种类型的电子设备。实际上,用户显然还可以使用诸如下述类型的电子设备:手机、平板设备、笔记本电脑、掌上电脑(PDAs,Personal Digital Assistants)、可穿戴设备(如智能眼镜、智能手表等)等,本说明书一个或多个实施例并不对此进行限制。网络10可以包括多种类型的有线或无线网络。

在一实施例中,服务端11可以与终端设备12-14进行配合;其中,可由终端设备12-14进行通过网络10向服务端11申请建立目标服务对应的目标虚拟云计算资源,然后由服务端11基于目标服务的算力需求,执行本说明书的虚拟云计算资源的调度方法,将建立的目标虚拟云计算资源分配给所述目标服务。

为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本说明书中的技术方案进行清楚、完整地描述。

请参见图2,图2是一示例性实施例提供的一种虚拟云计算资源的调度方法。所述方法可以应用于资源调度系统,所述资源调度系统用于对虚拟云计算资源进行资源调度,所述虚拟云计算资源包括基于算力进行描述的自定义的虚拟云计算资源。

其中,所述资源调度系统可以管理多种资源类型的物理计算资源,也即异构物理计算资源,所述多种资源类型的计算资源可以为多种类型的处理器资源,例如可以包括图像处理器(Graphics Processing Unit,GPU)、张量处理器(Tensor Processing Unit,TPU)、物理运算处理器(Physics Processing Unit,PPU)、大脑处理器(Brain ProcessingUnit,BPU)、神经网络处理器(Neural network Processing Unit,NPU)等等。所述多种资源类型的物理计算资源也可以包括采用不同的资源划分方式的处理器资源,例如可以包括采用基于空间或时间进行划分的处理器资源。

所述资源调度系统可以通过预设的抽象方式对各种资源类型的物理计算资源进行抽象处理,以能够基于其所能提供的算力对各种类型的物理计算资源理进行描述,获取每个物理计算资源对应的算力信息,以方便基于算力对各种资源类型的物理计算资源进行统一管理。所述算力信息可以包括各个物理计算资源的已用算力、剩余算力等等。资源调度系统可以基于算力对各个物理计算资源进行切分和聚合,创建基于算力进行描述的虚拟云计算资源,并基于算力将虚拟云计算资源与对应的物理计算资源进行绑定,以使资源调度系统以虚拟云计算资源作为资源单元进行资源调度和分配。

所述资源调度系统可以管理分别位于不同的资源节点上的物理计算资源,多个资源节点可以组成资源集群,在各个资源节点上可以包括如上所述的多种资源类型的物理计算资源中的一种或多种的物理计算资源,例如,在一个资源节点上可以包括2个CPU和8个GPU。

所述资源调度系统所能提供的用于描述物理计算资源和虚拟云计算资源的算力可以多种多样,可以为用于表示数据处理能力的计量单位,例如,可以为用于表示每秒浮点运算次数的每秒万亿次浮点运行次数(Tera Floating Point Operations Per Second,TFlops/s)、每秒百万次浮点运行次数(Million Floating Point Operations PerSecond,MFlop/s)等;可以为用于表示每秒处理器执行操作的数量的每秒万亿次操作(TeraOperations Per Second,TOPS)、每秒百万次操作(Million Operations Per Second,MOPS)等;可以为用于表示处理单字长定点指令平均执行速度的每秒处理百万指令(Million Instructions Per Second,MIPS)等。为了简便起见,在下面的实施例中均以TFlops/s为例进行举例说明。

所述虚拟云计算资源的调度方法,可以包括以下步骤。

S210、获取目标服务对应的算力需求。

在用户需要部署目标服务时,可以向资源调度系统发送针对该目标服务的资源请求信息,资源调度系统可以从所述资源请求信息中获取与所述目标服务对应的算力需求。

其中,所述资源请求信息可以为,用户请求创建用于运行该目标服务的运行组件时,针对该运行组件的资源请求信息。目标服务对应的算力需求可以为用于运行该目标服务的运行组件对应的算力需求。其中,所述运行组件可以为用于运行该目标服务的容器(container)或者容器集(pod),所述目标服务对应的算力需求可以为用于运行该目标服务的至少一个容器或者容器集对应的算力需求。为了简便起见,在下面的实施例中均以pod为运行该目标服务的运行组件为例进行举例说明。

所述资源请求信息的表现形式可以为采用预设的数据序列化语言编辑的数据文件,例如,YAML文件,等等。

获取目标服务对应的算力需求的方式可以多种多样,可以由用户在向资源调度系统发送的与目标服务的资源请求信息中携带对目标服务对应的pod的算力需求,例如,可以在YAML文件中指示pod对应的算力需求为mTFlops/s,资源调度系统可以从所述资源请求信息中提取出目标服务对应的算力需求为mTFlops/s;若资源调度系统接收到的资源请求信息中没有携带对目标服务对应的pod的算力需求,则可以通过预设的算力预估算法,对所述资源请求信息进行解析,预估得到与所述目标服务对应的算力需求,例如,在资源请求信息中给出的是用于运行目标服务的pod所需的物理计算资源的需求信息,则通过预设的算力预估算法,基于该pod所需的物理计算资源的需求信息进行解析,预估得到与目标服务对应的算力需求。

其中,所述算力预估算法,可以为能够对各种资源类型的物理计算资源进行抽象处理的方法或服务,以能够基于其所能提供的算力对各种资源类型的物理计算资源理进行抽象,以预估得到与目标服务对应的算力需求;例如,若资源请求信息中包括pod所需的物理计算资源为A100 GPU的40%,则可以通过算力预估算法,得到与目标服务对应算力需求为mTFlops/s。

S220、创建基于所述算力需求来描述的目标虚拟云计算资源。

S230、从所述资源调度系统管理的多种类型的物理计算资源中为所述目标虚拟云计算资源确定目标物理计算资源,将所述目标物理计算资源与所述目标虚拟云计算资源进行绑定,并在绑定完成后将所述目标虚拟云计算资源分配给所述目标服务。

资源调度系统在获取到目标服务对应的算力需求后,可以创建基于该算力需求来描述的目标虚拟云计算资源,所述虚拟云计算资源可以表示为vXPU。

需要说明的是,所述目标虚拟云计算资源实际可以调用的算力可以接近、等于或者超过该算力需求,对所述目标虚拟云计算资源的描述信息中可以包括用户对目标虚拟云计算资源的算力需求,也即用户对目标服务的算力需求;所述目标虚拟云计算资源的描述信息中也可以包括创建的目标虚拟云计算资源的算力,或者与该目标虚拟云计算资源绑定的物理计算资源的算力等其它算力信息。

资源调度系统还可以获取其管理的各个物理计算资源的资源信息,所述资源信息可以包括各个物理计算资源的算力信息、各个物理计算资源对应的拓扑信息等等。所述算力信息可以包括各个物理计算资源的已用算力、剩余算力等等。所述拓扑信息可以包含各个物理计算资源所在的节点,以及各个物理计算资源之间的传输方式等等。获取各个物理计算资源的资源信息的方式可以多种多样,可以通过如上所述的算力预估算法得到。

资源调度系统根据与目标虚拟云计算资源对应的算力需求,结合获取到的各个物理计算资源的资源信息,从其管理的物理计算资源中确定出可用于构建所述目标虚拟云计算资源的目标物理计算资源。

在从所述资源调度系统管理的多种类型的物理计算资源中为所述目标虚拟云计算资源确定目标物理计算资源时,资源调度系统可以基于预先设置的资源选取策略从其管理的所有物理计算资源中选取与目标虚拟云计算资源的目标物理计算资源,例如,资源选取策略可以为从其管理的物理计算资源中选取剩余算力之和可以满足所述目标虚拟云计算资源的算力需求的物理计算资源作为目标物理计算资源。

其中,为了能够使目标虚拟云计算资源能够与更加适配于目标服务,所述资源选取策略中可以包括对目标物理计算资源的资源限制条件,所述资源限制条件可以多种多样,例如,可以包括以下多项中的任意一项或多项的组合:

与所述物理计算资源的资源类型对应的资源限制条件;例如,可以要求目标物理计算资源为GPU、NPU、PPU等资源类型中的指定的一种或多种的组合,等等;

与所述物理计算资源的资源量对应的资源限制条件;所述物理计算资源的资源量可以包括基于算力的算力需求;也可以包括针对各种资源类型的资源量,例如,针对A100GPU的资源量可以为40%;也可以包括对物理计算资源的处理器的数量,例如,一张GPU,或者,不能超过两张GPU等等;

与所述物理计算资源的资源带宽对应的资源限制条件,例如,可以要求不小于50GB/s的带宽;

与所述物理计算资源之间的拓扑关系对应的资源限制条件;所述拓扑关系可以包括对于目标物理计算资源所在资源节点的限制;例如,要求不允许出现跨节点的GPU;所述拓扑关系也可以包括不同的目标物理计算资源之间传输方式的限制,例如,要求GPU之间采用NVlink传输方式,CPU和GPU之间采用pcie传输方式,CPU之间采用IPC/MPI传输方式,节点之间采用tcp传输方式,等等。

其中,所述资源限制条件可以由用户指定,例如接收到的与目标服务对应资源请求信息中包括所述资源限制条件,若资源调度系统获取到用户指定的资源限制条件,则资源调度系统将基于用户指定的资源限制条件,从所述资源调度系统管理的多种类型的物理计算资源中为所述目标虚拟云计算资源确定满足所述资源限制条件的目标物理计算资源;若用户没有指定资源限制条件,则资源调度系统可以根据目标服务的特性或者预设的默认条件,确定出与目标服务对应的资源限制条件,并基于该资源限制条件,从所述资源调度系统管理的多种类型的物理计算资源中为所述目标虚拟云计算资源确定满足所述资源限制条件的目标物理计算资源。

可见,通过获取资源限制条件,从所述资源调度系统管理的多种类型的物理计算资源中为所述目标虚拟云计算资源确定满足所述资源限制条件的目标物理计算资源,从而在将目标物理计算资源与目标虚拟云计算资源进行绑定后,使分配给目标服务的目标虚拟云计算资源能够更加适用于运行目标服务,满足目标服务的需求。

需要说明的是,确定与目标虚拟云计算资源对应的目标物理计算资源时,还可以基于当前各个物理计算资源的资源使用情况来进行选择;若各个物理计算资源的资源使用率较低,存在大量未使用的物理计算资源,则可以选择相对有利于目标服务运行的目标物理计算资源,例如选择相对更多的目标物理计算资源,使目标虚拟资源存在一定的冗余;若各个物理计算资源的资源使用率较高或者存在大量碎片化的物理计算资源,则可以选择相对有利于提高资源利用率的目标物理计算资源。

资源调度系统在确定出与目标虚拟云计算资源对应的目标物理计算资源后,可以将目标物理计算资源与该目标虚拟云计算资源进行绑定,相当于将目标物理计算资源整合成一个基于算力进行描述的目标虚拟云计算资源。绑定后的目标虚拟云计算资源可以被分配给所述目标服务,也即可以被分配给用于运行该目标服务的pod。

需要说明的是,与目标虚拟云计算资源绑定的目标物理计算资源可以包括一个或多个物理计算资源;相应的,将目标物理计算资源与目标虚拟云计算资源进行绑定,其本质是将目标物理计算资源中的全部或部分算力与目标虚拟云计算资源进行绑定,因此,对于一个物理计算资源可以与一个或多个虚拟云计算资源进行绑定。可见,所述目标虚拟云计算资源与目标物理计算资源的映射关系可以为1:n、1:1、或者n:1,等等,从而可以实现对物理计算资源的资源整合,提高对碎片化资源的利用。

请参见图3,图3示出了一种虚拟云计算资源的绑定过程。

如图3所示,所述资源调度系统管理的两个资源节点中,每个资源节点包括的物理计算资源有2个CPU和8个GPU,各个物理计算资源之间的拓扑信息可以包括:在同一节点中,GPU之间采用NVlink传输方式,CPU及GPU之间采用PCIE传输方式,CPU之间采用IPC/MPI传输方式,跨节点之间采用TCP传输方式。图3中各个物理计算资源中的阴影部分表示该物理计算资源已用算力,空白部分表示该物理计算资源剩余算力,空白部分越多表示该物理计算资源的剩余算力的占比越大。

资源调度系统可以基于获取到的与目标服务对应算力需求,以及各个物理计算资源中的算力信息,从如图3所示的资源节点中确定出与目标虚拟云计算资源对应的满足资源限制条件的目标物理计算资源;其中,所述资源限制条件可以包括是否允许跨节点,是否要求GPU之间采用NVlinkw传输方式,是否要求CPU及GPU之间采用PCIE传输方式,CPU之间采用IPC/MPI传输方式,跨节点之间采用TCP传输方式,等等。若确定得到的目标物理计算资源为如图3所示的虚线框中所包含的物理计算资源,则将该虚线框中分别位于两个资源节点的2个CPU和6个GPU与目标虚拟云计算资源进行绑定,并将该目标虚拟云计算资源分配给目标服务。

需要说明的是,所述资源调度系统可以为基于K8s的资源调度系统;所述资源调度系统也可以为能够接入K8s资源调度系统的资源管理服务;所述资源调度系统创建的基于算力进行描述的虚拟云计算资源为虚拟容器资源,可以将虚拟云计算资源分配给部署在K8s资源集群中资源节点上的容器或容器集使用。

请参见图4,图4示出了一种虚拟云计算资源的调度方法。在该调度方法中为了提高资源调度系统获取目标服务对应的算力需求以创建虚拟云计算资源,快速从管理的异构物理计算资源中确定出与目标虚拟云计算资源对应的目标物理计算资源,可以设置算力预估平台。所述算力预估平台可以实现如上所述的算力预估方法,可以用于对获取到的与目标服务对应的资源请求信息进行解析,以得到与所述目标服务对应的算力需求,以及与所述目标服务对应的资源限制条件;所述算力预估平台还可以对资源调度系统管理的异构物理计算资源进行解析,得到的各个物理计算资源的资源信息中可以包括各个物理计算资源的算力信息,以及各个物理计算资源之间的拓扑信息,等等;其中,所述算力信息可以包括已使用算力、剩余算力等等;所述拓扑信息可以包含各个物理计算资源所在的节点,以及各个物理计算资源之间的传输方式等等。可见,在资源调度系统接入了新的异构物理计算资源时,可以通过算力预估平台对新的异构物理计算资源进行解析,从而使新的异构物理计算资源可以快速进入资源池中进行统一调度。

在如图4所示的虚拟云计算资源的调度方法中,首先由用户发起针对目标服务的资源请求,将向资源调度系统发送资源请求信息输入到算力预估平台;

算力预估平台可以对获取到的与目标服务对应的资源请求信息进行解析,以得到与所述目标服务对应的算力需求和资源限制条件,并发送给资源调度系统;

资源调度系统根据获取到的与目标服务对应的算力需求,创建与目标服务对应的目标虚拟云计算资源;基于与目标服务对应的资源限制条件,以及与各个物理计算资源的算力信息和拓扑信息等,从管理的多种资源类型对应的物理计算资源中确定出与目标虚拟云计算资源对应的目标物理计算资源;资源调度系统可以将确定出的目标物理计算资源与目标虚拟云计算资源进行绑定;

在K8s集群的目标节点上可以部署与目标服务对应的pod,该pod包括运行目标服务的至少一个容器。绑定后的目标虚拟云计算资源可以被分配给目标节点上与目标服务对应的pod,用于运行与目标服务对应的至少一个容器。

由上述实施例的技术方案可知,本申请实施例通过统一算力对目标服务的需求算力和异构物理计算资源进行度量和描述,创建基于算力进行描述的虚拟云计算资源,基于算力将虚拟云计算资源与对应的物理计算资源进行绑定,以虚拟云计算资源作为可分配的资源单元进行调度,从而可以屏蔽不同资源类型的异构物理计算资源的差异性,使异构物理计算资源可以基于统一算力进行切分和聚合;在从多种资源类型的物理计算资源中确定出满足算力需求的目标物理计算资源并与虚拟云计算资源进行绑定时,可以根据需要将碎片化的物理计算资源与虚拟云计算资源进行绑定,从而可以实现对物理计算资源的资源整合,提高对碎片化资源的利用率,使整体的资源使用效率更高。

基于上述实施例,所述从所述资源调度系统管理的多种类型的物理计算资源中为所述目标虚拟云计算资源确定满足所述资源限制条件的目标物理计算资源的具体实现方法可以多种多样,例如,可以基于预设的资源选取策略,从管理的物理计算资源中选取多种满足算力需求和资源限制条件的物理计算资源的组合,并比较各种组合的优劣或者进行评分,以确定出最佳的或者评分最高的组合,作为与目标虚拟云计算资源对应的目标物理计算资源。

所述资源选取策略可以由运维人员根据经验进行选择,但需要运维人员熟悉调度策略,为了降低运维成本,可以采用一种能够科学衡量和表达调度需求的算法,例如,在一种实施方式中,可以将资源选取策略抽象为一种预设的资源调度规划算法,将所述资源限制条件设定为该资源调度规划算法的约束条件,从所述资源调度系统管理的多种类型的物理计算资源中为所述目标虚拟云计算资源确定目标物理计算资源。

其中,所述资源调度规则算法可以采用一种最优化的数学规则算法,例如,可以包括线性规划、整数规划、随机规划、组合最优化等等。例如,在一种实施方式中,可以采用运筹学(Operations Research)算法,基于运筹学算法可以寻找复杂问题中的最佳或近似最佳的解答。

在基于资源调度规则算法,从所述资源调度系统管理的多种类型的物理计算资源中为所述目标虚拟云计算资源确定目标物理计算资源时,可以基于预设优化目标,设定该资源调度规则算法中的优化函数,从所述资源调度系统管理的多种类型的物理计算资源中为所述目标虚拟云计算资源确定出最优组合的目标物理计算资源。

其中,所述资源调度规划算法的优化目标可以包括以下多项中的一项或多项的任意组合:

所述目标物理计算资源中包含的物理计算资源的数量最少;

所述目标物理计算资源所在的节点数量最少;

选取的目标物理计算资源所使用的带宽最少。

请参见图5,图5示出了一种虚拟云计算资源的调度方法,资源调度系统可以先从算力评估平台和其管理的物理计算资源,获取与目标服务对应算力需求和资源限制条件,以及与各个物理计算资源对应的算力信息和拓扑信息等;基于预设的资源调度规则算法,根据获取到的上述信息进行建模,包括与资源限制条件对应的约束条件和与优化目标对应的优化函数;然后,通过求解器(solver)基于优化目标去求解最佳的用于构建目标虚拟云计算资源的物理计算资源的组合,作为与目标虚拟云计算资源对应的目标物理计算资源;将确定得到的目标物理计算资源与目标虚拟云计算资源进行绑定,并将绑定后的虚拟云计算资源分配给目标服务。

需要说明的是,在基于预设资源调度规划算法求解最佳的用于构建目标虚拟云计算资源的物理计算资源的组合时,可以求解得到最佳的多种组合,然后从求解得到的多种组合中随机选取一组作为目标物理计算资源,与目标虚拟云计算资源进行绑定。

本申请实施例通过将确定与目标虚拟云计算资源对应的目标物理计算资源的方法抽象为预设的资源调度规则算法,从而可以更科学的衡量和表达调度需求,而不是经验性地使用资源选择策略,能够有效减少运维成本,能够智能化地更好地利用资源和调度资源。

与前述虚拟云计算资源方法的实施例相对应,本申请还提供了虚拟云计算资源的调度装置的实施例。

如图6所示,所述虚拟云计算资源的调度装置包括:请求获取模块601、资源创建模块602和资源分配模块603。

其中,所述请求获取模块601,用于获取目标服务对应的算力需求;

所述资源创建模块602,用于创建基于所述算力需求来描述的目标虚拟云计算资源;

所述资源分配模块603,用于从所述资源调度系统管理的多种类型的物理计算资源中为所述目标虚拟云计算资源确定目标物理计算资源,将所述目标物理计算资源与所述目标虚拟云计算资源进行绑定,并在绑定完成后将所述目标虚拟云计算资源分配给所述目标服务。

可选的,所述请求获取模块601用于:

获取目标服务的资源请求信息;

通过预设的算力预估算法,基于所述资源请求信息预估得到所述目标服务的算力需求。

可选的,所述资源请求信息包括资源限制条件;

所述资源分配模块603用于从所述资源调度系统管理的多种类型的物理计算资源中为所述目标虚拟云计算资源确定满足所述资源限制条件的目标物理计算资源。

可选的,所述资源限制条件包括以下多项中的任意一项或多项的组合:

与所述物理计算资源的资源类型对应的资源限制条件;

与所述物理计算资源的资源量对应的资源限制条件;

与所述物理计算资源的资源带宽对应的资源限制条件;

与所述物理计算资源之间的拓扑关系对应的资源限制条件。

可选的,所述资源分配模块603用于:

通过预设的资源调度规划算法,以所述资源限制条件为约束条件,从所述资源调度系统管理的多种类型的物理计算资源中为所述目标虚拟云计算资源确定目标物理计算资源。

可选的,所述资源调度规划算法的优化目标包括以下多项中的一项或多项的任意组合:

所述目标物理计算资源中包含的物理计算资源的数量最少;

所述目标物理计算资源所在的节点数量最少;

选取的目标物理计算资源所使用的带宽最少。

可选的,所述资源调度系统为基于K8s的资源调度系统;所述物理计算资源为处理器资源;所述虚拟云计算资源为虚拟容器资源;所述算力需求为所述目标服务请求创建的至少一个容器对应的算力需求。

在以上技术方案中,通过统一算力对目标服务的需求算力和异构物理计算资源进行度量和描述,创建基于算力进行描述的虚拟云计算资源,基于算力将虚拟云计算资源与对应的物理计算资源进行绑定,以虚拟云计算资源作为可分配的资源单元进行调度,从而可以屏蔽不同资源类型的异构物理计算资源的差异性,使异构物理计算资源可以基于统一算力进行切分和聚合;在从多种资源类型的物理计算资源中确定出满足算力需求的目标物理计算资源并与虚拟云计算资源进行绑定时,可以根据需要将碎片化的物理计算资源与虚拟云计算资源进行绑定,从而可以实现对物理计算资源的资源整合,提高对碎片化资源的利用率,使整体的资源使用效率更高。

图7是一示例性实施例提供的一种设备的示意结构图。请参考图7,在硬件层面,该设备包括处理器702、内部总线704、网络接口706、内存708以及非易失性存储器710,当然还可能包括其他所需要的硬件。本说明书一个或多个实施例可以基于软件方式来实现,比如由处理器702从非易失性存储器710中读取对应的计算机程序到内存708中然后运行。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。

在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。

相关技术
  • 一种云计算平台中虚拟机资源调度方法和调度系统
  • 一种云计算平台中虚拟机资源调度方法和调度系统
技术分类

06120116459463