CN111538586A - 集群gpu资源管理调度***、方法以及计算机可读存储介质 - Google Patents
集群gpu资源管理调度***、方法以及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111538586A CN111538586A CN202010078390.XA CN202010078390A CN111538586A CN 111538586 A CN111538586 A CN 111538586A CN 202010078390 A CN202010078390 A CN 202010078390A CN 111538586 A CN111538586 A CN 111538586A
- Authority
- CN
- China
- Prior art keywords
- gpu
- resource
- resources
- service
- video memory
- 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
Links
- 238000000034 method Methods 0.000 title claims description 54
- 238000012545 processing Methods 0.000 claims abstract description 33
- 238000012544 monitoring process Methods 0.000 claims abstract description 17
- 238000004891 communication Methods 0.000 claims abstract description 6
- 238000012549 training Methods 0.000 claims description 41
- 238000004364 calculation method Methods 0.000 claims description 24
- 230000003068 static effect Effects 0.000 claims description 22
- 230000006870 function Effects 0.000 claims description 20
- 230000008569 process Effects 0.000 claims description 20
- 230000001186 cumulative effect Effects 0.000 claims description 2
- 238000007726 management method Methods 0.000 description 37
- 230000007246 mechanism Effects 0.000 description 7
- 238000013473 artificial intelligence Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 239000012634 fragment Substances 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000008602 contraction Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 238000004148 unit process Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种集群GPU资源管理调度***,所述***包括主机和第一多个节点,所述主机用于接收第二多个Pod的资源请求以实现所述第二多个Pod所承载的服务,其包括:GPU资源描述模块,其配置成描述所述第一多个节点中的每一者的GPU资源和所述第二多个Pod中的每一者的资源需求,所述资源需求根据所述资源请求生成;以及GPU资源调度模块,其配置成根据所述描述将所述第二多个Pod的资源请求在所述第一多个节点上进行调度。所述第一多个节点中的每一者与所述主机通信,其包括:GPU监控模块,其配置成监控该节点的GPU资源并发送给所述GPU资源描述模块;以及GPU微处理模块,其配置成根据所述调度将该节点的GPU资源在所述第二多个Pod中进行分配。
Description
技术领域
本发明涉及计算资源共享与管理领域,具体而言,涉及集群GPU资源管理调度***、方法以及计算机可读存储介质。
背景技术
随着人脸识别、语音识别、自然语言处理、风险防控等前沿技术的研究和应用,越来越多的人工智能创新研究需要应用GPU进行大规模的数据处理与加速,具体的应用场景诸如手机POS、物联网边缘计算、区块链等。因此,对GPU资源进行有效的管理、实现GPU资源的按需分配以及提高GPU资源的使用效率具有十分重要的意义。
基于Kubernetes的云原生技术对人工智能计算所依赖的软硬件资源提供了管理与支持,成为目前主流的人工智能环境构建的最佳选择。在现有的基于Kubernetes的集群GPU资源管理技术中,大多通过设备直通的方式使用完整物理GPU资源对服务提供算力支持,尤其是对重负载大算力的人工智能任务的有效支持,例如VR、AR以及大规模的人工智能训练场景,但是对于依赖容器技术部署的轻负载的人工智能推理计算场景,对GPU算力要求较低,并不能有效使用单颗完整的GPU资源,同时空闲资源也无法被其他服务占用,造成GPU资源浪费、计算任务等待等的情况。
发明内容
有鉴于此,本发明旨在提供一种高效管理、调度集群GPU资源的机制,以期提高GPU资源的利用率,具体而言:
根据本发明的一方面,提供一种集群GPU资源管理调度***,所述***包括主机和第一多个节点,所述主机用于接收第二多个Pod的资源请求以实现所述第二多个Pod所承载的服务,其包括:GPU资源描述模块,其配置成描述所述第一多个节点中的每一者的GPU资源和所述第二多个Pod中的每一者的资源需求,所述资源需求根据所述资源请求生成;以及GPU资源调度模块,其配置成根据所述描述将所述第二多个Pod的资源请求在所述第一多个节点上进行调度。所述第一多个节点中的每一者与所述主机通信,其包括:GPU监控模块,其配置成监控该节点的GPU资源并发送给所述GPU资源描述模块;以及GPU微处理模块,其配置成根据所述调度将该节点的GPU资源在所述第二多个Pod中进行分配。
在本发明的一些实施例中,可选地,所述GPU资源描述模块描述的所述GPU资源包括:GPU型号、GPU的UUID、GPU显存资源和GPU计算资源。
在本发明的一些实施例中,可选地,所述GPU显存资源包括该节点的可用GPU显存资源,所述GPU计算资源包括对该节点的计算资源的累计请求值、该节点的计算资源的剩余值。
在本发明的一些实施例中,可选地,所述GPU资源调度模块根据所述第一多个节点中的每一者的GPU资源与所述第二多个Pod中的每一者的资源需求的匹配程度进行所述调度。
在本发明的一些实施例中,可选地,所述GPU资源调度模块根据所述第一多个节点中的每一者的GPU资源和所述第二多个Pod中的每一者的资源需求形成的匹配度函数确定所述匹配程度。
在本发明的一些实施例中,可选地,所述匹配度函数为其中,score表示所述匹配度, 表示第iPod的资源需求中的GPU显存资源需求,表示第j节点的GPU资源中的可用GPU显存资源;以及 表示第i Pod的资源需求中的计算资源需求,abilityj表示第j节点的计算能力值,表示第j节点的计算资源的剩余值。
在本发明的一些实施例中,可选地,若所述第二多个Pod中的第三Pod所承载的服务包括模型推理服务和模型训练服务,则所述第三Pod的资源需求中的GPU显存资源需求包括静态显存资源需求和动态显存资源需求;其中,所述静态显存资源需求用于所述模型推理服务,所述动态显存资源需求用于所述模型训练服务。
在本发明的一些实施例中,可选地,当所述第二多个Pod中的第四Pod所承载的服务包括模型推理服务和模型训练服务时,所述GPU微处理模块基于所述第四Pod的资源需求中的计算资源需求按如下分配用于各个服务的计算资源:若所述模型训练服务的所述计算资源需求为α,则所述GPU微处理模块分配给所述模型推理服务的计算资源不超过2*α;以及若所述模型推理服务的所述计算资源需求为β,则所述GPU微处理模块分配给所述模型推理服务的计算资源不超过1.5*β。
在本发明的一些实施例中,可选地,所述第四Pod的计算资源的剩余值为R_available;若2*α+1.5*β≥R available≥α+β,则先给所述模型推理服务和所述模型训练服务分别分配为α的计算资源、为β的计算资源,各个服务超出其计算资源需求的部分按照优先满足所述模型推理服务的方式分配计算资源。
在本发明的一些实施例中,可选地,所述第四Pod的计算资源的剩余值为R_available;若α+β>R_available,则按照优先满足所述模型推理服务的方式分配实际计算资源。
在本发明的一些实施例中,可选地,所述优先满足所述模型推理服务的方式是为所述模型推理服务分配更多的处理时隙。
在本发明的一些实施例中,可选地,所述GPU微处理模块还配置成根据所述调度将该节点的SM计算单元同时处理所述第二多个Pod中的多个Pod所承载的服务的线程。
根据本发明的另一方面,提供一种集群GPU资源管理调度方法,包括如下步骤:接收第二多个Pod的资源请求以实现所述第二多个Pod所承载的服务;监控第一多个节点中的每一者的GPU资源并上报;描述所述第一多个节点中的每一者的上报的GPU资源和所述第二多个Pod中的每一者的资源需求,所述资源需求根据所述资源请求生成;根据所述描述将所述第二多个Pod的资源请求在所述第一多个节点上进行调度;以及根据所述调度将所述第一多个节点中的一节点的GPU资源在所述第二多个Pod中进行分配。
在本发明的一些实施例中,可选地,所述GPU资源包括:GPU型号、GPU的UUID、GPU显存资源和GPU计算资源。
在本发明的一些实施例中,可选地,所述GPU显存资源包括该节点的可用GPU显存资源,所述GPU计算资源包括对该节点的计算资源的累计请求值、该节点的计算资源的剩余值。
在本发明的一些实施例中,可选地,进行调度具体包括:根据所述第一多个节点中的每一者的GPU资源与所述第二多个Pod中的每一者的资源需求的匹配程度进行调度。
在本发明的一些实施例中,可选地,进行调度具体包括:根据所述第一多个节点中的每一者的GPU资源和所述第二多个Pod中的每一者的资源需求形成的匹配度函数确定所述匹配程度。
在本发明的一些实施例中,可选地,所述匹配度函数为其中,score表示所述匹配度, 表示第iPod的资源需求中的GPU显存资源需求,表示第j节点的GPU资源中的可用GPU显存资源;以及 表示第i Pod的资源需求中的计算资源需求,abilityj表示第j节点的计算能力值,表示第j节点的计算资源的剩余值。
在本发明的一些实施例中,可选地,若所述第二多个Pod中的第三Pod所承载的服务包括模型推理服务和模型训练服务,则所述第三Pod的资源需求中的GPU显存资源需求包括静态显存资源需求和动态显存资源需求;其中,所述静态显存资源需求用于所述模型推理服务,所述动态显存资源需求用于所述模型训练服务。
在本发明的一些实施例中,可选地,当所述第二多个Pod中的第四Pod所承载的服务包括模型推理服务和模型训练服务时,基于所述第四Pod的资源需求中的计算资源需求按如下分配用于各个服务的计算资源:若所述模型训练服务的所述计算资源需求为α,则分配给所述模型推理服务的计算资源不超过2*α;以及若所述模型推理服务的所述计算资源需求为β,则分配给所述模型推理服务的计算资源不超过1.5*β。
在本发明的一些实施例中,可选地,所述第四Pod的计算资源的剩余值为R_available;若2*α+1.5*β≥R_available≥α+β,则先给所述模型推理服务和所述模型训练服务分别分配为α的计算资源、为β的计算资源,各个服务超出其计算资源需求的部分按照优先满足所述模型推理服务的方式分配计算资源。
在本发明的一些实施例中,可选地,所述第四Pod的计算资源的剩余值为R_available;若α+β>R_available,则按照优先满足所述模型推理服务的方式分配实际计算资源。
在本发明的一些实施例中,可选地,所述优先满足所述模型推理服务的方式是为所述模型推理服务分配更多的处理时隙。
在本发明的一些实施例中,可选地,所述方法还包括:根据所述调度将该节点的SM计算单元同时处理所述第二多个Pod中的多个Pod所承载的服务的线程。
根据本发明的另一方面,提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,其特征在于,当所述指令由处理器执行时,使得所述处理器执行如上文所述的任意一种集群GPU资源管理调度方法。
附图说明
从结合附图的以下详细说明中,将会使本发明的上述和其他目的及优点更加完整清楚,其中,相同或相似的要素采用相同的标号表示。
图1示出了根据本发明的一个实施例的集群GPU资源管理调度***。
图2示出了根据本发明的一个实施例的集群GPU资源管理调度方法。
图3示出了根据本发明的一个实施例的集群GPU资源管理调度机制。
图4示出了根据本发明的一个实施例的集群GPU资源管理调度机制。
具体实施方式
出于简洁和说明性目的,本文主要参考其示范实施例来描述本发明的原理。但是,本领域技术人员将容易地认识到相同的原理可等效地应用于所有类型的集群GPU资源管理调度***、方法以及计算机可读存储介质,并且可以在其中实施这些相同或相似的原理,任何此类变化不背离本专利申请的真实精神和范围。
现有的基于Kubernetes的集群GPU资源管理技术中通过NVIDIA提供的GPU管理插件对GPU资源进行管理、与Kubelet通信、对GPU型号和资源等进行上报、用于容器的创建和调度。现有技术中利用Kubernetes的调度器扩展机制在全局调度器过滤和绑定的时候判断节点上单个GPU卡是否能够提供足够的GPU资源,并且通过调度器将服务调度到某GPU节点上,将整块GPU完全交给单个服务使用。
在现有的基于Kubernetes的GPU资源管理技术中,大多将整个GPU在一个时间切片中调度给某一个具体的任务,而该任务很可能无法充分利用一个完整的GPU资源(包括GPU显存资源和计算资源),同时,其他服务也无法利用空闲的GPU资源,从而造成计算任务的等待。此外,现有技术也无法实现GPU资源的动态伸缩和按需分配,造成资源超出请求值时服务被终止的情况。
本发明提出了将在下文详细描述的集群GPU资源管理调度***、方法以及计算机可读存储介质。
根据本发明的一方面,提供一种集群GPU资源管理调度***,图1示出了根据本发明的一个实施例的集群GPU资源管理调度***。如图所示,集群GPU资源管理调度***10包括主机(Master)和第一多个节点:节点1、节点2、……、节点N。需要指出的是,本文中的“第一多个”以及下文将提及的“第二多个”之类的表述中的“第一”、“第二”仅在表明后缀的主体的区别,“第一多个”、“第二多个”都表示多个,并且在可行的情况下“第一多个”和“第二多个”在数量上可以是相等的。
进一步参见图1,主机用于接收第二多个Pod的资源请求以利用请求到的资源实现第二多个Pod所承载的服务。主机包括GPU资源描述模块1002和GPU资源调度模块1004。尽管图中以两个物理独立形式的模块示出了GPU资源描述模块1002和GPU资源调度模块1004,但是在本发明的一些示例中,GPU资源描述模块1002和GPU资源调度模块1004还可能是利用主机的软硬件资源实现的两个功能性主体。
术语“Pod”是Kubernetes***的基础单元,是由用户创建或部署的最小组件,也是Kubernetes***上运行容器化应用的资源对象。
GPU资源描述模块1002被配置成描述第一多个节点中的每一者的GPU资源和第二多个Pod中的每一者的资源需求,所述资源需求可以根据资源请求生成。在本发明的一些示例中,GPU资源描述模块1002可以针对GPU资源管理、调度与共享的资源内容提出描述GPU资源的自定义资源类型,该自定义资源可以在某种程度上描述GPU资源。如下文将进一步描述的,本发明使得请求了细分GPU资源的Pod调度到相匹配的节点上并使用相应的GPU资源。在本发明的一些示例中,GPU资源描述模块1002描述的GPU资源包括GPU型号、GPU的UUID、GPU显存资源和GPU计算资源中的一者或多者。如下文将详细描述的,若描述了GPU的UUID,则可以将当前Pod绑定到集群中的某一块具体的GPU。若描述了GPU型号,则该描述需要与集群对GPU型号的描述规则一致,以便实现二者的对应,将当前Pod绑定到集群中的某一型号的GPU。GPU显存资源的描述可以支持GB和MB两种单位。GPU计算资源的描述可以支持百分比的描述方式,该描述方式可以用于表示占用GPU为百分之几的比例的计算资源。
在本发明的一些示例中,GPU资源描述模块1002可以描述第二多个Pod中的每一者的资源需求。对于每个Pod而言,资源需求描述了Pod对GPU资源请求值,这个值可以在某一任务请求GPU资源创建Pod时写入,特别地,可以在Pod中写入包括描述任务类型的字段,任务类型诸如可以分为将在下文中详细描述的模型推理服务(Service)和模型训练服务(Training)。
在本发明的一些示例中,GPU资源描述模块1002可以描述第一多个节点中的每一者的GPU资源。对于每个节点而言,可以描述当前节点的GPU资源情况。特别地,可以描述GPU计算资源所包括的两个数据中的一者或多者:该节点的计算资源的累计请求值、该节点的计算资源的剩余值。计算资源的累计请求值为当前节点所有任务请求的计算资源之和,计算资源的剩余值为当前可被分配的资源。此外,可以根据GPU型号对节点中的GPU计算能力(Ability)进行标定。例如,可以将集群中能力最高的GPU的计算能力值标记为1,其余GPU的计算能力值则可以根据其具体计算能力被标定为1/n,n为正整数。此外,对于有多块GPU的节点,可以利用资源描述模块1002描述每一个GPU的资源,资源内容可以由节点Kubelet调用GPU监控模块(例如,1102)监控节点的GPU的使用情况获得,并可以实时更新写入到GPU资源描述模块1002中。此外,作为替代方案,上述描述信息可以作为标记加入Kubernetes资源的Annotation中。
作为以上方案的替代方案,还可以根据GPU型号对节点中的GPU计算能力(Ability)进行标定时按照不同GPU的计算能力等级进行划分,例如可以划分为1-5共5个等级。
GPU资源调度模块1004被配置成根据描述将第二多个Pod的资源请求在第一多个节点上进行调度,值得一提的是,本发明中的“第二多个Pod的资源请求”包括了仅一个Pod的资源请求这一情形。在GPU资源调度模块1004中可以对GPU资源描述模块1002所描述的一个或多个Pod进行调度,使其能够被调度到可以提供相应GPU资源的集群的节点上并进行绑定。具体而言,在本发明的一些示例中,GPU资源调度模块1004可以是基于kubernetes中主节点调度组件的可扩展性以及集群GPU资源的调度与共享的需求的,GPU资源调度模块1004可用于负责分配将GPU资源描述模块1002所描述的Pod调度到能够提供相应GPU资源的集群内的节点上。
在本发明的一些示例中,如图1所示,第一多个节点中的节点1、节点2、……、节点N中的每一者与主机通信,每个节点包括GPU监控模块(1102、1202、……、1N02,以下以1102为例)和GPU微处理模块(1104、1204、……、1N04,以下以1104为例)。GPU监控模块1102被配置成监控该节点的GPU资源并发送给GPU资源描述模块1002,GPU微处理模块1104被配置成根据调度将该节点的GPU资源在第二多个Pod中进行分配。
在本发明的一些示例中,参见图1和图3,GPU监控模块1102主要负责与kubelet模块进行通信,GPU监控模块1102可以时刻监听当前节点的总体GPU资源的现状,并写入到GPU资源描述模块1002中,还可以上报kubelet模块供GPU资源调度模块1004进行调用。GPU监控模块1102还可以监听容器请求的GPU共享资源,返回容器创建需要的配置信息以用于创建容器,并向GPU微处理模块1104注册。
进一步参见图3,其中详细示出了GPU监控模块1102与Kubelet的通信机制,GPU监控模块1102向Kubelet注册,Kubelet调用GPU监控模块1102的ListAndWatch方法监控当前GPU的资源情况(包括GPU型号、可用GPU显存资源以及GPU利用率)并写入到GPU资源描述模块1002中。当GPU资源描述模块1002所描述的容器被调度到当前节点时,由Kubelet调用GPU监控模块1102的Allocate方法,返回容器的配置信息,用于创建容器。
在本发明的一些实施例中,GPU显存资源包括该节点的可用GPU显存资源,GPU计算资源包括对该节点的计算资源的累计请求值、该节点的计算资源的剩余值。
在本发明的一些实施例中,GPU资源调度模块1004根据第一多个节点中的每一者的GPU资源与第二多个Pod中的每一者的资源需求的匹配程度进行调度。例如,可以根据GPU的UUID、GPU型号等对GPU资源的描述以及某个Pod资源需求中对GPU的UUID、GPU型号等的需求来匹配二者,并且比较多种匹配方式的匹配程度,以便进行调度。具体地,可以通过查询GPU资源描述模块1002中Pod的描述GPU请求资源内容的字段,并且查询节点上报的相应字段以进行匹配,过滤选择节点上的GPU资源,从而找到合适的节点进行调度并绑定。
在本发明的一些实施例中,GPU资源调度模块1004根据第一多个节点中的每一者的GPU资源和第二多个Pod中的每一者的资源需求形成的匹配度函数确定匹配程度。匹配度函数可以根据GPU资源、资源需求的各种描述参数生成,本发明在此不限制函数的具体形态,以其能够表征GPU资源与资源需求的契合程度为准。
在本发明的一些实施例中,匹配度函数可以为其中,score表示匹配度,表示第iPod的资源需求中的GPU显存资源需求,表示第j节点的GPU资源中的可用GPU显存资源;以及 表示第iPod的资源需求中的计算资源需求,abilityj表示第j节点的计算能力值,表示第j节点的计算资源的剩余值。
作为替代地,在匹配的过程中,可以根据diff_memij进行第一次匹配过滤(例如过滤掉差值在某个阈值之上的节点),将符合要求的节点根据diffresource ij进行第二次匹配过滤。
在本发明的一些示例中,首先,通过kubernetes原生调度方法监听kube-apiserver,对还未分配节点的Pod进行第一次调度,此时可以仅参考与GPU无关的信息进行节点的过滤和绑定,并将结果反馈给apiserver。其次,由GPU资源调度模块1004监听kube-apiserver,查询调用了GPU资源描述模块1002的还未进行分配的Pod以及GPU资源描述模块1002所描述的节点列表(NodeList)。最后,查询Pod中的GPU资源描述模块1002中描述GPU请求资源内容的字段与节点列表(NodeList)中每一个节点在GPU资源描述模块1002中的相应字段,基于上文描述的匹配度函数来计算Pod与每一个节点的GPU之间的匹配程度。上文描述的匹配度函数根据每个GPU的计算能力将Pod的请求计算资源值进行转换,转换后的值越接近当前GPU的剩余值,匹配程度越高;而不是剩余资源越多匹配度越高,这样做的好处是可以尽可能地减少资源碎片的产生。
在本发明的一些实施例中,若第二多个Pod中的第三Pod所承载的服务包括模型推理服务和模型训练服务,则第三Pod的资源需求中的GPU显存资源需求包括静态显存资源需求和动态显存资源需求;其中,静态显存资源需求用于模型推理服务,动态显存资源需求用于模型训练服务。
在本发明的一些示例中,GPU微处理模块1104包括两部分:GPU微处理服务器、GPU微处理客户端。GPU微处理模块1104可以用于负责容器级别的GPU显存资源和计算资源的共享和管理,在保证不同容器任务质量的前提下,使多个容器共享当前节点GPU资源,并可以实现容器中的GPU显存和计算资源的动态伸缩。一个GPU对应一个GPU微处理模块1104。GPU微处理服务器与GPU微处理客户端通信,GPU微处理服务器负责监控当前GPU上容器中的资源使用情况、容器生命周期管理以及空闲GPU显存资源及计算资源的重分配。GPU微处理客户端负责监控当前容器中的GPU资源使用情况、负责容器生命周期管理,具体如下。
GPU微处理模块的服务器与客户端的通信。第一个容器创建请求发起时,该容器作为服务器端,其他容器作为客户端向服务器端注册,只允许同时出现一个服务器端,服务器端创建文件用于存放客户端与服务器的通信信息,该文件路径返回作为其他容器创建时的环境变量。
容器GPU显存资源的共享隔离与动态伸缩。在kubelet发出创建容器的请求时,该请求被GPU微处理模块监听。客户端读取容器的显存请求值,上报给服务器端,由服务器端根据请求值给所有的容器分配GPU显存资源,每个容器请求的显存资源拥有独立的命名空间,以保证不同用户之间的显存资源隔离。
模型服务分为模型训练和模型推理服务两类,服务均基于模型展开,模型参数始终占用较大的完整的GPU显存资源,并且该部分资源不会随着模型训练迭代过程以及模型推理调用的次数变化而变化,而模型训练迭代和推理调用过程中会使用或产生较多的数据,例如训练的数据集或层间输出的特征图数据等,这部分数据占用了部分显存资源并且是动态变化的。
在本发明的一些示例中,将GPU的显存资源划分静态显存资源和动态显存资源两部分。静态显存资源负责容器服务的基础信息存储,如模型参数的存储;动态显存资源负责容器服务过程中使用或产生的动态数据存储。静态显存资源在服务的整个过程中一直存在,长期占用GPU显存的一部分,随着服务的产生而产生,随着服务的完全结束而释放。而动态显存资源在服务的中间过程动态产生、调度和释放。为了更有效的管理GPU静态显存资源和动态显存资源,本发明的一些示例提出了基于动态块划分的GPU显存资源管理策略。
首先根据服务请求的显存资源划分静态显存资源R,所有服务请求的静态显存资源之和小于当前GPU拥有的显存资源。当服务运行过程中,请求大于R的显存资源,即请求大小为E的动态显存资源时:
1)当GPU中剩余显存资源Mem_valid大于E的显存资源时,划分新的大小为E的显存块B用于存放临时资源,当任务结束时,释放显存块B的资源,此时剩余显存资源大小为Mem_valid-E;
2)当GPU中剩余显存资源Mem_valid不足大小为E的显存资源时,遍历查找已有显存块的剩余资源,将任务放入(B-E)最小的显存块中,减少碎片显存资源的产生;
3)当GPU中剩余显存资源Mem_valid不足大小为E的显存资源时,且遍历查找已有显存块的剩余资源均不符合要求时,查找总容量符合要求的显存块B,等待任务结束,回收并占用显存资源,当等待时间过长时,退出服务并进行再次调度。
作为上述方案的替代方案,当容器实际运行过程中显存资源超出请求值时,将超出部分上报给客户端,根据当前任务的重要程度进行处理,分以下几种情况:
1)当前GPU存在多余显存资源Mem_valid时:读取Pod中的任务优先级字段,根据重要性对申请更多显存资源的容器进行排序,按照重要性遍历容器。
当剩余显存大于等于容器多余请求的显存资源时,将该资源分配给容器,并更新显存剩余资源Mem_valid值。
当剩余显存小于容器多余请求的显存资源时,终止容器,退出并退回资源池,重新对容器进行调度。
2)当前GPU不存在多余显存资源Mem_valid时:终止容器,退出并退回资源池,重新对容器进行调度。
在本发明的一些实施例中,当第二多个Pod中的第四Pod所承载的服务包括模型推理服务和模型训练服务时,GPU微处理模块1104基于第四Pod的资源需求中的计算资源需求按如下分配用于各个服务的计算资源:若模型训练服务的计算资源需求为α,则GPU微处理模块1104分配给模型推理服务的计算资源不超过2*α;以及若模型推理服务的计算资源需求为β,则GPU微处理模块1104分配给模型推理服务的计算资源不超过1.5*β。
在本发明的一些实施例中,第四Pod的计算资源的剩余值为R_available;若2*α+1.5*β≥R_available≥α+β,则先给模型推理服务和模型训练服务分别分配为α的计算资源、为β的计算资源,各个服务超出其计算资源需求的部分按照优先满足模型推理服务的方式分配计算资源。
在本发明的一些实施例中,第四Pod的计算资源的剩余值为R_available;若α+β>R_available,则按照优先满足模型推理服务的方式分配实际计算资源。
在本发明的一些实施例中,优先满足模型推理服务的方式是为模型推理服务分配更多的处理时隙。
在本发明的一些实施例中,GPU微处理模块1104还配置成根据调度将该节点的SM(Streaming Multiprocessor)计算单元同时处理第二多个Pod中的多个Pod所承载的服务的线程。图4示出了根据本发明的一个实施例的集群GPU资源管理调度机制。为了减少多任务提交GPU作业时计算资源调度带来的延时和减少不同任务Block计算单元的等待时间,本申请的一些示例提出通过服务质量驱动的GPU资源序列化设计。该设计基于的原则是,使得一个SM计算单元在单位时间尽可能处理更多的线程,该设计在服务器端计算资源调度过程中应用。假设GPU硬件架构含有N个SM计算单元,每个SM可容纳M个Block同时计算。
在虚拟网格(Grid)的设计及Block的调度符合以下规则:虚拟网格的尺寸大小设计为N*M,每个Block信息被标记为(bx,by,bz,bw)。其中,bx表示当前Block被SMx计算,bx取值为0-M;by表示该Block为当前SMx中的第y个活跃Block,取值为0-N;bz表示当前Block是否正在被计算,取值为0或1。其中,0表示当前SMx空闲且可以被占用,1表示当前SMx正在被占用;bw表示标记当前Block所属的任务序号。由服务器调度任务提交待计算的Block到网格上时,可以按照从左至右、从上至下的原则。
当前容器提交A任务,任务包含T个A任务的Block待计算,则从虚拟网格的左上角开始逐行遍历,若当前行存在空闲计算资源,即bz为0时,则把Block填入网格中,并由相应SM开始计算。在此过程中,持续监听该进程的计算资源占用量,当前任务所占用计算资源小于计算资源限制值时,继续遍历,直到任务执行完毕。
根据本发明的另一方面,提供一种集群GPU资源管理调度方法。需要指出的是,出于简洁的考虑,下文中没有就上文记载的集群GPU资源管理调度相同描述作重复说明,但是本领域技术人员应当领会,上文记载的详细描述是同样可以适用于下文的集群GPU资源管理调度方法的,具体而言,***10的各个模块所执行的方法、所具有的功能也同样可以无障碍地迁移到下文的集群GPU资源管理调度方法上。
参考图2,其中示出的方法包括如下步骤:在步骤202中接收第二多个Pod的资源请求以实现第二多个Pod所承载的服务;在步骤204中监控第一多个节点中的每一者的GPU资源并上报;在步骤206中描述第一多个节点中的每一者的上报的GPU资源和第二多个Pod中的每一者的资源需求,资源需求可以根据资源请求生成;在步骤208中根据描述将第二多个Pod的资源请求在第一多个节点上进行调度;以及在步骤210中根据调度将第一多个节点中的一节点的GPU资源在第二多个Pod中进行分配。需要指出的是,本文中的“第一多个”以及“第二多个”之类的表述中的“第一”、“第二”仅在表明后缀的主体的区别,“第一多个”、“第二多个”都表示多个,并且在可行的情况下“第一多个”和“第二多个”在数量上可以是相等的。
在本发明的一些示例中,可以针对GPU资源管理、调度与共享的资源内容提出描述GPU资源的自定义资源类型,该自定义资源可以在某种程度上描述GPU资源。在本发明的一些实施例中,GPU资源包括:GPU型号、GPU的UUID、GPU显存资源和GPU计算资源。在本发明的一些示例中,若描述了GPU的UUID,则可以将当前Pod绑定到集群中的某一块具体的GPU。若描述了GPU型号,则该描述需要与集群对GPU型号的描述规则一致,以便实现二者的对应,将当前Pod绑定到集群中的某一型号的GPU。GPU显存资源的描述可以支持GB和MB两种单位。GPU计算资源的描述可以支持百分比的描述方式,该描述方式可以用于表示占用GPU为百分之几的比例的计算资源。
在本发明的一些实施例中,GPU显存资源包括该节点的可用GPU显存资源,GPU计算资源包括对该节点的计算资源的累计请求值、该节点的计算资源的剩余值中的一者或多者。计算资源的累计请求值为当前节点所有任务请求的计算资源之和,计算资源的剩余值为当前可被分配的资源。此外,可以根据GPU型号对节点中的GPU计算能力(Ability)进行标定。例如,可以将集群中能力最高的GPU的计算能力值标记为1,其余GPU的计算能力值则可以根据其具体计算能力被标定为1/n,n为正整数。此外,对于有多块GPU的节点,可以描述每一个GPU的资源,资源内容可以由节点Kubelet监控节点的GPU的使用情况获得,并可以实时上报。此外,作为替代方案,上述描述信息可以作为标记加入Kubernetes资源的Annotation中。
在本发明的一些实施例中,步骤208具体包括:根据第一多个节点中的每一者的GPU资源与第二多个Pod中的每一者的资源需求的匹配程度进行调度。例如,可以根据GPU的UUID、GPU型号等对GPU资源的描述以及某个Pod资源需求中对GPU的UUID、GPU型号等的需求来匹配二者,并且比较多种匹配方式的匹配程度,以便进行调度。具体地,可以通过查询Pod的描述GPU请求资源内容的字段,并且查询节点上报的相应字段以进行匹配,过滤选择节点上的GPU资源,从而找到合适的节点进行调度并绑定。
在本发明的一些实施例中,步骤208进一步可以包括:根据第一多个节点中的每一者的GPU资源和第二多个Pod中的每一者的资源需求形成的匹配度函数确定匹配程度。匹配度函数可以根据GPU资源、资源需求的各种描述参数生成,本发明在此不限制函数的具体形态,以其能够表征GPU资源与资源需求的契合程度为准。
在本发明的一些实施例中,匹配度函数为其中,score表示匹配度,表示第iPod的资源需求中的GPU显存资源需求,表示第j节点的GPU资源中的可用GPU显存资源;以及 表示第iPod的资源需求中的计算资源需求,abilityj表示第j节点的计算能力值,表示第j节点的计算资源的剩余值。
在本发明的一些实施例中,若第二多个Pod中的第三Pod所承载的服务包括模型推理服务和模型训练服务,则第三Pod的资源需求中的GPU显存资源需求包括静态显存资源需求和动态显存资源需求;其中,静态显存资源需求用于模型推理服务,动态显存资源需求用于模型训练服务。模型服务分为模型训练和模型推理服务两类,服务均基于模型展开,模型参数始终占用较大的完整的GPU显存资源,并且该部分资源不会随着模型训练达代过程以及模型推理调用的次数变化而变化,而模型训练迭代和推理调用过程中会使用或产生较多的数据,例如训练的数据集或层间输出的特征图数据等,这部分数据占用了部分显存资源并且是动态变化的。
在本发明的一些示例中,将GPU的显存资源划分静态显存资源和动态显存资源两部分。静态显存资源负责容器服务的基础信息存储,如模型参数的存储;动态显存资源负责容器服务过程中使用或产生的动态数据存储。静态显存资源在服务的整个过程中一直存在,长期占用GPU显存的一部分,随着服务的产生而产生,随着服务的完全结束而释放。而动态显存资源在服务的中间过程动态产生、调度和释放。为了更有效的管理GPU静态显存资源和动态显存资源,本发明的一些示例提出了基于动态块划分的GPU显存资源管理策略。
在本发明的一些实施例中,当第二多个Pod中的第四Pod所承载的服务包括模型推理服务和模型训练服务时,可以基于第四Pod的资源需求中的计算资源需求按如下分配用于各个服务的计算资源:若模型训练服务的计算资源需求为α,则分配给模型推理服务的计算资源不超过2*α;以及若模型推理服务的计算资源需求为β,则分配给模型推理服务的计算资源不超过1.5*β。
在本发明的一些实施例中,第四Pod的计算资源的剩余值为R_available;若2*α+1.5*β≥R_available≥α+β,则先给模型推理服务和模型训练服务分别分配为α的计算资源、为β的计算资源,各个服务超出其计算资源需求的部分按照优先满足模型推理服务的方式分配计算资源。
在本发明的一些实施例中,第四Pod的计算资源的剩余值为R_available;若α+β>R_available,则按照优先满足模型推理服务的方式分配实际计算资源。
在本发明的一些实施例中,优先满足模型推理服务的方式是为模型推理服务分配更多的处理时隙。
在本发明的一些实施例中,可以根据调度将该节点的SM计算单元同时处理第二多个Pod中的多个Pod所承载的服务的线程。图4示出了根据本发明的一个实施例的集群GPU资源管理调度机制。为了减少多任务提交GPU作业时计算资源调度带来的延时和减少不同任务Block计算单元的等待时间,本申请的一些示例提出通过服务质量驱动的GPU资源序列化设计。该设计基于的原则是,使得一个SM计算单元在单位时间尽可能处理更多的线程,该设计在服务器端计算资源调度过程中应用。假设GPU硬件架构含有N个SM(StreamingMultiprocessor)计算单元,每个SM可容纳M个Block同时计算。
在本发明的一些实施例中,方法还包括:根据调度将该节点的SM计算单元同时处理第二多个Pod中的多个Pod所承载的服务的线程。
根据本发明的另一方面,还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,其特征在于,当所述指令由处理器执行时,使得所述处理器执行如上文所述的集群GPU资源管理调度方法。本发明中所称的计算机可读介质包括各种类型的计算机存储介质,可以是通用或专用计算机能够存取的任何可用介质。举例而言,计算机可读介质可以包括RAM、ROM、E2PROM、CD-ROM或其他光盘存储器、磁盘存储器或其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码单元并能够由通用或特定用途计算机、或者通用或特定用途处理器进行存取的任何其他临时性或者非临时性介质。如本文所使用的,盘(disk)和碟(disc)包括紧致碟(CD)、激光碟、光碟、数字多用途光碟(DVD)、软盘和蓝光碟,其中盘通常磁性地复制数据,而碟则用激光来光学地复制数据。上述的组合也应当包括在计算机可读介质的保护范围之内。
通过上文的记载可知,在本发明一些方面,为了提高GPU资源的使用效率,实现GPU资源的按需分配与服务的快速弹性部署,提出了集群GPU资源的管理调度与共享方案,对集群具体型号GPU资源进行粗粒度的管理调度以及细粒度的划分与共享,以及显存和计算资源的动态伸缩。
在本发明一些方面,基于云原生调度组件的扩展能力,对集群不同型号的GPU资源进行监控,包括GPU健康状况,GPU运算能力和资源使用情况等,并调度容器服务到符合需求的某型号GPU所在节点上,满足不同服务对特定型号GPU资源的请求。
在本发明一些方面,基于NVIDIA对GPU计算资源和显存资源的管理,提出细粒度的GPU共享方案,提供容器级别的GPU显存资源和计算资源的共享和管理功能,在保证不同容器任务质量的前提下,使多个容器多个服务可以共享当前节点GPU的显存和计算资源,同时对不同任务使用的GPU计算资源按百分比进行分配和限制,对显存资源进行分配和隔离,以保证不同任务资源的独立性与安全性。
在本发明一些方面,当服务在实际运行过程中,对GPU资源请求发生变化时,这种细粒度的GPU资源管理方法可以有效支持容器服务的GPU显存和计算资源的动态伸缩。当容器任务实际运行过程中的显存和计算资源少于请求值时,可实现空闲碎片资源的回收与整合,当超出请求值时,按任务优先级对任务请求资源进行挂起或资源再分配,以保证任务的持续有效进行。
需要说明的是,附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或者在一个或多个硬件模块或集成电路中实现这些功能实体,或者在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
以上例子主要说明了本发明的集群GPU资源管理调度***、方法以及计算机可读存储介质。尽管只对其中一些本发明的实施方式进行了描述,但是本领域普通技术人员应当了解,本发明可以在不偏离其主旨与范围内以许多其他的形式实施。因此,所展示的例子与实施方式被视为示意性的而非限制性的,在不脱离如所附各权利要求所定义的本发明精神及范围的情况下,本发明可能涵盖各种的修改与替换。
Claims (25)
1.一种集群GPU资源管理调度***,所述***包括主机和第一多个节点,其特征在于:
所述主机用于接收第二多个Pod的资源请求以实现所述第二多个Pod所承载的服务,其包括:
GPU资源描述模块,其配置成描述所述第一多个节点中的每一者的GPU资源和所述第二多个Pod中的每一者的资源需求,所述资源需求根据所述资源请求生成;以及
GPU资源调度模块,其配置成根据所述描述将所述第二多个Pod的资源请求在所述第一多个节点上进行调度;
所述第一多个节点中的每一者与所述主机通信,其包括:
GPU监控模块,其配置成监控该节点的GPU资源并发送给所述GPU资源描述模块;以及
GPU微处理模块,其配置成根据所述调度将该节点的GPU资源在所述第二多个Pod中进行分配。
2.根据权利要求1所述的***,其特征在于,所述GPU资源描述模块描述的所述GPU资源包括:GPU型号、GPU的UUID、GPU显存资源和GPU计算资源。
3.根据权利要求2所述的***,其特征在于,所述GPU显存资源包括该节点的可用GPU显存资源,所述GPU计算资源包括对该节点的计算资源的累计请求值、该节点的计算资源的剩余值。
4.根据权利要求3所述的***,其特征在于,所述GPU资源调度模块根据所述第一多个节点中的每一者的GPU资源与所述第二多个Pod中的每一者的资源需求的匹配程度进行所述调度。
5.根据权利要求4所述的***,其特征在于,所述GPU资源调度模块根据所述第一多个节点中的每一者的GPU资源和所述第二多个Pod中的每一者的资源需求形成的匹配度函数确定所述匹配程度。
7.根据权利要求1所述的***,其特征在于,若所述第二多个Pod中的第三Pod所承载的服务包括模型推理服务和模型训练服务,则所述第三Pod的资源需求中的GPU显存资源需求包括静态显存资源需求和动态显存资源需求;其中,
所述静态显存资源需求用于所述模型推理服务,所述动态显存资源需求用于所述模型训练服务。
8.根据权利要求1所述的***,其特征在于,当所述第二多个Pod中的第四Pod所承载的服务包括模型推理服务和模型训练服务时,所述GPU微处理模块基于所述第四Pod的资源需求中的计算资源需求按如下分配用于各个服务的计算资源:
若所述模型训练服务的所述计算资源需求为α,则所述GPU微处理模块分配给所述模型推理服务的计算资源不超过2*α;以及
若所述模型推理服务的所述计算资源需求为β,则所述GPU微处理模块分配给所述模型推理服务的计算资源不超过1.5*β。
9.根据权利要求8所述的***,其特征在于,所述第四Pod的计算资源的剩余值为R_available;若2*α+1.5*β≥R_available≥α+β,则先给所述模型推理服务和所述模型训练服务分别分配为α的计算资源、为β的计算资源,各个服务超出其计算资源需求的部分按照优先满足所述模型推理服务的方式分配计算资源。
10.根据权利要求8所述的***,其特征在于,所述第四Pod的计算资源的剩余值为R_available;若α+β>R_available,则按照优先满足所述模型推理服务的方式分配实际计算资源。
11.根据权利要求9或10所述的***,其特征在于,所述优先满足所述模型推理服务的方式是为所述模型推理服务分配更多的处理时隙。
12.根据权利要求1所述的***,其特征在于,所述GPU微处理模块还配置成根据所述调度将该节点的SM计算单元同时处理所述第二多个Pod中的多个Pod所承载的服务的线程。
13.一种集群GPU资源管理调度方法,其特征在于,所述方法包括:
接收第二多个Pod的资源请求以实现所述第二多个Pod所承载的服务;
监控第一多个节点中的每一者的GPU资源并上报;
描述所述第一多个节点中的每一者的上报的GPU资源和所述第二多个Pod中的每一者的资源需求,所述资源需求根据所述资源请求生成;
根据所述描述将所述第二多个Pod的资源请求在所述第一多个节点上进行调度;以及
根据所述调度将所述第一多个节点中的一节点的GPU资源在所述第二多个Pod中进行分配。
14.根据权利要求13所述的方法,其特征在于,所述GPU资源包括:GPU型号、GPU的UUID、GPU显存资源和GPU计算资源。
15.根据权利要求14所述的方法,其特征在于,所述GPU显存资源包括该节点的可用GPU显存资源,所述GPU计算资源包括对该节点的计算资源的累计请求值、该节点的计算资源的剩余值。
16.根据权利要求15所述的方法,其特征在于,进行调度具体包括:根据所述第一多个节点中的每一者的GPU资源与所述第二多个Pod中的每一者的资源需求的匹配程度进行调度。
17.根据权利要求16所述的方法,其特征在于,进行调度具体包括:根据所述第一多个节点中的每一者的GPU资源和所述第二多个Pod中的每一者的资源需求形成的匹配度函数确定所述匹配程度。
19.根据权利要求13所述的方法,其特征在于,若所述第二多个Pod中的第三Pod所承载的服务包括模型推理服务和模型训练服务,则所述第三Pod的资源需求中的GPU显存资源需求包括静态显存资源需求和动态显存资源需求;其中,
所述静态显存资源需求用于所述模型推理服务,所述动态显存资源需求用于所述模型训练服务。
20.根据权利要求13所述的方法,其特征在于,当所述第二多个Pod中的第四Pod所承载的服务包括模型推理服务和模型训练服务时,基于所述第四Pod的资源需求中的计算资源需求按如下分配用于各个服务的计算资源:
若所述模型训练服务的所述计算资源需求为α,则分配给所述模型推理服务的计算资源不超过2*α;以及
若所述模型推理服务的所述计算资源需求为β,则分配给所述模型推理服务的计算资源不超过1.5*β。
21.根据权利要求20所述的方法,其特征在于,所述第四Pod的计算资源的剩余值为R_available;若2*α+1.5*β≥R_available≥α+β,则先给所述模型推理服务和所述模型训练服务分别分配为α的计算资源、为β的计算资源,各个服务超出其计算资源需求的部分按照优先满足所述模型推理服务的方式分配计算资源。
22.根据权利要求20所述的方法,其特征在于,所述第四Pod的计算资源的剩余值为R_available;若α+β>R_available,则按照优先满足所述模型推理服务的方式分配实际计算资源。
23.根据权利要求21或22所述的方法,其特征在于,所述优先满足所述模型推理服务的方式是为所述模型推理服务分配更多的处理时隙。
24.根据权利要求13所述的方法,其特征在于,所述方法还包括:根据所述调度将该节点的SM计算单元同时处理所述第二多个Pod中的多个Pod所承载的服务的线程。
25.一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,其特征在于,当所述指令由处理器执行时,使得所述处理器执行如权利要求13-24中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010078390.XA CN111538586A (zh) | 2020-01-23 | 2020-01-23 | 集群gpu资源管理调度***、方法以及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010078390.XA CN111538586A (zh) | 2020-01-23 | 2020-01-23 | 集群gpu资源管理调度***、方法以及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111538586A true CN111538586A (zh) | 2020-08-14 |
Family
ID=71974952
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010078390.XA Pending CN111538586A (zh) | 2020-01-23 | 2020-01-23 | 集群gpu资源管理调度***、方法以及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111538586A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112148448A (zh) * | 2020-09-22 | 2020-12-29 | 北京字节跳动网络技术有限公司 | 资源分配方法、装置、设备和计算机可读介质 |
CN112446816A (zh) * | 2021-02-01 | 2021-03-05 | 成都点泽智能科技有限公司 | 显存动态数据存储方法、装置及服务器 |
CN112860440A (zh) * | 2021-03-12 | 2021-05-28 | 云知声智能科技股份有限公司 | 分配集群计算资源的方法、装置、电子设备和存储介质 |
CN112925611A (zh) * | 2021-03-11 | 2021-06-08 | 南京邮电大学 | 一种基于共享式gpu的分布式容器调度方法及其*** |
CN113568758A (zh) * | 2021-09-23 | 2021-10-29 | 深圳市信润富联数字科技有限公司 | Gpu资源池化方法、***、设备及计算机可读存储介质 |
CN113641457A (zh) * | 2021-08-20 | 2021-11-12 | 北京百度网讯科技有限公司 | 容器创建方法、装置、设备、介质及程序产品 |
CN114640681A (zh) * | 2022-03-10 | 2022-06-17 | 京东科技信息技术有限公司 | 一种数据处理方法和*** |
CN114840304A (zh) * | 2022-04-15 | 2022-08-02 | 中兴通讯股份有限公司 | 一种容器调度方法、电子设备和存储介质 |
CN115562878A (zh) * | 2022-12-06 | 2023-01-03 | 苏州浪潮智能科技有限公司 | Gpu计算资源的管理方法、装置、电子设备及可读存储介质 |
CN115658332A (zh) * | 2022-12-28 | 2023-01-31 | 摩尔线程智能科技(北京)有限责任公司 | 一种gpu共享方法及装置、电子设备和存储介质 |
CN115904740A (zh) * | 2023-02-23 | 2023-04-04 | 青岛创新奇智科技集团股份有限公司 | 一种gpu资源调用方法及*** |
CN117421123A (zh) * | 2023-11-03 | 2024-01-19 | 摩尔线程智能科技(上海)有限责任公司 | 一种gpu资源调整方法及***、电子设备和存储介质 |
CN117971502A (zh) * | 2024-03-29 | 2024-05-03 | 南京认知物联网研究院有限公司 | 一种针对ai推理集群进行在线优化调度的方法与装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180157508A1 (en) * | 2016-12-05 | 2018-06-07 | Red Hat, Inc. | Co-locating containers based on source to improve compute density |
CN109614211A (zh) * | 2018-11-28 | 2019-04-12 | 新华三技术有限公司合肥分公司 | 分布式任务预调度方法及装置 |
CN110457135A (zh) * | 2019-08-09 | 2019-11-15 | 重庆紫光华山智安科技有限公司 | 一种资源调度方法、装置及共享gpu显存的方法 |
CN110688218A (zh) * | 2019-09-05 | 2020-01-14 | 广东浪潮大数据研究有限公司 | 资源调度方法及装置 |
-
2020
- 2020-01-23 CN CN202010078390.XA patent/CN111538586A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180157508A1 (en) * | 2016-12-05 | 2018-06-07 | Red Hat, Inc. | Co-locating containers based on source to improve compute density |
CN109614211A (zh) * | 2018-11-28 | 2019-04-12 | 新华三技术有限公司合肥分公司 | 分布式任务预调度方法及装置 |
CN110457135A (zh) * | 2019-08-09 | 2019-11-15 | 重庆紫光华山智安科技有限公司 | 一种资源调度方法、装置及共享gpu显存的方法 |
CN110688218A (zh) * | 2019-09-05 | 2020-01-14 | 广东浪潮大数据研究有限公司 | 资源调度方法及装置 |
Non-Patent Citations (1)
Title |
---|
左灿等: "一种改进的Kubernetes动态资源调度方法", 《数据通信》 * |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112148448B (zh) * | 2020-09-22 | 2024-01-19 | 抖音视界有限公司 | 资源分配方法、装置、设备和计算机可读介质 |
CN112148448A (zh) * | 2020-09-22 | 2020-12-29 | 北京字节跳动网络技术有限公司 | 资源分配方法、装置、设备和计算机可读介质 |
CN112446816A (zh) * | 2021-02-01 | 2021-03-05 | 成都点泽智能科技有限公司 | 显存动态数据存储方法、装置及服务器 |
CN112925611A (zh) * | 2021-03-11 | 2021-06-08 | 南京邮电大学 | 一种基于共享式gpu的分布式容器调度方法及其*** |
WO2022188498A1 (zh) * | 2021-03-11 | 2022-09-15 | 南京邮电大学 | 一种基于共享式gpu的分布式容器调度方法及其*** |
CN112860440A (zh) * | 2021-03-12 | 2021-05-28 | 云知声智能科技股份有限公司 | 分配集群计算资源的方法、装置、电子设备和存储介质 |
CN113641457A (zh) * | 2021-08-20 | 2021-11-12 | 北京百度网讯科技有限公司 | 容器创建方法、装置、设备、介质及程序产品 |
CN113568758A (zh) * | 2021-09-23 | 2021-10-29 | 深圳市信润富联数字科技有限公司 | Gpu资源池化方法、***、设备及计算机可读存储介质 |
CN113568758B (zh) * | 2021-09-23 | 2022-02-15 | 深圳市信润富联数字科技有限公司 | Gpu资源池化方法、***、设备及计算机可读存储介质 |
CN114640681A (zh) * | 2022-03-10 | 2022-06-17 | 京东科技信息技术有限公司 | 一种数据处理方法和*** |
CN114640681B (zh) * | 2022-03-10 | 2024-05-17 | 京东科技信息技术有限公司 | 一种数据处理方法和*** |
CN114840304A (zh) * | 2022-04-15 | 2022-08-02 | 中兴通讯股份有限公司 | 一种容器调度方法、电子设备和存储介质 |
CN114840304B (zh) * | 2022-04-15 | 2023-03-21 | 中兴通讯股份有限公司 | 一种容器调度方法、电子设备和存储介质 |
CN115562878A (zh) * | 2022-12-06 | 2023-01-03 | 苏州浪潮智能科技有限公司 | Gpu计算资源的管理方法、装置、电子设备及可读存储介质 |
CN115658332A (zh) * | 2022-12-28 | 2023-01-31 | 摩尔线程智能科技(北京)有限责任公司 | 一种gpu共享方法及装置、电子设备和存储介质 |
CN115904740A (zh) * | 2023-02-23 | 2023-04-04 | 青岛创新奇智科技集团股份有限公司 | 一种gpu资源调用方法及*** |
CN117421123A (zh) * | 2023-11-03 | 2024-01-19 | 摩尔线程智能科技(上海)有限责任公司 | 一种gpu资源调整方法及***、电子设备和存储介质 |
CN117421123B (zh) * | 2023-11-03 | 2024-04-19 | 摩尔线程智能科技(上海)有限责任公司 | 一种gpu资源调整方法及***、电子设备和存储介质 |
CN117971502A (zh) * | 2024-03-29 | 2024-05-03 | 南京认知物联网研究院有限公司 | 一种针对ai推理集群进行在线优化调度的方法与装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111538586A (zh) | 集群gpu资源管理调度***、方法以及计算机可读存储介质 | |
CN102971724B (zh) | 与数据中心环境内的基于单元式虚拟资源的管理有关的方法和装置 | |
US8615677B2 (en) | Distributed job scheduling in a multi-nodal environment | |
US9542223B2 (en) | Scheduling jobs in a cluster by constructing multiple subclusters based on entry and exit rules | |
CN100407152C (zh) | 多策略资源调度的方法和*** | |
CN102929707B (zh) | 并行任务动态分配方法 | |
CN114138486B (zh) | 面向云边异构环境的容器化微服务编排方法、***及介质 | |
KR20180027326A (ko) | 확장 가능한 멀티-스테이지 데이터 처리 시스템들에서의 효율적인 데이터 캐싱 관리 | |
CN104040526A (zh) | 对虚拟机池中的资源的分派 | |
US20130179289A1 (en) | Pricing of resources in virtual machine pools | |
CN104040485A (zh) | Paas分层调度和自动缩放 | |
CN107864211B (zh) | 集群资源调度方法及*** | |
US11175948B2 (en) | Grouping of tasks for distribution among processing entities | |
CN113342477B (zh) | 一种容器组部署方法、装置、设备及存储介质 | |
CN103180830A (zh) | 中央处理器资源分配方法和计算节点 | |
CN113946431B (zh) | 一种资源调度方法、***、介质及计算设备 | |
CN111309440B (zh) | 一种多类型gpu的管理调度的方法和设备 | |
JP2022539955A (ja) | タスクスケジューリング方法及び装置 | |
CN114356543A (zh) | 一种基于Kubernetes的多租户机器学习任务资源调度方法 | |
CN115134371A (zh) | 包含边缘网络算力资源的调度方法、***、设备及介质 | |
CN115934344A (zh) | 异构分布式强化学习计算方法、***及存储介质 | |
CN113391914A (zh) | 任务调度方法和装置 | |
CN114995975A (zh) | 一种Redis集群的调度方法和装置 | |
Laxmi et al. | Application Level Scheduling (AppLeS) in Grid with Quality of Service (QoS) | |
CN113014649B (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 |