CN118051341A - 算力资源调度方法、装置、终端设备以及存储介质 - Google Patents
算力资源调度方法、装置、终端设备以及存储介质 Download PDFInfo
- Publication number
- CN118051341A CN118051341A CN202410266431.6A CN202410266431A CN118051341A CN 118051341 A CN118051341 A CN 118051341A CN 202410266431 A CN202410266431 A CN 202410266431A CN 118051341 A CN118051341 A CN 118051341A
- Authority
- CN
- China
- Prior art keywords
- resource
- computing power
- scheduling
- resource scheduling
- power resources
- 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 abstract description 69
- 238000003860 storage Methods 0.000 title claims abstract description 16
- 230000007246 mechanism Effects 0.000 claims abstract description 128
- 230000008602 contraction Effects 0.000 claims abstract description 42
- 238000012360 testing method Methods 0.000 claims description 23
- 238000004364 calculation method Methods 0.000 abstract description 2
- 239000000306 component Substances 0.000 description 19
- 238000007726 management method Methods 0.000 description 18
- 238000013473 artificial intelligence Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 11
- 230000000630 rising effect Effects 0.000 description 11
- 238000011084 recovery Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- CCEKAJIANROZEO-UHFFFAOYSA-N sulfluramid Chemical group CCNS(=O)(=O)C(F)(F)C(F)(F)C(F)(F)C(F)(F)C(F)(F)C(F)(F)C(F)(F)C(F)(F)F CCEKAJIANROZEO-UHFFFAOYSA-N 0.000 description 7
- 238000013461 design Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000003862 health status Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000011112 process operation Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
Landscapes
- Power Sources (AREA)
Abstract
本发明公开了一种算力资源调度方法、装置、终端设备以及存储介质,其方法包括:接收用户的资源应用请求,基于预设资源调度策略结合预先创建的webhook机制,对所述应用请求进行Kubernetes集群资源调度分配;基于预设动态扩缩容策略,结合预先创建的controller机制对相关算力资源进行动态分配和回收。基于上述方案,可以有效提高对AI芯片的算力调度效率。
Description
技术领域
本申请涉及算力网络技术领域,尤其涉及一种算力资源调度方法、装置、终端设备以及存储介质。
背景技术
随着人工智能技术的快速发展,AI芯片作为支撑深度学习、机器学习等算法的核心硬件,其重要性日益凸显。为了优化AI芯片的使用效率,降低硬件成本,并提高在人工智能场景下应用的执行性能,AI芯片虚拟化算力调度技术可以通过虚拟化技术将物理的AI芯片资源进行抽象和整合,从而实现对资源的灵活、高效的管理和调度。
目前主流的AI芯片虚拟化算力调度技术方案主要是围绕英伟达GPU(graphicsprocessing unit,图形处理器)技术生态设计。在国产化浪潮的背景下,随着国产AI芯片的使用数量及场景越来越多,如何通过AI芯片虚拟化调度来提高国产化AI芯片如华为昇腾NPU(Neural Processing Unit,神经网络处理器)芯片的资源使用率,是一个亟待解决的问题。
然而现有的针对国产化AI芯片的AI芯片虚拟化算力调度技术在人工智能场景下应用时,不进行算力虚拟化或者进行静态虚拟化,无法适用于大规模的AI芯片算力调度,对接入的AI芯片的算力资源使用率低。
发明内容
本申请的主要目的在于提供一种算力资源调度方法、装置、终端设备以及存储介质,旨在解决现有算力资源调度技术存在的对接入的AI芯片的算力资源使用率低的技术问题。
为实现上述目的,本申请提供一种算力资源调度方法,所述算力资源调度方法应用于服务器,所述服务器上部署有Kubernetes集群,所述算力资源调度方法包括:
接收用户的资源应用请求,基于预设资源调度策略结合预先创建的webhook机制,对所述应用请求进行Kubernetes集群资源调度分配;
基于预设动态扩缩容策略,结合预先创建的controller机制对相关算力资源进行动态分配和回收。
可选地,所述服务器与昇腾NPU芯片连接,所述Kubernetes集群配置有资源配额服务,所述接收用户的资源应用请求,基于预设资源调度策略结合预先创建的webhook机制,对所述应用请求进行Kubernetes集群资源调度分配的步骤之前,还包括:
接入昇腾NPU芯片的算力资源,并基于所述算力资源在Kubernetes集群中创建算力资源集群;
基于所述算力资源集群,通过资源配额服务定义不同命名空间下的资源配额约束;
基于所述资源配额约束,建立controller机制和webhook机制,实现对不同命名空间下资源的配额管理。
可选地,所述接收用户的资源应用请求,基于预设资源调度策略结合预先创建的webhook机制,对所述应用请求进行Kubernetes集群资源调度分配的步骤,包括:
接收用户发起的资源应用请求;
基于预设资源调度策略,对所述应用请求进行资源调度,生成资源调度请求;
基于所述资源调度请求,调用预先创建的webhook机制对相关算力资源进行检验,生成检验结果;
基于所述检验结果,确认是否对Kubernetes集群的相关算力资源进行调度。
可选地,所述Kubernetes集群配置有HPA控制器,所述基于预设动态扩缩容策略,结合预先创建的controller机制对相关算力资源进行动态分配和回收的步骤,包括:
调用HPA控制器结合预先创建的controller机制监控不同命名空间下的算力资源的使用情况;
基于预设动态扩缩容策略与所述算力资源的使用情况,对相关算力资源进行动态分配和回收。
可选地,所述Kubernetes集群配置有HPA控制器,所述基于预设动态扩缩容策略,结合预先创建的controller机制对相关算力资源进行动态分配和回收的步骤,还包括:
按照预设时间周期进行调用HPA控制器;
结合预先创建的controller机制,基于预设动态扩缩容策略,对相关算力资源进行动态分配和回收。
可选地,所述基于所述检验结果,确认是否对Kubernetes集群的相关算力资源进行调度的步骤,包括:
若所述检验结果是所述资源调度请求满足所述资源配额约束,则对Kubernetes集群的相关算力资源进行调度;
若所述检验结果是所述资源调度请求不满足所述资源配额约束,则通过所述webhook机制对所述资源调度请求进行拦截,并报错给用户。
可选地,所述若所述检验结果是所述资源调度请求满足所述资源配额约束,则对Kubernetes集群的相关算力资源进行调度的步骤之后,还包括:
调用所述controller机制,基于预设规则更新不同命名空间下的算力资源的使用情况。
此外,为实现上述目的,本申请还提供一种算力资源调度装置,所述算力资源调度装置包括:
资源调度分配模块,用于接收用户的资源应用请求,基于预设资源调度策略结合预先创建的webhook机制,对所述应用请求进行Kubernetes集群资源调度分配;
动态扩缩容模块,用于基于预设动态扩缩容策略,结合预先创建的controller机制对相关算力资源进行动态分配和回收。
本申请实施例还提出一种终端设备,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的算力资源调度程序,所述算力资源调度程序被所述处理器执行时实现如上所述的算力资源调度方法的步骤。
本申请实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有算力资源调度程序,所述算力资源调度程序被处理器执行时实现如上所述的算力资源调度方法的步骤。
本申请实施例提出的一种算力资源调度方法、装置、终端设备以及存储介质,通过接收用户的资源应用请求,基于预设资源调度策略结合预先创建的webhook机制,对所述应用请求进行Kubernetes集群资源调度分配;基于预设动态扩缩容策略,结合预先创建的controller机制对相关算力资源进行动态分配和回收。
本申请通过整合芯片算力调度组件,以及Kubernetes设计规范,对AI芯片尤其是昇腾NPU芯片进行动态切分,实现了不同规格AI算力资源的动态分配和回收,满足多用户动态申请、释放AI算力资源的需求,可以提高对AI芯片的算力调度效率,进而有效提高对接入的AI芯片的算力资源使用率。
附图说明
图1为本申请算力资源调度装置所属终端设备的功能模块示意图;
图2为本申请算力资源调度方法第一实施例的流程示意图;
图3为本申请算力资源调度方法第二实施例的流程示意图;
图4为本申请算力资源调度方法实施例中步骤S210的细化流程示意图;
图5为本申请算力资源调度方法实施例中步骤S220的细化流程示意图;
图6为本申请算力资源调度方法实施例中步骤S220的另一细化流程示意图;
图7为本申请算力资源调度方法实施例中步骤440的细化流程示意图;
图8为本申请算力资源调度方法第七实施例的流程示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例的主要解决方案是:接收用户的资源应用请求,基于预设资源调度策略结合预先创建的webhook机制,对所述应用请求进行Kubernetes集群资源调度分配;基于预设动态扩缩容策略,结合预先创建的controller机制对相关算力资源进行动态分配和回收。
本申请实施例涉及的技术术语:
AI:人工智能(Artificial Intelligence),英文缩写为AI。AI是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。
人工智能是智能学科重要的组成部分,企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。
NPU:NPU(Neural Processing Unit,神经网络处理器)是一种专为加速神经网络计算而设计的硬件处理器。NPU采用了数据驱动并行计算的架构,能够快速并行处理大量神经网络模型中的矩阵乘法和卷积等操作,从而显著提升计算效率和性能,同时降低能耗。相较于传统的CPU或GPU,NPU在执行神经网络推理时有更高的能效比,尤其适用于边缘计算和移动设备上的AI应用。
NPU的主要功能和优势在于高效地处理深度学习和机器学习任务,尤其是针对大量的并行计算需求,被广泛应用于各种人工智能应用中,如自动驾驶、人脸识别、智能语音等领域。
Kubernetes:Kubernetes是谷歌公司开源的一个容器编排和调度管理框架。作为领先的容器编排引擎,Kubernetes提供了一个抽象层,使其可以在物理或虚拟环境中部署容器应用程序,提供以容器为中心的基础架构。
Kubernetes系统具有以下特点:可移植,支持多种云;可扩展,包括模块化、插件化、可挂载、可组合等;可自动化,包括自动部署、自动重启、自动复制、自动伸缩/扩展等。
Pod、Service、Volume和Namespace是Kubernetes集群中四大基本对象,它们能够表示系统中部署的应用、工作负载、网络和磁盘资源,共同定义了集群的状态。其中,Pod是集群中的基本单元,Service可以用来解决如何访问Pod里面服务的问题,Volume是集群中的存储卷,Namespace命名空间为集群提供虚拟的隔离作用。
在Kubernetes中,所有的容器均在Pod中运行,一个Pod可以承载一个或者多个相关的容器,同一个Pod中的容器会部署在同一个物理机器上并且能够共享资源。一个Pod也可以包含0个或者多个磁盘卷组(volumes),这些卷组将会以目录的形式提供给一个容器,或者被所有Pod中的容器共享,对于用户创建的每个Pod,系统会自动选择健康并且有足够容量的机器,然后进行创建容器,当容器创建失败的时候,容器会被Kubelet自动的重启,但是如果是Pod失败或者机器故障,容器不会自动的转移并且启动,除非用户定义了replication controller。
Kubernetes主要由以下核心组件组成:
Etcd:保存整个集群的状态;
Apiserver:提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制;
Controller manager:负责维护集群的状态,如故障检测、自动扩展、滚动更新等;
Scheduler:负责资源的调度,按照预定的调度策略将Pod调度到相应的机;
Kubelet:负责维护容器的生命周期,同时也负责Volume(CSI)和网络(CNI)的管理;
Container runtime:负责镜像管理以及Pod和容器的真正运行(CRI);
Kube-proxy:负责为Service提供Cluster内部的服务发现和负载均衡。
appquota服务:在Kubernetes中,appquota服务是一种资源配额服务,基于Kubernetes的层次化角色和权限模型(RBAC)来实现的,用于限制特定命名空间内可以创建的应用程序的数量或类型。appquota服务通常涉及到自定义资源(Custom Resource)和自定义控制器(Custom Controller)的创建,以提供比标准ResourceQuota更细粒度的资源控制。
AppQuota的目的是保护集群免受滥用,确保资源被合理分配,并且只允许符合特定策略的应用程序运行。通过AppQuota,Kubernetes集群管理员可以定义规则,例如限制特定命名空间中可以部署的Pod的数量或者根据团队或项目的配额来限制资源使用等。
controller机制:Controller机制在Kubernetes中是一个核心概念,它负责监视集群中资源的当前状态,并根据期望的状态来执行相应的操作。当资源的实际状态与期望状态不一致时,控制器会触发相应的操作来使资源状态达到期望的状态。
webhook机制:Webhook机制允许你在Kubernetes API服务器的请求/响应处理过程中插入自定义逻辑。对于NPU资源,Webhook可以用于验证、转换或拦截与NPU相关的API请求。
HPA:HPA(Horizontal Pod Autoscaler,Pod水平自动扩缩)是Kubernetes中的一种资源对象。HPA机制的主要功能是对Kubernetes中的workload(如deployment、statefulSet、replicaController、replicaSet等)进行自动的水平扩缩容,以达到更好的负载均衡和性能。HPA可以实现根据监控指标(通常是Pod的CPU和内存使用情况)动态地调整workload中Pod的数量,以确保服务对监控指标的变化具有一定的自适应能力。
Ascend Device Plugin组件:基于Kubernetes设备插件机制,增加昇腾AI处理器的设备发现、设备分配、设备健康状态上报功能,使Kubernetes可以管理昇腾AI处理器资源。
Volcano组件:基于开源Volcano调度的插件机制,增加昇腾AI处理器的亲和性调度,故障重调度等特性,最大化发挥昇腾AI处理器计算性能。
Volcano组件具有如下特点:支持多种AI框架:Volcano支持TensorFlow、PyTorch等多种主流AI框架,使得开发者可以方便地将昇腾NPU应用于现有AI应用。细粒度资源调度:Volcano能够根据AI作业的需求,实现对NPU资源的细粒度调度,提高资源利用率。优化调度策略:Volcano内置了多种调度策略,如公平调度、预测调度等,可根据不同场景需求进行调整。
由于现有的针对国产化AI芯片的AI芯片虚拟化算力调度技术在人工智能场景下应用时,不进行算力虚拟化或者进行静态虚拟化,存在着对接入的AI芯片的算力资源使用率低的问题。
本申请提供一种解决方案,通过整合芯片算力调度组件,以及Kubernetes设计规范,对AI芯片尤其是昇腾NPU芯片进行动态切分,实现了不同规格AI算力资源的动态分配和回收,满足多用户动态申请、释放AI算力资源的需求,可以提高对AI芯片的算力调度效率,进而有效提高对接入的AI芯片的算力资源使用率。
参照图1,图1为本申请实施例方案涉及的硬件运行环境的算力资源调度设备结构示意图。
如图1所示,该算力资源调度设备可以包括:处理器101,例如中央处理器(CentralProcessing Unit,CPU),通信总线102、用户接口103,网络接口104,存储器105。其中,通信总线102用于实现这些组件之间的连接通信。用户接口103可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口103还可以包括标准的有线接口、无线接口。网络接口104可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器105可以是高速的随机存取存储器(Random Access Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器105可选的还可以是独立于前述处理器101的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对算力资源调度设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
在图1所示的算力资源调度设备中,网络接口104主要用于与其他设备进行数据通信;用户接口103主要用于与用户进行数据交互;本申请算力资源调度设备中的处理器101、存储器105可以设置在算力资源调度设备中,所述算力资源调度设备通过处理器101调用存储器105中存储的算力资源调度程序,并执行本申请实施例提供的算力资源调度方法。
具体地,存储器105中的算力资源调度程序被处理器执行时实现以下步骤:
接收用户的资源应用请求,基于预设资源调度策略结合预先创建的webhook机制,对所述应用请求进行Kubernetes集群资源调度分配;
基于预设动态扩缩容策略,结合预先创建的controller机制对相关算力资源进行动态分配和回收。
进一步地,存储器105中的算力资源调度程序被处理器执行时还实现以下步骤:
接入昇腾NPU芯片的算力资源,并基于所述算力资源在Kubernetes集群中创建算力资源集群;
基于所述算力资源集群,通过资源配额服务定义不同命名空间下的资源配额约束;
基于所述资源配额约束,建立controller机制和webhook机制,实现对不同命名空间下资源的配额管理。
进一步地,存储器105中的算力资源调度程序被处理器执行时还实现以下步骤:
接收用户发起的资源应用请求;
基于预设资源调度策略,对所述应用请求进行资源调度,生成资源调度请求;
基于所述资源调度请求,调用预先创建的webhook机制对相关算力资源进行检验,生成检验结果;
基于所述检验结果,确认是否对Kubernetes集群的相关算力资源进行调度。
进一步地,存储器105中的算力资源调度程序被处理器执行时还实现以下步骤:
调用HPA控制器结合预先创建的controller机制监控不同命名空间下的算力资源的使用情况;
基于预设动态扩缩容策略与所述算力资源的使用情况,对相关算力资源进行动态分配和回收。
进一步地,存储器105中的算力资源调度程序被处理器执行时还实现以下步骤:
按照预设时间周期进行调用HPA控制器;
结合预先创建的controller机制,基于预设动态扩缩容策略,对相关算力资源进行动态分配和回收。
进一步地,存储器105中的算力资源调度程序被处理器执行时还实现以下步骤:
若所述检验结果是所述资源调度请求满足所述资源配额约束,则对Kubernetes集群的相关算力资源进行调度;
若所述检验结果是所述资源调度请求不满足所述资源配额约束,则通过所述webhook机制对所述资源调度请求进行拦截,并报错给用户。
进一步地,存储器105中的算力资源调度程序被处理器执行时还实现以下步骤:
调用所述controller机制,基于预设规则更新不同命名空间下的算力资源的使用情况。
本实施例通过上述方案,具体接收用户的资源应用请求,基于预设资源调度策略结合预先创建的webhook机制,对所述应用请求进行Kubernetes集群资源调度分配;基于预设动态扩缩容策略,结合预先创建的controller机制对相关算力资源进行动态分配和回收。基于上述的算力资源调度方法对接入的AI芯片进行算力资源调度,提升了算力资源调度的效率,进一步提高了对接入的AI芯片的资源使用率。
基于上述终端设备架构但不限于上述架构,提出本申请方法实施例。
参照图2,图2为本申请算力资源调度方法第一实施例的流程示意图。所述算力资源调度方法应用于服务器,所述服务器上部署有Kubernetes集群,所述算力资源调度方法包括:
步骤S210:接收用户的资源应用请求,基于预设资源调度策略结合预先创建的webhook机制,对所述应用请求进行Kubernetes集群资源调度分配;
步骤S220:基于预设动态扩缩容策略,结合预先创建的controller机制对相关算力资源进行动态分配和回收。
本实施例方案主要实现对接入的AI芯片的算力资源进行调度,提升算力资源调度效率以及AI芯片的资源利用效率。
以下对本实施例各个步骤进行详细解释:
具体地,由于人工智能技术的飞速发展,人工智能应用愈发广泛、多样,使得单一的硬件平台难以满足各种应用场景的需求。AI芯片虚拟化算力调度技术成为一种有效解决途径,其核心思想是将AI芯片的计算资源虚拟化为多个独立的计算节点,每个节点可以运行不同的AI应用或任务。通过虚拟化调度技术,可以将这些节点动态地分配给不同的应用,实现计算资源的高效利用,提高AI应用的性能和效率。
然而现有方法主要围绕英伟达GPU技术生态设计,现有针对国产化AI芯片的算力调度方法通常不进行算力虚拟化或者进行静态虚拟化,无法适用于大规模的AI芯片算力调度,对接入的AI芯片的算力资源使用率低。
因此,本申请针对上述现有针对国产化AI芯片的算力调度方法存在的问题,设计了一种基于Kubernetes的AI芯片算力资源调度方法。算力资源调度方法具体可以包括以下步骤:
步骤S210:接收用户的资源应用请求,基于预设资源调度策略结合预先创建的webhook机制,对所述应用请求进行Kubernetes集群资源调度分配;
具体地,接收用户的资源应用请求,基于预先设置的资源调度策略,通过Kubernetes集群原生的资源调度组件Scheduler或者第三方扩展组件对所述应用请求进行资源调度,生成资源调度请求。其中,所述资源应用请求可以是NPU应用的创建、更新、删除。资源调度策略可以是基于资源需求的调度、基于性能预测的调度、基于任务优先级的调度等。
然后,根据预先创建的webhook机制确认所述资源调度请求所请求的资源是否满足用户所关联的命名空间的资源配额约束,在满足用户所关联的命名空间的资源配额约束时,进行资源调度分配。
步骤S220:基于预设动态扩缩容策略,结合预先创建的controller机制对相关算力资源进行动态分配和回收。
具体地,服务器结合预先创建的controller机制,可以实时监测Kubernetes集群中多个NPU集群的运行状态,也即是可以了解到NPU集群中POD的工作负载情况。
通过POD的工作负载情况,按照预先设置的动态扩缩容策略,对触发动态扩缩容策略的NPU集群中的POD进行NPU算力资源的回收以及重新再分配,进而提高NPU集群中的POD的工作效率,以达到提高AI芯片的资源利用率的效果。其中动态扩缩容策略可以是基于POD或不同命名空间或不同NPU集群的工作指标或其他用户自定义指标,自动调整自定义资源的资源配额,以实现对相关算力资源进行动态分配和回收。
本实施例通过上述方案,具体通过接收用户的资源应用请求,基于预设资源调度策略结合预先创建的webhook机制,对所述应用请求进行动态扩缩容资源调度分配;基于预设动态扩缩容策略,结合预先创建的controller机制对相关算力资源进行动态分配和回收。
通过整合芯片算力调度组件,以及Kubernetes设计规范,实现对AI芯片尤其是昇腾NPU芯片进行动态切分,实现了不同规格AI算力资源的动态分配和回收,满足多用户动态申请、释放AI算力资源的需求,可以提高对AI芯片的算力调度效率,进而有效提高对接入的AI芯片的算力资源使用率。
参照图3,图3为本申请算力资源调度方法第二实施例的流程示意图。基于上述图2所示的实施例,在本实施例中,所述服务器与昇腾NPU芯片连接,所述Kubernetes集群配置有资源配额服务,在上述步骤S210:接收用户的资源应用请求,基于预设资源调度策略结合预先创建的webhook机制,对所述应用请求进行Kubernetes集群资源调度分配之前,还包括:
步骤S310:接入昇腾NPU芯片的算力资源,并基于所述算力资源在Kubernetes集群中创建算力资源集群;
首先,服务器通过硬件接口或总线接入昇腾NPU芯片的算力资源,服务器还可以通过网络端口或适配器以远程访问的形式接入其他服务器上的昇腾NPU芯片的算力资源。
本实施例中,所述算力资源调度方法应用于服务器,所述服务器上部署有Kubernetes集群,所述服务器接入昇腾AI芯片算力调度组件Ascend Device Plugin组件,通过Ascend Device Plugin组件进行对进行华为昇腾NPU芯片自动识别,并将华为昇腾NPU芯片的NPU算力资源接入到所述服务器中。
然后,基于接入到服务器上的算力资源,在服务器的Kubernetes集群中创建算力资源集群以满足大型计算处理任务的要求。
本实施例中,基于接入的华为昇腾NPU芯片的NPU算力资源,在服务器的Kubernetes集群中创建多个NPU集群以便后续对NPU算力资源进行分配管理。
步骤S320:基于所述算力资源集群,通过资源配额服务定义不同命名空间下的资源配额约束;
具体地,所述Kubernetes集群配置有资源配额服务,基于所述算力资源集群,调用资源配额服务对算力资源集群中的算力资源按照用户需求进行不同层次地算力资源切分,对不同命名空间下的算力资源配额进行约束,以实现多租户多集群资源强制隔离,保证运行环境的平稳和安全。
其中,Kubernetes集群一般包含由多个节点组成,一个节点可以看成是一台物理机或虚拟机;命名空间指的是Kubernetes中的一个重要概念,它提供了一种将集群资源进行逻辑隔离的机制。通过将集群内部的资源分配到不同的命名空间中,可以形成逻辑上的“组”,从而方便不同组之间的资源进行隔离使用和管理,所述不同命名空间即可指不同租户。
Kubernetes集群中默认资源配额机制resourcequota通过创建resourcequota对象,并关联不同命名空间,用来限制命名空间中的Pod、服务(Service)、持久存储卷(PersistentVolumeClaim)、CPU、内存、NPU等资源的总量,防止命名空间内的资源过度消耗。
本实施例中,所述资源配额服务为appquota服务,调用appquota服务按照用户需求创建appquota对象来对自定义资源对象进行资源配额约束,并关联NPU集群中不同的命名空间;同时基于Kubernetes的层次化角色和权限模型,将所述自定义资源对象的访问权限分配给角色,再将角色分发给不同的用户,从而建立对NPU算力资源的访问控制机制,以实现多租户多集群资源强制隔离,保证运行环境的平稳和安全。
步骤S330:基于所述资源配额约束,建立controller机制和webhook机制,实现对不同命名空间下资源的配额管理;
具体地,基于步骤S220所建立的资源配额约束,进一步建立对appquota服务的controller机制和webhook机制。通过controller机制,实时检查当前NPU集群的状态与用户定义的资源配置(如Deployments、Pods等)之间的差异,并根据检查出的差异采取行动来调整NPU集群状态。例如,如果一个Pod的状态不符合预期资源配置要求,controller机制会尝试重建该Pod。
通过webhook机制,在AppQuota对象即自定义资源创建或更新之前对相关的资源进行验证,确保请求的资源符合AppQuota的资源配额约束。同时也允许在自定义资源创建、更新、删除等操作发生时,执行用户自定义逻辑。例如在自定义资源创建之前,通过webhook机制确认自定义资源所属的命名空间是否配置带宽数据,若没有配置带宽数据,将会进行默认带宽的配置。
通过结合controller机制与webhook机制,可以实现对所述不同命名空间下算力资源的配额管理。
本实施例通过上述方案,具体通过接入昇腾NPU芯片的算力资源,并基于所述算力资源在Kubernetes集群中创建算力资源集群;基于所述算力资源集群,通过资源配额服务定义不同命名空间下的资源配额约束;基于所述资源配额约束,建立controller机制和webhook机制,实现对不同命名空间下资源的配额管理;接收用户的资源应用请求,基于预设资源调度策略结合预先创建的webhook机制,对所述应用请求进行Kubernetes集群资源调度分配;基于预设动态扩缩容策略,结合预先创建的controller机制对相关算力资源进行动态分配和回收。
通过Kubernetes集群中的资源配额服务,实现对接入的AI芯片的算力资源进行多租户多集群资源管理,同时对AI芯片尤其是昇腾NPU芯片进行动态切分,实现了不同规格AI算力资源的动态分配和回收,满足多用户动态申请、释放AI算力资源的需求,可以提高对AI芯片的算力调度效率,进而有效提高对接入的AI芯片的算力资源使用率。
参照图4,图4为本申请算力资源调度方法实施例中步骤S210的细化流程示意图。基于上述图3所示的实施例,在本实施例中,所述步骤S210:接收用户的资源应用请求,基于预设资源调度策略结合预先创建的webhook机制,对所述应用请求进行Kubernetes集群资源调度分配包括:
步骤410:接收用户发起的资源应用请求;
步骤420:基于预设资源调度策略,对所述应用请求进行资源调度,生成资源调度请求;
具体地,接收用户发起的资源应用请求,其中所述资源应用请求可以是NPU应用的创建、更新、删除。
然后,响应所述应用请求,基于预先设置的资源调度策略,确认所述应用请求所需要调度的算力资源以及其他资源数量,以及将要调度的资源所属的命名空间等信息,生成对应的资源调度请求。其中,资源调度请求所请求的资源包括NPU集群中CPU、内存、NPU、存储等资源。
其中,资源调度策略可以是基于资源需求的调度、基于性能预测的调度、基于任务优先级的调度等。
本实施例中,所述服务器还接入昇腾AI芯片算力调度组件Volcano组件,因其支持多种AI框架,可以方便用户利用昇腾NPU进行人工智能场景下的计算任务。同时Volcano组件根据所述应用请求,基于预设资源调度策略实现对NPU资源的细粒度调度,最大化发挥昇腾AI芯片计算性能。
步骤430:基于所述资源调度请求,调用预先创建的webhook机制对相关算力资源进行检验,生成检验结果;
具体地,通过预先创建的webhook机制确认所述资源调度请求所请求的资源是否满足用户所关联的命名空间的资源配额约束,并依据确认的结果,生成对应的检验结果。
步骤440:基于所述检验结果,确认是否对Kubernetes集群的相关算力资源进行调度。
具体地,根据所述检验结果,可以了解所述资源调度请求是否满足用户所关联的命名空间的资源配额约束,并当所述资源调度请求满足所述资源配额约束时,基于所述资源调度请求进行Kubernetes集群中的相关资源的调度分配。
本实施例通过上述方案,具体通过接入昇腾NPU芯片的算力资源,并基于所述算力资源在Kubernetes集群中创建算力资源集群;基于所述算力资源集群,通过资源配额服务定义不同命名空间下的资源配额约束;基于所述资源配额约束,建立controller机制和webhook机制,实现对不同命名空间下资源的配额管理;接收用户的资源应用请求,基于预设资源调度策略结合预先创建的webhook机制,对所述应用请求进行资源调度分配;接收用户发起的资源应用请求;基于预设资源调度策略,对所述应用请求进行资源调度,生成资源调度请求;基于所述资源调度请求,调用预先创建的webhook机制对相关算力资源进行检验,生成检验结果;基于所述检验结果,确认是否对Kubernetes集群的相关算力资源进行调度;基于预设动态扩缩容策略,结合预先创建的controller机制对相关算力资源进行动态分配和回收。
通过昇腾AI芯片算力调度组件Volcano组件结合webhook机制,对用户的资源应用请求进行细粒度资源调度,提高对AI芯片的算力调度效率,进一步有效提高对接入的AI芯片的算力资源使用率。
参照图5,图5为本申请算力资源调度方法实施例中步骤S220的细化流程示意图。基于上述图3所示的实施例,所述Kubernetes集群配置有HPA控制器,所述步骤S220:基于预设动态扩缩容策略,结合预先创建的controller机制对相关算力资源进行动态分配和回收包括:
步骤510:调用HPA控制器结合预先创建的controller机制监控不同命名空间下的算力资源的使用情况;
具体地,所述Kubernetes集群配置有HPA控制器。通过HPA控制器结合预先创建的controller机制,可以实时监测Kubernetes集群中多个NPU集群的运行状态,确认集群中不同命名空间下算力资源的使用情况,也即是可以了解到NPU集群中任意自定义资源对象中POD的工作负载情况。
步骤520:基于预设动态扩缩容策略与所述算力资源的使用情况,对相关算力资源进行动态分配和回收。
具体地,通过NPU集群中任意自定义资源对象中POD的工作负载情况,按照预设动态扩缩容策略确定是否需要新建或者删除Pod副本数。
在本实施例中,预设动态扩缩容策略可以是目标NPU应用资源利用率不能超过预设阈值,预设阈值则是相关人员依据实际需要自行进行设置。
当目标NPU应用资源利用率达到预设阈值时,HPA控制器会选取每个Pod的工作负载指标的平均值,然后计算添加或删除副本是否会使当前值更接近目标值。例如,部署的目标NPU应用资源利用率设定50%,如果当前目标NPU中正在运行5个Pod,并且平均NPU利用率为75%,HPA控制器会通过相关计算选择添加3个POD副本,让Pod工作负载指标的平均值接近50%。
本实施例通过上述方案,具体通过接入昇腾NPU芯片的算力资源,并基于所述算力资源在Kubernetes集群中创建算力资源集群;基于所述算力资源集群,通过资源配额服务定义不同命名空间下的资源配额约束;基于所述资源配额约束,建立controller机制和webhook机制,实现对不同命名空间下资源的配额管理;接收用户的资源应用请求,基于预设资源调度策略结合预先创建的webhook机制,对所述应用请求进行Kubernetes集群资源调度分配;调用HPA控制器结合预先创建的controller机制监控不同命名空间下的算力资源的使用情况;基于预设动态扩缩容策略与所述算力资源的使用情况,对相关算力资源进行动态分配和回收。
通过HPA控制器结合controller机制,监控NPU集群的运行状况,并基于预设动态扩缩容策略确认是否需要自动调整NPU集群中自定义资源的资源配额,可以实现在任务运行过程中可随时调整实例资源大小,支持AI算力需求不断变化的场景,进一步有效提高对接入的AI芯片的算力资源使用率。
参照图6,图6为本申请算力资源调度方法实施例中步骤S220的另一细化流程示意图。基于上述图3所示的实施例,所述Kubernetes集群配置有HPA控制器,所述步骤S220:基于预设动态扩缩容策略,结合预先创建的controller机制对相关算力资源进行动态分配和回收,还包括:
步骤610:按照预设时间周期进行调用HPA控制器;
步骤620:结合预先创建的controller机制,基于预设动态扩缩容策略,对相关算力资源进行动态分配和回收。
具体地,所述Kubernetes集群配置有HPA控制器。按照预设时间周期调用HPA控制器,并结合预先创建的controller机制可以周期性监测Kubernetes集群中多个NPU集群的运行状态,确认集群中不同命名空间下算力资源的使用情况,也即是可以了解到NPU集群中任意自定义资源对象中POD的工作负载情况。其中,预设周期是相关人员依据实际需求进行自定义设置的。
然后,通过NPU集群中任意自定义资源对象中POD的工作负载情况,按照预先设置的动态扩缩容策略,对触发动态扩缩容策略的NPU集群中的POD进行NPU算力资源的回收以及重新再分配。
其中,动态扩缩容策略可以是基于POD或不同命名空间或不同NPU集群的工作指标或其他用户自定义指标,自动调整自定义资源的资源配额,以实现对相关算力资源进行动态分配和回收。
本实施例通过上述方案,具体通过接入昇腾NPU芯片的算力资源,并基于所述算力资源在Kubernetes集群中创建算力资源集群;基于所述算力资源集群,通过资源配额服务定义不同命名空间下的资源配额约束;基于所述资源配额约束,建立controller机制和webhook机制,实现对不同命名空间下资源的配额管理;接收用户的资源应用请求,基于预设资源调度策略结合预先创建的webhook机制,对所述应用请求进行Kubernetes集群资源调度分配;按照预设时间周期进行调用HPA控制器;结合预先创建的controller机制,基于预设动态扩缩容策略,对相关算力资源进行动态分配和回收。
通过按照预设周期调用HPA控制器,实现对自定义资源对象的定时扩缩容,可以用于对周期性发生的人工智能计算任务,进行AI芯片算力资源的动态虚拟化调度,有效提高对接入的AI芯片的算力资源使用率。
参照图7,图7为本申请算力资源调度方法实施例中步骤440的细化流程示意图。基于上述图4所示的实施例,所述步骤440:基于所述检验结果,确认是否对Kubernetes集群的相关算力资源进行调度包括:
步骤4401:若所述检验结果是所述资源调度请求满足所述资源配额约束,则对Kubernetes集群的相关算力资源进行调度;
步骤4402:若所述检验结果是所述资源调度请求不满足所述资源配额约束,则通过所述webhook机制对所述资源调度请求进行拦截,并报错给用户。
可以理解的,所述服务器需要对用户发起的资源应用请求进行确认,是否可以依据用户所关联的命名空间下算力资源以及其他系统资源进行后续的资源调度,在本实施例中,由webhook机制来完成对于所述资源应用请求的检验。
所述检验结果是webhook机制确认所述资源调度请求所请求的资源是否满足用户所关联的命名空间的资源配额约束所生成的,因此在所述检验结果是所述资源调度请求满足所述资源配额约束,即所述资源调度请求所要求的资源数量不超过用户所关联的资源配额,则对Kubernetes集群的相关算力资源进行调度,将符合要求的POD或节点分配给到用户用于后续的任务处理。
若所述检验结果是所述资源调度请求不满足所述资源配额约束,则通过webhook机制对所述资源调度请求进行拦截,并报告所述资源应用请求的错误信息给到用户,以便用户根据报错信息进行后续处理。
本实施例通过上述方案,具体通过接入昇腾NPU芯片的算力资源,并基于所述算力资源在Kubernetes集群中创建算力资源集群;基于所述算力资源集群,通过资源配额服务定义不同命名空间下的资源配额约束;基于所述资源配额约束,建立controller机制和webhook机制,实现对不同命名空间下资源的配额管理;接收用户发起的资源应用请求;基于预设资源调度策略,对所述应用请求进行资源调度,生成资源调度请求;基于所述资源调度请求,调用预先创建的webhook机制对相关算力资源进行检验,生成检验结果;若所述检验结果是所述资源调度请求满足所述资源配额约束,则对Kubernetes集群的相关算力资源进行调度;若所述检验结果是所述资源调度请求不满足所述资源配额约束,则通过所述webhook机制对所述资源调度请求进行拦截,并报错给用户;基于预设动态扩缩容策略,结合预先创建的controller机制对相关算力资源进行动态分配和回收。
通过webhook机制,在对用户的资源应用请求进行资源调度前,进行检验并对用户的资源应用请求通过或拦截,实现对服务器系统资源的细粒度资源调度,提高对AI芯片的算力调度效率,进一步有效提高对接入的AI芯片的算力资源使用率。
参照图8,图8为本申请算力资源调度方法第七实施例的流程示意图。基于上述图7所示的实施例,在上述步骤S4401:若所述检验结果是所述资源调度请求满足所述资源配额约束,则对Kubernetes集群的相关算力资源进行调度之后,还包括:
步骤S810:调用所述controller机制,基于预设规则更新不同命名空间下的算力资源的使用情况。
具体地,在本实施例中,所述controller机制监控Kubernetes集群中各类型资源,包括对deployment、statefulSet、replicaController、replicaSet等类型资源、不同命名空间、pod、与用户资源应用请求相关的application等资源的监控,并基于预设规则更新不同命名空间下的算力资源的使用情况。其中,预设规则是预先设置的对应资源被操作后的业务处理逻辑。
例如,当响应用户应用请求,服务器对deployment、statefulSet、replicaController、replicaSet等类型资源进行增删改等操作后,需要汇总deployment、statefulSet、replicaController、replicaSet等类型资源的已使用量,并更新所述已使用量到所述命名空间的资源配额信息中。
类似地,当响应用户应用请求,服务器对与用户资源应用请求相关的application进行增删改等操作后,或者是服务器对POD进行删除操作后,需要更新与之相关的应用概览CRD(ApplicationOverView)。
其中,CRD(Custom Resource Definitions)是Kubernetes中的一个概念。CRD是Kubernetes API的扩展机制,允许用户定义自定义资源。自定义资源可以类似Kubernetes内置资源(如Pod、Service等)被创建、读取、更新和删除。本实施例中,应用概览CRD则是相关人员进行自定义设置的资源,ApplicationOverView将与用户资源应用请求相关的application信息、POD以及application所属的命名空间相关联,建立起一个监测用户资源应用请求相关的资源使用情况概览,方便进行资源管理。
本实施例通过上述方案,具体通过接入昇腾NPU芯片的算力资源,并基于所述算力资源在Kubernetes集群中创建算力资源集群;基于所述算力资源集群,通过资源配额服务定义不同命名空间下的资源配额约束;基于所述资源配额约束,建立controller机制和webhook机制,实现对不同命名空间下资源的配额管理;接收用户的资源应用请求,基于预设资源调度策略结合预先创建的webhook机制,对所述应用请求进行资源调度分配;接收用户发起的资源应用请求;基于预设资源调度策略,对所述应用请求进行资源调度,生成资源调度请求;基于所述资源调度请求,调用预先创建的webhook机制对相关算力资源进行检验,生成检验结果;若所述检验结果是所述资源调度请求满足所述资源配额约束,则对Kubernetes集群的相关算力资源进行调度;调用所述controller机制,基于预设规则更新不同命名空间下的算力资源的使用情况;若所述检验结果是所述资源调度请求不满足所述资源配额约束,则通过所述webhook机制对所述资源调度请求进行拦截,并报错给用户;基于预设动态扩缩容策略,结合预先创建的controller机制对相关算力资源进行动态分配和回收。
通过controller机制,在对用户的资源应用请求进行资源调度后,按照预设规则更新不同命名空间下的算力资源的使用情况,进行多租户多集群资源管理,同时利用HPA控制器对AI芯片尤其是昇腾NPU芯片进行动态切分,实现了不同规格AI算力资源的动态分配和回收,满足多用户动态申请、释放AI算力资源的需求,可以提高对AI芯片的算力调度效率,进而有效提高对接入的AI芯片的算力资源使用率。
此外,为实现上述目的,本申请还提供一种算力资源调度装置,所述装置包括:
资源调度分配模块,用于接收用户的资源应用请求,基于预设资源调度策略结合预先创建的webhook机制,对所述应用请求进行Kubernetes集群资源调度分配;
动态扩缩容模块,用于基于预设动态扩缩容策略,结合预先创建的controller机制对相关算力资源进行动态分配和回收。
本实施例实现算力资源调度的原理及实施过程,请参照上述各实施例,在此不再赘述。
本申请实施例还提出一种终端设备,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的算力资源调度程序,所述算力资源调度程序被所述处理器执行时实现如上所述的算力资源调度方法的步骤。
由于本算力资源调度程序被处理器执行时,采用了前述所有实施例的全部技术方案,因此至少具有前述所有实施例的全部技术方案所带来的所有有益效果,在此不再一一赘述。
本申请实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有算力资源调度程序,所述算力资源调度程序被处理器执行时实现如上所述的算力资源调度方法的步骤。
由于本算力资源调度程序被处理器执行时,采用了前述所有实施例的全部技术方案,因此至少具有前述所有实施例的全部技术方案所带来的所有有益效果,在此不再一一赘述。
要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,被控终端,或者网络设备等)执行本申请每个实施例的方法。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种算力资源调度方法,其特征在于,所述算力资源调度方法应用于服务器,所述服务器上部署有Kubernetes集群,所述算力资源调度方法包括:
接收用户的资源应用请求,基于预设资源调度策略结合预先创建的webhook机制,对所述应用请求进行Kubernetes集群资源调度分配;
基于预设动态扩缩容策略,结合预先创建的controller机制对相关算力资源进行动态分配和回收。
2.如权利要求1所述的算力资源调度方法,其特征在于,所述服务器与昇腾NPU芯片连接,所述Kubernetes集群配置有资源配额服务,所述接收用户的资源应用请求,基于预设资源调度策略结合预先创建的webhook机制,对所述应用请求进行Kubernetes集群资源调度分配的步骤之前,还包括:
接入昇腾NPU芯片的算力资源,并基于所述算力资源在Kubernetes集群中创建算力资源集群;
基于所述算力资源集群,通过资源配额服务定义不同命名空间下的资源配额约束;
基于所述资源配额约束,建立controller机制和webhook机制,实现对不同命名空间下资源的配额管理。
3.如权利要求2所述的算力资源调度方法,其特征在于,所述接收用户的资源应用请求,基于预设资源调度策略结合预先创建的webhook机制,对所述应用请求进行Kubernetes集群资源调度分配的步骤,包括:
接收用户发起的资源应用请求;
基于预设资源调度策略,对所述应用请求进行资源调度,生成资源调度请求;
基于所述资源调度请求,调用预先创建的webhook机制对相关算力资源进行检验,生成检验结果;
基于所述检验结果,确认是否对Kubernetes集群的相关算力资源进行调度。
4.如权利要求2所述的算力资源调度方法,其特征在于,所述Kubernetes集群配置有HPA控制器,所述基于预设动态扩缩容策略,结合预先创建的controller机制对相关算力资源进行动态分配和回收的步骤,包括:
调用HPA控制器结合预先创建的controller机制监控不同命名空间下的算力资源的使用情况;
基于预设动态扩缩容策略与所述算力资源的使用情况,对相关算力资源进行动态分配和回收。
5.如权利要求2所述的算力资源调度方法,其特征在于,所述Kubernetes集群配置有HPA控制器,所述基于预设动态扩缩容策略,结合预先创建的controller机制对相关算力资源进行动态分配和回收的步骤,还包括:
按照预设时间周期进行调用HPA控制器;
结合预先创建的controller机制,基于预设动态扩缩容策略,对相关算力资源进行动态分配和回收。
6.如权利要求3所述的算力资源调度方法,其特征在于,所述基于所述检验结果,确认是否对Kubernetes集群的相关算力资源进行调度的步骤,包括:
若所述检验结果是所述资源调度请求满足所述资源配额约束,则对Kubernetes集群的相关算力资源进行调度;
若所述检验结果是所述资源调度请求不满足所述资源配额约束,则通过所述webhook机制对所述资源调度请求进行拦截,并报错给用户。
7.根据权利要求6中所述的算力资源调度方法,其特征在于,所述若所述检验结果是所述资源调度请求满足所述资源配额约束,则对Kubernetes集群的相关算力资源进行调度的步骤之后,还包括:
调用所述controller机制,基于预设规则更新不同命名空间下的算力资源的使用情况。
8.一种算力资源调度装置,其特征在于,所述算力资源调度装置包括:
资源调度分配模块,用于接收用户的资源应用请求,基于预设资源调度策略结合预先创建的webhook机制,对所述应用请求进行Kubernetes集群资源调度分配;
动态扩缩容模块,用于基于预设动态扩缩容策略,结合预先创建的controller机制对相关算力资源进行动态分配和回收。
9.一种终端设备,其特征在于,所述终端设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的算力资源调度程序,所述算力资源调度程序配置为实现如权利要求1至7中任一项所述的算力资源调度方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有算力资源调度程序,所述算力资源调度程序被处理器执行时实现如权利要求1至7任一项所述的算力资源调度方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410266431.6A CN118051341A (zh) | 2024-03-08 | 2024-03-08 | 算力资源调度方法、装置、终端设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410266431.6A CN118051341A (zh) | 2024-03-08 | 2024-03-08 | 算力资源调度方法、装置、终端设备以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118051341A true CN118051341A (zh) | 2024-05-17 |
Family
ID=91046611
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410266431.6A Pending CN118051341A (zh) | 2024-03-08 | 2024-03-08 | 算力资源调度方法、装置、终端设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118051341A (zh) |
-
2024
- 2024-03-08 CN CN202410266431.6A patent/CN118051341A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110519361B (zh) | 基于kubernetes的容器云平台多租户构建方法及装置 | |
CN111966500B (zh) | 资源调度方法、装置、电子设备及存储介质 | |
CN111796908B (zh) | 一种资源自动弹性伸缩的系统、方法及云平台 | |
US20110167421A1 (en) | Dynamic Scaling of Management Infrastructure in Virtual Environments | |
CN110661842B (zh) | 一种资源的调度管理方法、电子设备和存储介质 | |
US10356150B1 (en) | Automated repartitioning of streaming data | |
CN104679594B (zh) | 一种中间件分布式计算方法 | |
US11740921B2 (en) | Coordinated container scheduling for improved resource allocation in virtual computing environment | |
CN104050042A (zh) | Etl作业的资源分配方法及装置 | |
CN109101320B (zh) | 异构处理器平台融合管理系统 | |
CN111857977B (zh) | 弹性伸缩方法、装置、服务器和存储介质 | |
WO2020134364A1 (zh) | 一种虚拟机迁移方法、云计算管理平台和存储介质 | |
KR20210096259A (ko) | 컴퓨팅 리소스 할당 | |
CN112463290A (zh) | 动态调整计算容器的数量的方法、系统、装置和存储介质 | |
CN115766714A (zh) | 基于超级计算的公共计算平台 | |
CN112905334A (zh) | 资源管理方法、装置、电子设备和存储介质 | |
CN111767139A (zh) | 一种跨地域多数据中心资源云服务建模方法及系统 | |
CN113255165A (zh) | 一种基于动态任务分配的实验方案并行推演系统 | |
CN115686805A (zh) | Gpu资源共享的方法和装置、调度gpu资源共享的方法和装置 | |
CN111045802B (zh) | Redis集群组件调度系统及方法、平台设备 | |
CN114546587A (zh) | 一种在线图像识别服务的扩缩容方法及相关装置 | |
CN113626145A (zh) | 业务虚拟机数量动态扩容方法及系统 | |
CN115964176B (zh) | 云计算集群调度方法、电子设备和存储介质 | |
CN115102851B (zh) | 一种面向hpc与ai融合计算的融合平台及其资源管理方法 | |
CN112149139A (zh) | 权限管理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |