CN112241321A - 基于Kubernetes的算力调度方法和装置 - Google Patents

基于Kubernetes的算力调度方法和装置 Download PDF

Info

Publication number
CN112241321A
CN112241321A CN202011016774.5A CN202011016774A CN112241321A CN 112241321 A CN112241321 A CN 112241321A CN 202011016774 A CN202011016774 A CN 202011016774A CN 112241321 A CN112241321 A CN 112241321A
Authority
CN
China
Prior art keywords
machine
node set
training task
training
machine node
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.)
Granted
Application number
CN202011016774.5A
Other languages
English (en)
Other versions
CN112241321B (zh
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 Moviebook Technology Corp ltd
Original Assignee
Beijing Moviebook Technology Corp 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 Moviebook Technology Corp ltd filed Critical Beijing Moviebook Technology Corp ltd
Priority to CN202011016774.5A priority Critical patent/CN112241321B/zh
Publication of CN112241321A publication Critical patent/CN112241321A/zh
Application granted granted Critical
Publication of CN112241321B publication Critical patent/CN112241321B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种基于Kubernetes的算力调度方法和装置,涉及人工智能领域。该方法包括:对机器学习本次训练任务需要的计算资源进行解析,分解出目标加速卡类型和与数量,结合Kubernetes集群中所有机器节点的算力全局数据,按照预设策略筛选出对应的机器节点集合,据此锁定本次训练任务所使用机器节点的计算资源,在本次训练任务所使用的机器节点上建立节点间的互信互联网络,运行本次训练任务所使用的机器节点,学习训练程序完成训练。该装置包括:初始模块、解析模块、筛选模块、建立模块和训练模块。本申请实现了资源的智能化分配,无需人工调整,极大地提高了效率。

Description

基于Kubernetes的算力调度方法和装置
技术领域
本申请涉及人工智能领域,特别是涉及一种基于Kubernetes的算力调度方法和装置。
背景技术
近几年,随着深度神经网络在人工智能领域取得的巨大成功,业界涌现了许多开源的机器学习平台。而如何实现分布式任务调度,提高资源利用率成为深度神经网络分布式的云部署、边缘设备部署以及端设备部署的主要研究内容。
深度学习对于算力的要求越来越高,包括参数规模的陡增,迭代的时间变的更长,从之前的小时级别,变成天级别,甚至月级别。像视频业务拥有更多的参数和更为复杂的模型,面对TB级别的训练数据,单机场景下往往需要很久的训练样本时间。因此,如何提供硬件资源合理分配和高效的调动管理成为分布式部署的突破点。
Kubernetes是一个可移植的、可扩展的开源平台,用于管理容器化的工作负载和服务,它消除了容器化应用程序在部署、伸缩时涉及到的许多手动操作。Kubernetes编排让你能够构建多容器的应用服务,在集群上调度或伸缩这些容器,以及管理它们随时间变化的健康状态。Kubernetes通过标签与标签选择器进行筛选资源。标签是附加到对象上的键值对,旨在用于指定对用户有意义且相关的对象的标识属性。
因此,为了满足日益增长的计算能力需求,就必须以多台机器组成机器集群来提供服务。尽管Kubernetes的调度策略能够满足上述需求,但其标签与选择器的资源筛选机制,只是简单的匹配资源,需要人工手动指定机器节点和使用加速卡的属性,无法对资源进行智能分配。
发明内容
本申请的目的在于克服上述问题或者至少部分地解决或缓减解决上述问题。
根据本申请的一个方面,提供了一种基于Kubernetes的算力调度方法,包括:
预先获取Kubernetes集群中所有机器节点的基于加速卡类型和数量的算力全局数据;
对机器学习本次训练任务需要的计算资源进行解析,分解出目标加速卡类型和与数量;
根据所述算力全局数据和所述目标加速卡类型及数量,按照预设策略筛选出对应的机器节点集合,并根据该机器节点集合,锁定所述本次训练任务所使用机器节点的计算资源;
在所述本次训练任务所使用的机器节点上,通过创建Service、选择容器镜像、设置容器名称和环境变量来完成节点间互信互联网络的建立;
运行所述本次训练任务所使用的机器节点,学习训练程序完成训练。
可选地,根据所述算力全局数据和所述目标加速卡类型及数量,按照预设策略筛选出对应的机器节点集合,并根据该机器节点集合,锁定所述本次训练任务所使用机器节点的计算资源,包括:
根据所述算力全局数据,在所述Kubernetes集群中筛选出与所述目标加速卡类型及数量匹配的初选机器节点集合,再按照预设的优选策略从中筛选出优选机器节点集合,根据所述优选机器节点集合,锁定所述本次训练任务所使用机器节点的计算资源。
可选地,按照预设的优选策略从中筛选出优选机器节点集合,包括:
按照如下优选策略从所述初选机器节点集合中筛选出优选机器节点集合:
Figure BDA0002699323670000021
其中,所述Gi为所述Kubernetes集群中的第i个节点的资源使用率,在所述初选机器节点集合中,将所有资源使用率达到0.5*j的机器节点筛选出作为优选机器节点集合。
可选地,所述方法还包括:
在所述本次训练任务完成后,解除已锁定的所述本次训练任务所使用机器节点的计算资源,以供其他任务再次使用。
可选地,预先获取Kubernetes集群中所有机器节点的基于加速卡类型和数量的算力全局数据,包括:
在Kubernetes集群中,预先对所有机器节点的加速卡类型和数量进行注册与管理,得到基于加速卡类型和数量的算力全局数据。
根据本申请的另一个方面,提供了一种基于Kubernetes的算力调度装置,包括:
初始模块,其配置成预先获取Kubernetes集群中所有机器节点的基于加速卡类型和数量的算力全局数据;
解析模块,其配置成对机器学习本次训练任务需要的计算资源进行解析,分解出目标加速卡类型和与数量;
筛选模块,其配置成根据所述算力全局数据和所述目标加速卡类型及数量,按照预设策略筛选出对应的机器节点集合,并根据该机器节点集合,锁定所述本次训练任务所使用机器节点的计算资源;
建立模块,其配置成在所述本次训练任务所使用的机器节点上,通过创建Service、选择容器镜像、设置容器名称和环境变量来完成节点间互信互联网络的建立;
训练模块,其配置成运行所述本次训练任务所使用的机器节点,学习训练程序完成训练。
可选地,所述筛选模块具体配置成:
根据所述算力全局数据,在所述Kubernetes集群中筛选出与所述目标加速卡类型及数量匹配的初选机器节点集合,再按照预设的优选策略从中筛选出优选机器节点集合,根据所述优选机器节点集合,锁定所述本次训练任务所使用机器节点的计算资源。
可选地,所述筛选模块具体配置成:
按照如下优选策略从所述初选机器节点集合中筛选出优选机器节点集合:
Figure BDA0002699323670000041
其中,所述Gi为所述Kubernetes集群中的第i个节点的资源使用率,在所述初选机器节点集合中,将所有资源使用率达到0.5*j的机器节点筛选出作为优选机器节点集合。
可选地,所述装置还包括:
解除模块,其配置成在所述本次训练任务完成后,解除已锁定的所述本次训练任务所使用机器节点的计算资源,以供其他任务再次使用。
可选地,所述初始模块具体配置成:
在Kubernetes集群中,预先对所有机器节点的加速卡类型和数量进行注册与管理,得到基于加速卡类型和数量的算力全局数据。
根据本申请的又一个方面,提供了一种计算设备,包括存储器、处理器和存储在所述存储器内并能由所述处理器运行的计算机程序,其中,所述处理器执行所述计算机程序时实现如上所述的方法。
根据本申请的又一个方面,提供了一种计算机可读存储介质,优选为非易失性可读存储介质,其内存储有计算机程序,所述计算机程序在由处理器执行时实现如上所述的方法。
根据本申请的又一个方面,提供了一种计算机程序产品,包括计算机可读代码,当所述计算机可读代码由计算机设备执行时,导致所述计算机设备执行上述的方法。
本申请提供的技术方案,通过对机器学习本次训练任务需要的计算资源进行解析,分解出目标加速卡类型和与数量,再结合Kubernetes集群中所有机器节点的算力全局数据,按照预设策略筛选出对应的机器节点集合,据此锁定本次训练任务所使用机器节点的计算资源,在本次训练任务所使用的机器节点上建立节点间的互信互联网络,并运行这些机器节点,学习训练程序完成训练,从而实现了资源的智能化分配,无需人工调整,不用人工手动指定机器节点和使用加速卡的属性就能实现,极大地提高了效率和自动化程度,应用更广泛。
根据下文结合附图对本申请的具体实施例的详细描述,本领域技术人员将会更加明了本申请的上述以及其他目的、优点和特征。
附图说明
后文将参照附图以示例性而非限制性的方式详细描述本申请的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。附图中:
图1是根据本申请一个实施例的基于Kubernetes的算力调度方法流程图;
图2是根据本申请另一个实施例的基于Kubernetes的算力调度方法流程图;
图3是根据本申请另一个实施例的基于Kubernetes的算力调度装置结构图;
图4是根据本申请另一个实施例的计算设备结构图;
图5是根据本申请另一个实施例的计算机可读存储介质结构图。
具体实施方式
本发明实施例基于kubernetes来实现算力调度,Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效,Kubernetes提供了应用部署、规划、更新和维护的一种机制。
图1是根据本申请一个实施例的基于Kubernetes的算力调度方法流程图。参见图1,该方法包括:
101:预先获取Kubernetes集群中所有机器节点的基于加速卡类型和数量的算力全局数据;
本实施例中,Kubernetes集群中通常包括多个机器节点,具体数目可以根据需要来设置,每个机器节点的加速卡类型可以相同,也可以不同,具体不限定。
102:对机器学习本次训练任务需要的计算资源进行解析,分解出目标加速卡类型和与数量;
103:根据算力全局数据和目标加速卡类型及数量,按照预设策略筛选出对应的机器节点集合,并根据该机器节点集合,锁定本次训练任务所使用机器节点的计算资源;
其中,锁定本次训练任务所使用机器节点的计算资源,可以保证该计算资源仅用于本次训练任务,其它任务则不能对该计算资源进行调度。
104:在本次训练任务所使用的机器节点上,通过创建Service、选择容器镜像、设置容器名称和环境变量来完成节点间互信互联网络的建立;
105:运行本次训练任务所使用的机器节点,学习训练程序完成训练。
本实施例中,可选的,根据算力全局数据和目标加速卡类型及数量,按照预设策略筛选出对应的机器节点集合,并根据该机器节点集合,锁定本次训练任务所使用机器节点的计算资源,包括:
根据算力全局数据,在Kubernetes集群中筛选出与目标加速卡类型及数量匹配的初选机器节点集合,再按照预设的优选策略从中筛选出优选机器节点集合,根据优选机器节点集合,锁定本次训练任务所使用机器节点的计算资源。
本实施例中,可选的,按照预设的优选策略从中筛选出优选机器节点集合,包括:
按照如下优选策略从初选机器节点集合中筛选出优选机器节点集合:
Figure BDA0002699323670000061
其中,Gi为Kubernetes集群中的第i个节点的资源使用率,在初选机器节点集合中,将所有资源使用率达到0.5*j的机器节点筛选出作为优选机器节点集合。
本实施例中,可选的,上述方法还包括:
在本次训练任务完成后,解除已锁定的本次训练任务所使用机器节点的计算资源,以供其他任务再次使用。
本实施例中,可选的,预先获取Kubernetes集群中所有机器节点的基于加速卡类型和数量的算力全局数据,包括:
在Kubernetes集群中,预先对所有机器节点的加速卡类型和数量进行注册与管理,得到基于加速卡类型和数量的算力全局数据。
本实施例提供的上述方法,通过对机器学习本次训练任务需要的计算资源进行解析,分解出目标加速卡类型和与数量,再结合Kubernetes集群中所有机器节点的算力全局数据,按照预设策略筛选出对应的机器节点集合,据此锁定本次训练任务所使用机器节点的计算资源,在本次训练任务所使用的机器节点上建立节点间的互信互联网络,并运行这些机器节点,学习训练程序完成训练,从而实现了资源的智能化分配,无需人工调整,不用人工手动指定机器节点和使用加速卡的属性就能实现,极大地提高了效率和自动化程度,应用更广泛。
图2是根据本申请另一个实施例的基于Kubernetes的算力调度方法流程图。参见图2,该方法包括:
201:在Kubernetes集群中,预先对所有机器节点的加速卡类型和数量进行注册与管理,得到基于加速卡类型和数量的算力全局数据;
本实施例中,Kubernetes集群中的每一个机器节点都预先进行注册,通过注册流程可以得到每一个机器节点的加速卡类型和数量等信息,以便于后续进行筛选。其中,加速卡的类型有很多种,比如2080Ti、Titan V等等,具体不限定。
202:对机器学习本次训练任务需要的计算资源进行解析,分解出目标加速卡类型和与数量;
其中,目标加速卡类型和数量是指完成本次训练任务所需要的加速卡类型和数量,根据这些信息可以确定相应的机器节点来完成训练。
203:根据算力全局数据,在Kubernetes集群中筛选出与目标加速卡类型及数量匹配的初选机器节点集合;
其中,初选机器节点集合中的每一个机器节点,其加速卡类型和数量均匹配目标加速卡类型和数量。例如,解析出本次训练任务的需求是4块2080Ti加速卡,因此,在Kubernetes集群中筛选出拥有2080Ti类型且4块以上加速卡的机器节点,才是匹配本次训练任务需求的,而其它如安装有Titan V类型的机器节点是不能匹配本次训练任务需求的。
204:按照如下优选策略从初选机器节点集合中筛选出优选机器节点集合:
Figure BDA0002699323670000081
其中,Gi为Kubernetes集群中的第i个节点的资源使用率,在初选机器节点集合中,将所有资源使用率达到0.5*j的机器节点筛选出作为优选机器节点集合。
205:根据优选机器节点集合,锁定本次训练任务所使用机器节点的计算资源;
206:在本次训练任务所使用的机器节点上,通过创建Service、选择容器镜像、设置容器名称和环境变量来完成节点间互信互联网络的建立;
207:本次训练任务所使用的机器节点,学习训练程序完成训练;
208:在本次训练任务完成后,解除已锁定的本次训练任务所使用机器节点的计算资源,以供其他任务再次使用。
本实施例提供的上述方法,通过对机器学习本次训练任务需要的计算资源进行解析,分解出目标加速卡类型和与数量,再结合Kubernetes集群中所有机器节点的算力全局数据,按照预设策略筛选出对应的机器节点集合,据此锁定本次训练任务所使用机器节点的计算资源,在本次训练任务所使用的机器节点上建立节点间的互信互联网络,并运行这些机器节点,学习训练程序完成训练,从而实现了资源的智能化分配,无需人工调整,不用人工手动指定机器节点和使用加速卡的属性就能实现,极大地提高了效率和自动化程度,应用更广泛。
图3是根据本申请另一个实施例的基于Kubernetes的算力调度装置结构图。参见图3,该装置包括:
初始模块301,其配置成预先获取Kubernetes集群中所有机器节点的基于加速卡类型和数量的算力全局数据;
解析模块302,其配置成对机器学习本次训练任务需要的计算资源进行解析,分解出目标加速卡类型和与数量;
筛选模块303,其配置成根据算力全局数据和目标加速卡类型及数量,按照预设策略筛选出对应的机器节点集合,并根据该机器节点集合,锁定本次训练任务所使用机器节点的计算资源;
建立模块304,其配置成在本次训练任务所使用的机器节点上,通过创建Service、选择容器镜像、设置容器名称和环境变量来完成节点间互信互联网络的建立;
训练模块305,其配置成运行本次训练任务所使用的机器节点,学习训练程序完成训练。
本实施例中,可选的,上述筛选模块具体配置成:
根据算力全局数据,在Kubernetes集群中筛选出与目标加速卡类型及数量匹配的初选机器节点集合,再按照预设的优选策略从中筛选出优选机器节点集合,根据优选机器节点集合,锁定本次训练任务所使用机器节点的计算资源。
本实施例中,可选的,上述筛选模块具体配置成:
按照如下优选策略从初选机器节点集合中筛选出优选机器节点集合:
Figure BDA0002699323670000091
其中,Gi为Kubernetes集群中的第i个节点的资源使用率,在初选机器节点集合中,将所有资源使用率达到0.5*j的机器节点筛选出作为优选机器节点集合。
本实施例中,可选的,上述装置还包括:
解除模块,其配置成在本次训练任务完成后,解除已锁定的本次训练任务所使用机器节点的计算资源,以供其他任务再次使用。
本实施例中,可选的,上述初始模块具体配置成:
在Kubernetes集群中,预先对所有机器节点的加速卡类型和数量进行注册与管理,得到基于加速卡类型和数量的算力全局数据。
本实施例提供的上述装置,可以执行上述任一方法实施例提供的方法,详细过程详见方法实施例中的描述,此处不赘述。
本实施例提供的上述装置,通过对机器学习本次训练任务需要的计算资源进行解析,分解出目标加速卡类型和与数量,再结合Kubernetes集群中所有机器节点的算力全局数据,按照预设策略筛选出对应的机器节点集合,据此锁定本次训练任务所使用机器节点的计算资源,在本次训练任务所使用的机器节点上建立节点间的互信互联网络,并运行这些机器节点,学习训练程序完成训练,从而实现了资源的智能化分配,无需人工调整,不用人工手动指定机器节点和使用加速卡的属性就能实现,极大地提高了效率和自动化程度,应用更广泛。
根据下文结合附图对本申请的具体实施例的详细描述,本领域技术人员将会更加明了本申请的上述以及其他目的、优点和特征。
本申请实施例还提供了一种计算设备,参照图4,该计算设备包括存储器1120、处理器1110和存储在所述存储器1120内并能由所述处理器1110运行的计算机程序,该计算机程序存储于存储器1120中的用于程序代码的空间1130,该计算机程序在由处理器1110执行时实现用于执行任一项根据本发明的方法步骤1131。
本申请实施例还提供了一种计算机可读存储介质。参照图5,该计算机可读存储介质包括用于程序代码的存储单元,该存储单元设置有用于执行根据本发明的方法步骤的程序1131′,该程序被处理器执行。
本申请实施例还提供了一种包含指令的计算机程序产品。当该计算机程序产品在计算机上运行时,使得计算机执行根据本发明的方法步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、获取其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令处理器完成,所述的程序可以存储于计算机可读存储介质中,所述存储介质是非短暂性(英文:non-transitory)介质,例如随机存取存储器,只读存储器,快闪存储器,硬盘,固态硬盘,磁带(英文:magnetic tape),软盘(英文:floppy disk),光盘(英文:optical disc)及其任意组合。
以上所述,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

Claims (10)

1.一种基于Kubernetes的算力调度方法,包括:
预先获取Kubernetes集群中所有机器节点的基于加速卡类型和数量的算力全局数据;
对机器学习本次训练任务需要的计算资源进行解析,分解出目标加速卡类型和与数量;
根据所述算力全局数据和所述目标加速卡类型及数量,按照预设策略筛选出对应的机器节点集合,并根据该机器节点集合,锁定所述本次训练任务所使用机器节点的计算资源;
在所述本次训练任务所使用的机器节点上,通过创建Service、选择容器镜像、设置容器名称和环境变量来完成节点间互信互联网络的建立;
运行所述本次训练任务所使用的机器节点,学习训练程序完成训练。
2.根据权利要求1所述的方法,其特征在于,根据所述算力全局数据和所述目标加速卡类型及数量,按照预设策略筛选出对应的机器节点集合,并根据该机器节点集合,锁定所述本次训练任务所使用机器节点的计算资源,包括:
根据所述算力全局数据,在所述Kubernetes集群中筛选出与所述目标加速卡类型及数量匹配的初选机器节点集合,再按照预设的优选策略从中筛选出优选机器节点集合,根据所述优选机器节点集合,锁定所述本次训练任务所使用机器节点的计算资源。
3.根据权利要求2所述的方法,其特征在于,按照预设的优选策略从中筛选出优选机器节点集合,包括:
按照如下优选策略从所述初选机器节点集合中筛选出优选机器节点集合:
Figure FDA0002699323660000011
其中,所述Gi为所述Kubernetes集群中的第i个节点的资源使用率,在所述初选机器节点集合中,将所有资源使用率达到0.5*j的机器节点筛选出作为优选机器节点集合。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述本次训练任务完成后,解除已锁定的所述本次训练任务所使用机器节点的计算资源,以供其他任务再次使用。
5.根据权利要求1-4中任一项所述的方法,其特征在于,预先获取Kubernetes集群中所有机器节点的基于加速卡类型和数量的算力全局数据,包括:
在Kubernetes集群中,预先对所有机器节点的加速卡类型和数量进行注册与管理,得到基于加速卡类型和数量的算力全局数据。
6.一种基于Kubernetes的算力调度装置,包括:
初始模块,其配置成预先获取Kubernetes集群中所有机器节点的基于加速卡类型和数量的算力全局数据;
解析模块,其配置成对机器学习本次训练任务需要的计算资源进行解析,分解出目标加速卡类型和与数量;
筛选模块,其配置成根据所述算力全局数据和所述目标加速卡类型及数量,按照预设策略筛选出对应的机器节点集合,并根据该机器节点集合,锁定所述本次训练任务所使用机器节点的计算资源;
建立模块,其配置成在所述本次训练任务所使用的机器节点上,通过创建Service、选择容器镜像、设置容器名称和环境变量来完成节点间互信互联网络的建立;
训练模块,其配置成运行所述本次训练任务所使用的机器节点,学习训练程序完成训练。
7.根据权利要求6所述的装置,其特征在于,所述筛选模块具体配置成:
根据所述算力全局数据,在所述Kubernetes集群中筛选出与所述目标加速卡类型及数量匹配的初选机器节点集合,再按照预设的优选策略从中筛选出优选机器节点集合,根据所述优选机器节点集合,锁定所述本次训练任务所使用机器节点的计算资源。
8.根据权利要求7所述的装置,其特征在于,所述筛选模块具体配置成:
按照如下优选策略从所述初选机器节点集合中筛选出优选机器节点集合:
Figure FDA0002699323660000031
其中,所述Gi为所述Kubernetes集群中的第i个节点的资源使用率,在所述初选机器节点集合中,将所有资源使用率达到0.5*j的机器节点筛选出作为优选机器节点集合。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括:
解除模块,其配置成在所述本次训练任务完成后,解除已锁定的所述本次训练任务所使用机器节点的计算资源,以供其他任务再次使用。
10.根据权利要求6-9中任一项所述的装置,其特征在于,所述初始模块具体配置成:
在Kubernetes集群中,预先对所有机器节点的加速卡类型和数量进行注册与管理,得到基于加速卡类型和数量的算力全局数据。
CN202011016774.5A 2020-09-24 2020-09-24 基于Kubernetes的算力调度方法和装置 Active CN112241321B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011016774.5A CN112241321B (zh) 2020-09-24 2020-09-24 基于Kubernetes的算力调度方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011016774.5A CN112241321B (zh) 2020-09-24 2020-09-24 基于Kubernetes的算力调度方法和装置

Publications (2)

Publication Number Publication Date
CN112241321A true CN112241321A (zh) 2021-01-19
CN112241321B CN112241321B (zh) 2024-08-09

Family

ID=74171254

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011016774.5A Active CN112241321B (zh) 2020-09-24 2020-09-24 基于Kubernetes的算力调度方法和装置

Country Status (1)

Country Link
CN (1) CN112241321B (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112862098A (zh) * 2021-02-10 2021-05-28 杭州幻方人工智能基础研究有限公司 一种集群训练任务处理的方法及系统
CN112925651A (zh) * 2021-04-06 2021-06-08 北京百度网讯科技有限公司 应用资源部署方法、装置、电子设备和介质
CN112925640A (zh) * 2021-02-10 2021-06-08 杭州幻方人工智能基础研究有限公司 一种集群训练节点分配方法、电子设备
CN113469372A (zh) * 2021-07-02 2021-10-01 北京市商汤科技开发有限公司 强化学习训练方法、装置、电子设备以及存储介质
CN113973049A (zh) * 2021-10-13 2022-01-25 中国科学院计算技术研究所 一种fpga集群管理与部署比特流的方法
CN114756379A (zh) * 2022-05-20 2022-07-15 苏州浪潮智能科技有限公司 一种基于混合加速卡进行任务训练的方法及系统
CN115473901A (zh) * 2022-11-15 2022-12-13 四川汉唐云分布式存储技术有限公司 一种分布式算力集群智慧调度方法、装置及计算机设备
CN115562870A (zh) * 2022-10-25 2023-01-03 北京京航计算通讯研究所 一种集群的任务节点资源构建方法
CN116048773A (zh) * 2022-10-25 2023-05-02 北京京航计算通讯研究所 一种基于波函数坍缩的分布式协作任务指派方法和系统
CN116302448A (zh) * 2023-05-12 2023-06-23 中国科学技术大学先进技术研究院 任务调度方法和系统
CN116541338A (zh) * 2023-06-27 2023-08-04 苏州浪潮智能科技有限公司 一种计算系统、模型训练方法、装置及产品
CN117114091A (zh) * 2023-10-25 2023-11-24 深圳开鸿数字产业发展有限公司 基于联邦学习的计算图处理方法、计算机设备和存储介质
CN117194991A (zh) * 2023-11-03 2023-12-08 四川并济科技有限公司 基于gpu集群的高维数据推荐系统及方法
CN117472550A (zh) * 2023-12-27 2024-01-30 环球数科集团有限公司 一种基于aigc的算力共享系统

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170134304A1 (en) * 2015-11-09 2017-05-11 Wistron Corporation Resource planning method, system, and apparatus for cluster computing architecture
CN109213600A (zh) * 2018-09-11 2019-01-15 郑州云海信息技术有限公司 一种基于ai云的gpu资源调度方法和装置
CN109491790A (zh) * 2018-11-02 2019-03-19 中山大学 基于容器的工业物联网边缘计算资源分配方法及系统
CN109634748A (zh) * 2018-12-12 2019-04-16 深圳前海微众银行股份有限公司 集群资源调度方法、装置、设备及计算机可读存储介质
CN109992404A (zh) * 2017-12-31 2019-07-09 中国移动通信集团湖北有限公司 集群计算资源调度方法、装置、设备及介质
CN110413391A (zh) * 2019-07-24 2019-11-05 上海交通大学 基于容器集群的深度学习任务服务质量保证方法和系统
CN110502340A (zh) * 2019-08-09 2019-11-26 广东浪潮大数据研究有限公司 一种资源动态调整方法、装置、设备及存储介质
CN111209077A (zh) * 2019-12-26 2020-05-29 中科曙光国际信息产业有限公司 深度学习框架设计方法
CN111327692A (zh) * 2020-02-05 2020-06-23 北京百度网讯科技有限公司 模型训练方法、装置及集群系统

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170134304A1 (en) * 2015-11-09 2017-05-11 Wistron Corporation Resource planning method, system, and apparatus for cluster computing architecture
CN109992404A (zh) * 2017-12-31 2019-07-09 中国移动通信集团湖北有限公司 集群计算资源调度方法、装置、设备及介质
CN109213600A (zh) * 2018-09-11 2019-01-15 郑州云海信息技术有限公司 一种基于ai云的gpu资源调度方法和装置
CN109491790A (zh) * 2018-11-02 2019-03-19 中山大学 基于容器的工业物联网边缘计算资源分配方法及系统
CN109634748A (zh) * 2018-12-12 2019-04-16 深圳前海微众银行股份有限公司 集群资源调度方法、装置、设备及计算机可读存储介质
CN110413391A (zh) * 2019-07-24 2019-11-05 上海交通大学 基于容器集群的深度学习任务服务质量保证方法和系统
CN110502340A (zh) * 2019-08-09 2019-11-26 广东浪潮大数据研究有限公司 一种资源动态调整方法、装置、设备及存储介质
CN111209077A (zh) * 2019-12-26 2020-05-29 中科曙光国际信息产业有限公司 深度学习框架设计方法
CN111327692A (zh) * 2020-02-05 2020-06-23 北京百度网讯科技有限公司 模型训练方法、装置及集群系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
唐伦;赵培培;赵国繁;陈前斌;: "基于深度信念网络资源需求预测的虚拟网络功能动态迁移算法", 电子与信息学报, no. 06, 21 February 2019 (2019-02-21) *

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112925640A (zh) * 2021-02-10 2021-06-08 杭州幻方人工智能基础研究有限公司 一种集群训练节点分配方法、电子设备
CN112925640B (zh) * 2021-02-10 2024-09-06 杭州幻方人工智能基础研究有限公司 一种集群训练节点分配方法、电子设备
CN112862098B (zh) * 2021-02-10 2024-10-01 杭州幻方人工智能基础研究有限公司 一种集群训练任务处理的方法及系统
CN112862098A (zh) * 2021-02-10 2021-05-28 杭州幻方人工智能基础研究有限公司 一种集群训练任务处理的方法及系统
CN112925651B (zh) * 2021-04-06 2023-07-04 北京百度网讯科技有限公司 应用资源部署方法、装置、电子设备和介质
CN112925651A (zh) * 2021-04-06 2021-06-08 北京百度网讯科技有限公司 应用资源部署方法、装置、电子设备和介质
CN113469372A (zh) * 2021-07-02 2021-10-01 北京市商汤科技开发有限公司 强化学习训练方法、装置、电子设备以及存储介质
CN113973049A (zh) * 2021-10-13 2022-01-25 中国科学院计算技术研究所 一种fpga集群管理与部署比特流的方法
CN114756379A (zh) * 2022-05-20 2022-07-15 苏州浪潮智能科技有限公司 一种基于混合加速卡进行任务训练的方法及系统
CN114756379B (zh) * 2022-05-20 2024-06-11 苏州浪潮智能科技有限公司 一种基于混合加速卡进行任务训练的方法及系统
CN116048773A (zh) * 2022-10-25 2023-05-02 北京京航计算通讯研究所 一种基于波函数坍缩的分布式协作任务指派方法和系统
CN115562870A (zh) * 2022-10-25 2023-01-03 北京京航计算通讯研究所 一种集群的任务节点资源构建方法
CN115562870B (zh) * 2022-10-25 2023-07-21 北京京航计算通讯研究所 一种集群的任务节点资源构建方法
CN116048773B (zh) * 2022-10-25 2024-05-28 北京京航计算通讯研究所 一种基于波函数坍缩的分布式协作任务指派方法和系统
CN115473901A (zh) * 2022-11-15 2022-12-13 四川汉唐云分布式存储技术有限公司 一种分布式算力集群智慧调度方法、装置及计算机设备
CN116302448A (zh) * 2023-05-12 2023-06-23 中国科学技术大学先进技术研究院 任务调度方法和系统
CN116302448B (zh) * 2023-05-12 2023-08-11 中国科学技术大学先进技术研究院 任务调度方法和系统
CN116541338A (zh) * 2023-06-27 2023-08-04 苏州浪潮智能科技有限公司 一种计算系统、模型训练方法、装置及产品
CN116541338B (zh) * 2023-06-27 2023-11-03 苏州浪潮智能科技有限公司 一种计算系统、模型训练方法、装置及产品
CN117114091B (zh) * 2023-10-25 2024-03-05 深圳开鸿数字产业发展有限公司 基于联邦学习的计算图处理方法、计算机设备和存储介质
CN117114091A (zh) * 2023-10-25 2023-11-24 深圳开鸿数字产业发展有限公司 基于联邦学习的计算图处理方法、计算机设备和存储介质
CN117194991B (zh) * 2023-11-03 2024-02-13 四川并济科技有限公司 基于gpu集群的高维数据推荐系统及方法
CN117194991A (zh) * 2023-11-03 2023-12-08 四川并济科技有限公司 基于gpu集群的高维数据推荐系统及方法
CN117472550B (zh) * 2023-12-27 2024-03-01 环球数科集团有限公司 一种基于aigc的算力共享系统
CN117472550A (zh) * 2023-12-27 2024-01-30 环球数科集团有限公司 一种基于aigc的算力共享系统

Also Published As

Publication number Publication date
CN112241321B (zh) 2024-08-09

Similar Documents

Publication Publication Date Title
CN112241321B (zh) 基于Kubernetes的算力调度方法和装置
CN110546606B (zh) 租户升级分析系统及方法
Balalaie et al. Microservices architecture enables devops: Migration to a cloud-native architecture
US9519884B2 (en) Data driven dynamic workflow
EP3675424B1 (en) Method and apparatus for deploying network service
US20200097847A1 (en) Hyperparameter tuning using visual analytics in a data science platform
Breitenbücher et al. Pattern-based runtime management of composite cloud applications
US10104187B2 (en) System, computer program, and method for dividing services into subsets based on interdependencies
DE112021006130T5 (de) Automatisierte orchestrierung von containern durch bewerten von mikrodiensten
US20140019933A1 (en) Selecting a development associate for work in a unified modeling language (uml) environment
US20110099536A1 (en) Determining Context Specific Content
Soldani et al. ToscaMart: a method for adapting and reusing cloud applications
CN102982396A (zh) 通用过程建模框架
US20070220509A1 (en) System and method for deploying software based on matching provisioning requirements and capabilities
CN113906452A (zh) 利用转移学习的低资源实体解析
Syed et al. A reference architecture for the container ecosystem
Thevenin et al. Makespan minimisation for a parallel machine scheduling problem with preemption and job incompatibility
Dutta et al. A data set for quantitative motion analysis
AU2021286505B2 (en) Automating an adoption of cloud services
CN110784347A (zh) 一种容器集群的节点管理方法、系统、设备及存储介质
US8234644B2 (en) Selecting a system management product for performance of system management tasks
Bocciarelli et al. Model transformation services for MSaaS platforms
Zimmermann et al. Multiple perspectives of digital enterprise architecture
CN117289904A (zh) 人工智能模型构建方法、系统、设备及存储介质
CN114489954A (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
GR01 Patent grant
GR01 Patent grant