CN115658311A - 一种资源的调度方法、装置、设备和介质 - Google Patents

一种资源的调度方法、装置、设备和介质 Download PDF

Info

Publication number
CN115658311A
CN115658311A CN202211351516.1A CN202211351516A CN115658311A CN 115658311 A CN115658311 A CN 115658311A CN 202211351516 A CN202211351516 A CN 202211351516A CN 115658311 A CN115658311 A CN 115658311A
Authority
CN
China
Prior art keywords
gpu
resources
host
resource
logic
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
CN202211351516.1A
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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202211351516.1A priority Critical patent/CN115658311A/zh
Publication of CN115658311A publication Critical patent/CN115658311A/zh
Pending legal-status Critical Current

Links

Images

Abstract

本公开提供了一种资源调度方法、装置、设备和介质,涉及云计算技术领域,尤其涉及云原生、容器技术、动态资源调度等技术领域。具体实现方案为:获取分布式系统中任一逻辑主机发送的GPU分配请求;所述逻辑主机部署于所述分布式系统中的任一物理主机中;从GPU资源池中,确定可用GPU资源,并将所述可用GPU资源分配给发送所述GPU分配请求的逻辑主机;其中,所述GPU资源池中的GPU资源来源于所述分布式系统中的一个或多个物理主机。本公开的技术方案实现了GPU资源的动态调整,可从一个或多个物理主机获取GPU资源进行分配,充分利用了集群的资源。

Description

一种资源的调度方法、装置、设备和介质
技术领域
本公开涉及云计算技术领域,尤其涉及云原生、容器技术、动态资源调度等技术领域,具体涉及一种资源的调度方法、装置、设备和介质。
背景技术
Kubernetes系统是一个典型的分布式系统,可简称为K8S系统。K8S系统一般部署有主控节点和多个工作节点,相当于物理主机;在工作节点中可动态建立容器组(Pod),Pod是K8S系统中可以创建和管理的最小单元,是资源对象模型中由用户创建或部署的最小资源对象模型,相当于一种运行在物理主机上的逻辑主机,以便能够运行具体的计算任务。主控节点主要用于管理Kubernetes系统的运行过程。
各个节点一般为物理主机,具有对应的硬件资源,如CPU、内存、存储空间、图形处理器(Graphics Processing Unit,简称GPU)和网络资源等。当Pod运行时,需要为Pod分配硬件资源,来支持Pod中任务的运行。
相关技术中,尚未提供能够在分布式系统中,为逻辑主机动态分配GPU资源的技术方案。
发明内容
本公开提供了一种资源的调度方法、装置、设备以及介质,以实现GPU资源的动态调整,可跨越物理主机获取GPU资源,充分利用了集群的资源。
根据本公开的一方面,提供了一种资源的调度方法,包括:
获取分布式系统中任一逻辑主机发送的GPU分配请求;所述逻辑主机部署于所述分布式系统中的任一物理主机中;
从GPU资源池中,确定可用GPU资源,并将所述可用GPU资源分配给发送所述GPU分配请求的逻辑主机;其中,所述GPU资源池中的GPU资源来源于所述分布式系统中的一个或多个物理主机。
根据本公开的另一方面,提供了一种资源的调度装置,包括:
分配请求获取模块,用于获取分布式系统中任一逻辑主机发送的GPU分配请求;所述逻辑主机部署于所述分布式系统中的任一物理主机中;
资源分配模块,用于从GPU资源池中,确定可用GPU资源,并将所述可用GPU资源分配给发送所述GPU分配请求的逻辑主机;其中,所述GPU资源池中的GPU资源来源于所述分布式系统中的一个或多个物理主机。
根据本公开的另一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开任一实施例所述的资源的调度方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行本公开任一实施例所述的资源的调度方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令在被处理器执行时实现本公开任一实施例所述的资源的调度方法。
本公开的技术方案实现了GPU资源的动态调整,可从一个或多个物理主机获取GPU资源进行分配,充分利用了集群的资源。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开实施例提供的一种资源的调度方法的示意图;
图2是根据本公开实施例提供的另一种资源的调度方法的示意图;
图3是根据本公开实施例提供的资源的调度装置的结构示意图;
图4是用来实现本公开实施例的资源的调度方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本公开实施例提供的一种资源的调度方法的示意图,本公开实施例可适用于在分布式系统中进行图形处理器(GPU)的动态资源调度的情况。该方法可由一种资源的调度方法的装置来执行,该装置可采用硬件和/或软件的方式来实现,可配置于电子设备中,该电子设备可以为分布式处理系统中的任一物理主机,例如K8S系统中的主控节点。参考图1,该方法具体包括如下:
S110、获取分布式系统中任一逻辑主机发送的GPU分配请求;所述逻辑主机部署于所述分布式系统中的任一物理主机中;
分布式系统是建立在网络之上的软件系统,分布式系统拥有多种通用的物理和逻辑资源,可以动态的创建逻辑主机来承接任务。例如:Kubernetes系统就是一种典型的分布式系统。分布式系统中可以包括一个或多个物理主机,物理主机中可以包括一个或多个逻辑主机。物理主机一般为具有硬件资源的电子设备,逻辑主机一般为运行于物理主机之上、分配有硬件资源的运行实例,例如虚拟机。以Kubernetes系统为例,所述物理主机可以为工作节点和主控节点,所述逻辑主机可以为Pod。
GPU分配请求可以由逻辑主机发起,可以是在已分配的GPU资源无法满足自身运行需求时发起,或者,也可以定期发起的GPU分配请求。
GPU分配请求的内容可以包括:逻辑主机具体所需要的GPU资源单位大小、所需GPU资源算力值的大小等。
其中,获取分布式系统中任一逻辑主机发送的GPU分配请求,可以包括:
获取所述分布式系统中,任一运行中的逻辑主机发送的一个或多个GPU分配请求。
上述操作中,逻辑主机可以发送一个或多个GPU分配请求;在一个分布式系统中,同时可以由一个或多个逻辑主机发起GPU分配请求。例如,逻辑主机在运行过程中,检测到当前GPU资源不能满足自身运行需求,则发起GPU资源分配请求。逻辑主机也可以在运行过程中定期发起GPU分配请求,从而使得逻辑主机对GPU资源的占用是动态变化的。这种动态调整分配的方式,可以保持各逻辑主机对各GPU资源的占用是动态平衡的。每个逻辑主机所承接的任务中,对GPU资源的需求可能是持续稳定的,也可能是动态波动的。例如,对监控录像的处理任务可能是持续稳定的,对身份识别图像的处理任务则可能是动态波动的。
S120、从GPU资源池中,确定可用GPU资源,并将所述可用GPU资源分配给发送所述GPU分配请求的逻辑主机;其中,所述GPU资源池中的GPU资源来源于所述分布式系统中的一个或多个物理主机。
GPU资源池优选是部署于主控节点中,所述主控节点可以为K8S系统中可控制GPU资源分配的节点,用于管理分布式系统的运行过程。可以在分布式系统中统一部署GPU资源池以及进行资源分配的控制程序,实现对分布式系统中的GPU资源动态调整。
GPU资源池是管理分布式集群中所有GPU资源的一个模块,用于分配、释放、监控GPU的资源使用情况。接收到GPU分配请求后,可基于GPU资源分配策略来为逻辑主机分配资源。GPU资源分配策略的具体内容可按需设置,例如可判断已分配给该逻辑主机的GPU资源是否满足其运行需求或当前GPU资源池中的剩余资源是否充足,从而根据当前GPU资源情况为该逻辑主机分配可用GPU资源,可用GPU资源与已分配的GPU资源相同或不同。
其中,所述逻辑主机所属的物理主机与分配的可用GPU资源所属物理主机相同或不同。通过GPU资源池所分配的可用GPU资源与已分配的GPU资源可以位于不同的GPU卡或不同的物理主机。从而实现了不限于在逻辑主机所在的物理主机本地进行GPU资源的分配,还可以在分布式系统内部,跨物理主机进行GPU资源的调度分配。
本实施例中,从GPU资源池中,确定可用GPU资源,并将所述可用GPU资源分配给发送所述GPU分配请求的逻辑主机,可以包括:确定可用GPU资源,将可用GPU资源通过GPU资源池封装的通用接口,将GPU资源分配至逻辑主机。
本公开实施例通过为逻辑主机动态分配GPU资源,实现了GPU资源的动态调整,提高集群资源的利用率。GPU资源优选是通过逻辑主机运行过程中动态、持续发起,从而在GPU资源池中,动态的回收、分配资源,从而能够实现在分布式系统内部的GPU资源达到动态平衡。
图2为本公开又一实施例提供的一种资源的调度方法的流程图,本实施例在上述实施例的基础上进行了优化改进。如图2所示,该方法包括:
S210、获取分布式系统中任一逻辑主机发送的GPU分配请求;所述逻辑主机部署于所述分布式系统中的任一物理主机中;
其中,所述GPU分配请求可以包括不同类型,所述GPU分配请求的类型可以包括下述至少一种:
下限确定请求,用于指定所需分配的GPU资源下限;
上下限确定请求,用于指定所需分配的GPU资源的下限和上限;
模糊请求,不指定所需分配的GPU资源的下限或上限。
具体的,描述所需分配的GPU资源的指标参数,可以包括GPU资源量、GPU显存、GPU算力以及GPU卡类型等任意一个。当逻辑主机发起GPU分配请求时,可以对所需分配的GPU资源的指标参数进行指定,例如指定所需资源的下限值,或者同时指定所需资源的下限值和上限值,可选的,也可以不指定所需资源的指标参数值,只提出有GPU资源的模糊分配需求。
具体的,当GPU分配请求为模糊请求时,可以通过GPU资源池进行判断是否分配GPU资源,以及分配多少GPU资源。例如,可以根据该逻辑主机当前执行任务以及正常运行所需的GPU资源,从而确定该逻辑主机需要分配的GPU资源的大小。或者,还可以基于GPU资源池中的GPU资源情况,以及其他逻辑主机的分配情况,综合进行判断。
可选的,所述获取分布式系统中任一逻辑主机发送的GPU分配请求之后,还可以包括:判断已分配的GPU资源不能满足运行需求和/或当前资源池中的剩余资源量充足。
具体的,若已分配给逻辑主机的GPU资源能满足其运行需求且当前GPU资源池的剩余资源量充足,则拒绝逻辑主机发送的GPU分配请求;若已分配给逻辑主机的GPU资源不能满足其运行需求且当前GPU资源池的剩余资源量充足,则接受逻辑主机发送的GPU分配请求,为逻辑主机分配GPU资源;若已分配给逻辑主机的GPU资源能满足其运行需求,当前GPU资源池的剩余资源量不足,则拒绝逻辑主机发送的GPU分配请求。
S220、从GPU资源池中,根据GPU运行状态和/或GPU关联数据,确定候选可用GPU资源的资源优先级;
S230、根据当前发起GPU分配请求的一个或多个逻辑主机的主机关联数据,确定所述当前发起GPU分配请求的逻辑主机的主机优先级;
S240、根据所述资源优先级和所述主机优先级,为所述当前发起GPU分配请求的逻辑主机分配可用GPU资源。
其中,所述资源优先级为GPU资源的可供分配的优先级高低排序。
所述GPU运行状态可以包括:正常运行状态,异常运行状态以及空闲运行状态等,其中,异常运行状态还可以包括运行出错状态、运行速度较慢状态以及无法正常运行状态等。所述GPU关联数据可以包括:当前任务请求数量,当前GPU资源的算力值,当前已占用的算力值等可供决策GPU资源可供分配的参数依据。
可选的,根据GPU运行状态和GPU关联数据,确定候选可用GPU资源的资源优先级,可以包括:根据GPU运行状态是否异常、异常程度和GPU当前已占用的算力值多少、当前任务请求数量的多少,确定可用GPU资源的优先级。其中,GPU正常状态且占用的算力值越少,当前任务请求数量越少,则GPU资源的优先级越高,GPU处于异常状态且占用的算力值越多,当前请求数量越多,则GPU资源的优先级越低,处于停止运行状态或无法正常运行状态的GPU资源,优先级最低或无法参与GPU资源的优先级排序。
可选的,优先级越高的GPU资源可被优先选取,优先级越低的GPU资源在优先级较高的GPU资源选取后,再被选取。
其中,主机关联数据为逻辑主机的关联数据,所述主机关联数据可以包括:主机当前任务量,执行任务所需的算力值,发送GPU分配请求的时间值等,所述主机优先级为逻辑主机的先后排序。
可选的,确定各逻辑主机的主机优先级,可以通过各逻辑主机发送GPU分配请求的时间先后顺序确定;或根据各逻辑主机所需的GPU资源数量多少进行排序确定,或通过各逻辑主机当前的任务量确定等。
其中,优先级最高的逻辑主机可优先选取所需的GPU资源,优先级其次的逻辑主机可在优先级最高的逻辑主机选取GPU资源后,在剩余的GPU资源内选取所需的GPU资源,以此类推。
可选的,所述根据所述资源优先级和主机优先级,为发起GPU分配请求的逻辑主机分配可用GPU资源,可以包括:为优先级较高的逻辑主机分配优先级较高的GPU资源,为优先级较低的逻辑主机分配优先级较低的GPU资源,或
根据逻辑主机的优先级顺序,依次自行选取所需的GPU资源,其中,已被逻辑主机选取的GPU资源,其他的逻辑主机则不能选取相同的GPU资源。
本公开通过为资源确定优先级和逻辑主机确定优先级的方式,可精准的为各个逻辑主机分配到所需的GPU资源,避免资源分配不平衡,将较高算力的GPU资源分配至GPU分配请求较少的逻辑主机中,造成资源浪费的问题,提高资源的利用率。
在上述技术方案的基础上,进一步介绍动态维护资源池的技术介绍。
所述GPU资源池中的GPU资源来源于分布式系统中的一个或多个物理主机,具体可以:监测各个物理主机的GPU资源的状态,预先将多个物理主机的GPU资源均添加至GPU资源池中。例如,可以包括:
通过状态监测程序,对GPU的硬件资源运行状态进行监测,并接收所述状态监测程序反馈的GPU的硬件资源运行状态;
根据GPU的硬件资源运行状态,更新GPU资源池中的GPU运行状态。其中,所述GPU的运行状态可以包括:占用、被占用以及释放等。
上述技术方案,能够通过各物理主机中的状态监测程序,主动监测硬件资源的运行状态并上报给GPU资源池,硬件资源运行状态中可以至少包括GPU的硬件资源运行状态,从而据此动态的维护及更新GPU资源池。
可选的,GPU的硬件资源运行状态包括下述至少一种:显存空间使用值、算力使用值和任务请求量、GPU单位时间承接的请求数量,占用的算力绝对值或相对值等数据。
在本公开的具体实施例中,物理主机上的状态监测程序监控到逻辑主机所选用的GPU资源在完成任务后,可释放该逻辑主机中已完成任务且处于空闲状态的GPU资源,将已完成任务且处于空闲状态的GPU资源重新放入GPU资源池中,使得该GPU资源可以被重新选取,被其他逻辑主机选用,提高GPU资源的利用效率。
在本公开的另一具体实施例中,逻辑主机选用的GPU资源完成任务后,逻辑主机可主动发送资源释放请求至GPU资源池,GPU资源池检测到该释放请求,对该逻辑主机的GPU资源进行释放,对空闲状态的GPU资源进行释放后,可供其他逻辑主机使用指定执行其它任务,实现了GPU资源的动态调整,提高了资源的利用效率。
在上述技术方案的基础上,可选的,从GPU资源池中,确定可用GPU资源,并将所述可用GPU资源分配给发送所述GPU分配请求的逻辑主机包括:
从GPU资源池中,确定多个可用GPU资源,形成候选分配GPU资源清单,发送给当前发起GPU分配请求的一个或多个逻辑主机;
在接收到当前发起GPU分配请求的逻辑主机反馈的资源确认回复消息时,将所述资源确认回复消息中指定的可用GPU资源,分配给反馈所述资源确认回复消息的逻辑主机。
其中,候选分配GPU资源清单为满足GPU分配请求的多个可用GPU资源组成的清单。候选分配GPU资源清单可以包括一个或多个GPU资源清单。可以同时为多个GPU分配请求形成候选分配GPU资源清单,同时发送至当前发起GPU分配请求的一个或多个逻辑主机,每个候选分配GPU资源清单可包括至少一个GPU资源。所述资源确认回复消息可以为接收到候选分配GPU资源清单的逻辑主机,在清单内选中所需的GPU资源后,向物理主机反馈的所选中的GPU资源的回复消息。所述资源确认回复消息,可以包括:所指定的GPU资源的算力,所选中的GPU资源所处的候选分配GPU资源清单位置等。在提供给各个逻辑主机的候选分配GPU资源清单中的可用GPU资源可以完全相同、部分相同或完全不同。
可选的,所述确定多个可用GPU资源,形成候选分配GPU资源清单,可以包括:
确定当前GPU资源池中满足多个GPU分配需求的GPU资源,按照优先级排序,根据预设数量,将多个满足GPU分配需求的GPU资源划分,形成候选分配GPU资源清单。
可选的,所述在接收到当前发起GPU分配请求的逻辑主机反馈的资源确认回复消息时,根据所述资源确认回复消息中指定的GPU资源,分配给反馈所述资源确认回复消息的逻辑主机,可以包括:
各个逻辑主机在GPU资源清单随机选取GPU资源进行指定,或各个逻辑主机在当前可选的GPU资源清单中选取清单中最优的GPU资源进行指定,将被逻辑主机指定的对应的GPU资源分配至逻辑主机。
其中,逻辑主机可基于GPU资源清单,进行连接测试,便于挑选性能好的GPU。
当前逻辑主机预先选中的GPU资源后,将GPU资源分配至该逻辑主机,并将已分配的GPU资源从提供给其他逻辑主机的候选分配GPU资源清单中移除。可选的,所述在接收到当前发起GPU分配请求的逻辑主机反馈的资源确认回复消息时,根据所述资源确认回复消息中指定的GPU资源,分配给反馈所述资源确认回复消息的逻辑主机,还可以包括:
若逻辑主机未从候选分配GPU资源清单指定所需分配的GPU资源,可将优先级排序最优且满足逻辑主机需求的候选分配GPU资源清单分配至逻辑主机,或为逻辑主机更换候选分配GPU资源清单进行指定。
本公开的具体实施例中,GPU资源池可为逻辑主机提供GPU资源清单,以供逻辑主机挑选出各自所需的GPU资源,其中,已被选用的GPU资源无法被其他逻辑主机选用,或者,也可以让多个逻辑主机共享某个GPU资源。例如,对于GPU资源需求都存在波动的逻辑主机,可以分配多个这样的逻辑主机共享GPU资源,若共享过程中,逻辑主机发现共享GPU资源无法满足实际需求,则可以再次发起GPU分配请求。由此,最大程度上有效利用GPU资源。
其中,所述可用GPU资源的最小分配单位是小数位的GPU芯片或小数位的GPU算力值,一个GPU芯片能够同时分配给一个或多个逻辑主机进行共享。
其中,所谓小数位,可以是指设定数位的小数,可选的是采用十分位的小数来表达,例如,0.5卡、0.2卡。GPU的算力值可以为计算能力值,可以包括整卡和/或小数位卡,例如;3卡、0.5卡。
本公开实施例通过监控集群中的GPU资源,为逻辑主机动态分配GPU资源,实现GPU资源的动态调整和跨越物理主机分配资源,提高了资源的利用效率。
图3是本申请实施例提供的资源的调度装置的结构示意图。如图3所示,所述装置300包括:分配请求获取模块310、资源分配模块320;其中,
所述分配请求获取模块310,用于获取分布式系统中任一逻辑主机发送的图形处理器GPU分配请求;所述逻辑主机部署于所述分布式系统中的任一物理主机中;
所述资源分配模块320,用于从GPU资源池中,确定可用GPU资源,并将所述可用GPU资源分配给发送所述GPU分配请求的逻辑主机;
其中,所述GPU资源池中的GPU资源来源于分布式系统中的一个或多个物理主机。其中,所述分布式系统为Kubernetes系统,所述物理主机为工作节点,所述逻辑主机为Pod,所述GPU资源池部署于主控节点中。
本公开实施例所提供的资源的调度装置可执行本公开任意实施例所提供的资源的调度装置方法,具备执行方法相应的功能模块和有益效果。
可选的,所述GPU分配请求的类型包括下述至少一种:
下限确定请求,用于指定所需分配的GPU资源下限;
上下限确定请求,用于指定所需分配的GPU资源的下限和上限;
模糊请求,不指定所需分配的GPU资源的下限或上限。
可选的,所述分配请求获取模块310,还用于获取所述分布式系统中,任一运行中的逻辑主机发送的一个或多个GPU分配请求。
可选的,所述逻辑主机所属的物理主机与分配的可用GPU资源所属物理主机相同或不同。
可选的,所述资源分配模块320,还用于从GPU资源池中,根据GPU运行状态和/或GPU关联数据,确定候选可用GPU资源的资源优先级;
根据当前发起GPU分配请求的一个或多个逻辑主机的主机关联数据,确定所述当前发起GPU分配请求的逻辑主机的主机优先级;
根据所述资源优先级和所述主机优先级,为所述当前发起GPU分配请求的逻辑主机分配可用GPU资源。
所述资源分配模块320,还用于从GPU资源池中,确定多个可用GPU资源,形成候选分配GPU资源清单,发送给当前发起GPU分配请求的一个或多个逻辑主机;
在接收到当前发起GPU分配请求的逻辑主机反馈的资源确认回复消息时,将所述资源确认回复消息中指定的可用GPU资源,分配给反馈所述资源确认回复消息的逻辑主机。
其中,所述可用GPU资源的最小分配单位是小数位的GPU芯片或小数位的GPU算力值,一个GPU芯片能够同时分配给一个或多个逻辑主机进行共享。
可选的,上述资源的调度装置,还可以包括:
硬件资源监测模块330,用于通过状态监测程序,对GPU的硬件资源运行状态进行监测,并接收所述状态监测程序反馈的GPU的硬件资源运行状态;
运行状态更新模块340,用于根据GPU的硬件资源运行状态,更新GPU资源池中的GPU运行状态。
本公开解决了通过监控集群中的GPU资源,为逻辑主机动态分配GPU资源,实现GPU资源的动态调整和跨越物理主机分配资源,提高了资源的利用效率。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
图4示出了可以用来实施本公开的实施例的示例电子设备400的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图4所示,设备400包括计算单元401,其可以根据存储在只读存储器(ROM)402中的计算机程序或者从存储单元408加载到随机访问存储器(RAM)403中的计算机程序,来执行各种适当的动作和处理。在RAM403中,还可存储设备400操作所需的各种程序和数据。计算单元401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
设备400中的多个部件连接至I/O接口405,包括:输入单元406,例如键盘、鼠标等;输出单元407,例如各种类型的显示器、扬声器等;存储单元408,例如磁盘、光盘等;以及通信单元409,例如网卡、调制解调器、无线通信收发机等。通信单元409允许设备400通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元401可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元401的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元401执行上文所描述的各个方法和处理,例如资源的调度方法。例如,在一些实施例中,资源的调度方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元408。在一些实施例中,计算机程序的部分或者全部可以经由ROM 402和/或通信单元409而被载入和/或安装到设备400上。当计算机程序加载到RAM403并由计算单元401执行时,可以执行上文描述的资源的调度方法的一个或多个步骤。备选地,在其他实施例中,计算单元401可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行资源的调度方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)区块链网络和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术;人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语言处理技术及机器学习/深度学习技术、大数据处理技术、知识图谱技术等几大方向。
云计算(cloud computing),指的是通过网络接入弹性可扩展的共享物理或虚拟资源池,资源可以包括服务器、操作系统、网络、软件、应用和存储设备等,并可以按需、自服务的方式对资源进行部署和管理的技术体系。通过云计算技术,可以为人工智能、区块链等技术应用、模型训练提供高效强大的数据处理能力。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开提供的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、、子和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

Claims (14)

1.一种资源的调度方法,包括:
获取分布式系统中任一逻辑主机发送的图形处理器GPU分配请求;所述逻辑主机部署于所述分布式系统中的任一物理主机中;
从GPU资源池中,确定可用GPU资源,并将所述可用GPU资源分配给发送所述GPU分配请求的逻辑主机;其中,所述GPU资源池中的GPU资源来源于所述分布式系统中的一个或多个物理主机。
2.根据权利要求1所述的方法,其中,获取分布式系统中任一逻辑主机发送的GPU分配请求包括:
获取所述分布式系统中,任一运行中的逻辑主机发送的一个或多个GPU分配请求。
3.根据权利要求1所述的方法,其中,所述逻辑主机所属的物理主机与分配的可用GPU资源所属物理主机不同。
4.根据权利要求1所述的方法,还包括:
通过状态监测程序,对GPU的硬件资源运行状态进行监测,并接收所述状态监测程序反馈的GPU的硬件资源运行状态;
根据GPU的硬件资源运行状态,更新GPU资源池中的GPU运行状态。
5.根据权利要求4所述的方法,其中,GPU的硬件资源运行状态包括下述至少一种:显存空间使用值、算力使用值和任务请求量。
6.根据权利要求1所述的方法,其中,所述GPU分配请求的类型包括下述至少一种:
下限确定请求,用于指定所需分配的GPU资源下限;
上下限确定请求,用于指定所需分配的GPU资源的下限和上限;
模糊请求,不指定所需分配的GPU资源的下限或上限。
7.根据权利要求1所述的方法,其中,从GPU资源池中,确定可用GPU资源,并将所述可用GPU资源分配给发送所述GPU分配请求的逻辑主机包括:
从GPU资源池中,根据GPU运行状态和/或GPU关联数据,确定候选可用GPU资源的资源优先级;
根据当前发起GPU分配请求的一个或多个逻辑主机的主机关联数据,确定所述当前发起GPU分配请求的逻辑主机的主机优先级;
根据所述资源优先级和所述主机优先级,为所述当前发起GPU分配请求的逻辑主机分配可用GPU资源。
8.根据权利要求1所述的方法,其中,从GPU资源池中,确定可用GPU资源,并将所述可用GPU资源分配给发送所述GPU分配请求的逻辑主机包括:
从GPU资源池中,确定多个可用GPU资源,形成候选分配GPU资源清单,发送给当前发起GPU分配请求的一个或多个逻辑主机;
在接收到当前发起GPU分配请求的逻辑主机反馈的资源确认回复消息时,将所述资源确认回复消息中指定的可用GPU资源,分配给反馈所述资源确认回复消息的逻辑主机。
9.根据权利要求1所述的方法,其中,所述可用GPU资源的最小分配单位是小数位的GPU芯片或小数位的GPU算力值,一个GPU芯片能够同时分配给一个或多个逻辑主机进行共享。
10.根据权利要求1所述的方法,其中,所述分布式系统为Kubernetes系统,所述物理主机为工作节点,所述逻辑主机为容器组,所述GPU资源池部署于主控节点中。
11.一种资源的调度装置,包括:
分配请求获取模块,用于获取分布式系统中任一逻辑主机发送的图形处理器GPU分配请求;所述逻辑主机部署于所述分布式系统中的任一物理主机中;
资源分配模块,用于从GPU资源池中,确定可用GPU资源,并将所述可用GPU资源分配给发送所述GPU分配请求的逻辑主机;其中,所述GPU资源池中的GPU资源来源于所述分布式系统中的一个或多个物理主机。
12.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-10中任一项所述的资源的调度方法。
13.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-10中任一项所述的资源的调度方法。
14.一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令在被处理器执行时实现根据权利要求1-10中任一项所述的资源的调度方法。
CN202211351516.1A 2022-10-31 2022-10-31 一种资源的调度方法、装置、设备和介质 Pending CN115658311A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211351516.1A CN115658311A (zh) 2022-10-31 2022-10-31 一种资源的调度方法、装置、设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211351516.1A CN115658311A (zh) 2022-10-31 2022-10-31 一种资源的调度方法、装置、设备和介质

Publications (1)

Publication Number Publication Date
CN115658311A true CN115658311A (zh) 2023-01-31

Family

ID=84994859

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211351516.1A Pending CN115658311A (zh) 2022-10-31 2022-10-31 一种资源的调度方法、装置、设备和介质

Country Status (1)

Country Link
CN (1) CN115658311A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115934624A (zh) * 2023-03-14 2023-04-07 珠海星云智联科技有限公司 多主机远程直接内存访问网络管理的方法、设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013097147A1 (zh) * 2011-12-29 2013-07-04 华为技术有限公司 云计算系统和管理云计算系统中存储资源的方法
CN113791906A (zh) * 2021-08-09 2021-12-14 戴西(上海)软件有限公司 基于gpu资源在人工智能与工程领域调度系统及优化算法
CN114911598A (zh) * 2022-05-17 2022-08-16 北京百度网讯科技有限公司 任务调度方法、装置、设备以及存储介质
CN115185697A (zh) * 2022-08-08 2022-10-14 杭州谐云科技有限公司 一种基于kubernetes的集群资源调度方法、系统、设备和存储介质
CN115202836A (zh) * 2022-06-15 2022-10-18 南京云玑信息科技有限公司 一种提高gpu利用效率的算力池化系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013097147A1 (zh) * 2011-12-29 2013-07-04 华为技术有限公司 云计算系统和管理云计算系统中存储资源的方法
CN113791906A (zh) * 2021-08-09 2021-12-14 戴西(上海)软件有限公司 基于gpu资源在人工智能与工程领域调度系统及优化算法
CN114911598A (zh) * 2022-05-17 2022-08-16 北京百度网讯科技有限公司 任务调度方法、装置、设备以及存储介质
CN115202836A (zh) * 2022-06-15 2022-10-18 南京云玑信息科技有限公司 一种提高gpu利用效率的算力池化系统
CN115185697A (zh) * 2022-08-08 2022-10-14 杭州谐云科技有限公司 一种基于kubernetes的集群资源调度方法、系统、设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
吕相文;袁家斌;张玉洁;: "云计算环境下多GPU资源调度机制研究", 小型微型计算机系统, no. 04 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115934624A (zh) * 2023-03-14 2023-04-07 珠海星云智联科技有限公司 多主机远程直接内存访问网络管理的方法、设备及介质

Similar Documents

Publication Publication Date Title
US10474504B2 (en) Distributed node intra-group task scheduling method and system
CN112559182B (zh) 资源分配方法、装置、设备及存储介质
CN113641457A (zh) 容器创建方法、装置、设备、介质及程序产品
JP2015146154A (ja) ジョブスケジューリング装置、ジョブスケジューリング方法、およびジョブスケジューリングプログラム
CN105491150A (zh) 基于时间序列的负载均衡处理方法及系统
CN112783659A (zh) 一种资源分配方法、装置、计算机设备及存储介质
CN115658311A (zh) 一种资源的调度方法、装置、设备和介质
CN114116173A (zh) 动态调整任务分配的方法、装置和系统
CN114579323A (zh) 一种线程处理方法、装置、设备及介质
CN113032093A (zh) 分布式计算方法、装置及平台
CN112860401A (zh) 任务调度方法、装置、电子设备和存储介质
US20230037293A1 (en) Systems and methods of hybrid centralized distributive scheduling on shared physical hosts
CN115952054A (zh) 一种仿真任务资源管理方法、装置、设备及介质
CN113032092B (zh) 分布式计算方法、装置及平台
CN114416357A (zh) 容器组的创建方法、装置、电子设备和介质
US20140047454A1 (en) Load balancing in an sap system
CN115098269A (zh) 一种资源分配方法、装置、电子设备及存储介质
CN114862223A (zh) 一种机器人调度方法、装置、设备及存储介质
CN111459651B (zh) 一种负载均衡方法、装置、存储介质及调度系统
CN114090234A (zh) 请求的调度方法、装置、电子设备和存储介质
CN114237902A (zh) 一种服务部署方法、装置、电子设备及计算机可读介质
CN114185661A (zh) 一种任务处理方法、装置、设备以及存储介质
CN116501499B (zh) 数据跑批方法、装置、电子设备及存储介质
CN115391042B (zh) 一种资源分配方法、装置、电子设备及存储介质
CN115934246A (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