CN117311990A - 资源调整方法、装置、电子设备、存储介质及训练平台 - Google Patents

资源调整方法、装置、电子设备、存储介质及训练平台 Download PDF

Info

Publication number
CN117311990A
CN117311990A CN202311597253.7A CN202311597253A CN117311990A CN 117311990 A CN117311990 A CN 117311990A CN 202311597253 A CN202311597253 A CN 202311597253A CN 117311990 A CN117311990 A CN 117311990A
Authority
CN
China
Prior art keywords
target
container
core
resource
central processor
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
CN202311597253.7A
Other languages
English (en)
Other versions
CN117311990B (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.)
Suzhou Metabrain Intelligent Technology Co Ltd
Original Assignee
Suzhou Metabrain Intelligent 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 Suzhou Metabrain Intelligent Technology Co Ltd filed Critical Suzhou Metabrain Intelligent Technology Co Ltd
Priority to CN202311597253.7A priority Critical patent/CN117311990B/zh
Publication of CN117311990A publication Critical patent/CN117311990A/zh
Application granted granted Critical
Publication of CN117311990B publication Critical patent/CN117311990B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • 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
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种资源调整方法、装置、电子设备、存储介质及训练平台,应用于人工智能技术领域。其中,方法包括获取执行待训练任务的计算节点的容器集合及其关联的容器;根据容器集合的资源配置信息、计算节点的资源占用信息和用户资源需求,按照执行待训练任务的目标图形处理器和目标中央处理器核优先位于同一个非一致内存访问组的方式,为该容器选择需要绑定的目标中央处理器核,并更新容器对应的进程组的配置信息,完成中央处理器核与容器的绑定。本发明可以解决相关技术无法保证AI训练任务高效完成的问题,在AI训练任务执行过程中通过资源调整能够最大程度保证AI训练任务的高效完成。

Description

资源调整方法、装置、电子设备、存储介质及训练平台
技术领域
本发明涉及人工智能技术领域,特别是涉及一种资源调整方法、装置、电子设备、可读存储介质及人工智能训练平台。
背景技术
随着云技术的快速发展,目前进行AI(Artificial Intelligence,人工智能)训练通常会基于容器打包训练任务运行环境,并基于k8s(Kubernetes,开源容器集群管理系统)搭建多任务的AI训练平台。AI训练任务的训练过程需要使用大量CPU(Central ProcessingUnit,中央处理器)资源执行各种任务,为了保证AI训练任务的高效完成,这就要求AI训练平台为AI训练任务提供最优的CPU分配策略。
发明内容
本发明提供了一种资源调整方法、装置、电子设备、可读存储介质及人工智能训练平台,通过对AI训练任务执行过程的资源进行调整,能够最大程度保证AI训练任务的高效完成。
为解决上述技术问题,本发明提供以下技术方案:
本发明一方面提供了一种资源调整方法,包括:
预先构建进程组配置文件;所述进程组配置文件存储容器对应的进程组的配置信息,所述配置信息至少记载相应容器的中央处理器核绑定信息;
获取执行待训练任务的计算节点的容器集合及其关联的容器;
根据所述容器集合的资源配置信息、所述计算节点的资源占用信息和用户资源需求,按照执行所述待训练任务的目标图形处理器和目标中央处理器核优先位于同一个非一致内存访问组的方式,为所述容器选择进行绑定的目标中央处理器核;
更新所述容器对应的进程组的配置信息,以完成中央处理器核与所述容器的绑定;
其中,所述资源配置信息包括所述容器集合分配的图形处理器,所述用户资源需求包括用户需求用于执行所述待训练任务的图形处理器需求数量和中央处理器核需求数量,目标中央处理器核数量与所述中央处理器核需求数量相同,目标图形处理器数量与所述图形处理器需求数量相同。
在第一种示例性的实施方式中,所述按照执行所述待训练任务的目标图形处理器和目标中央处理器核优先位于同一非一致内存访问组的方式,为所述容器选择进行绑定的目标中央处理器核,包括:
获取所述计算节点在当前时刻位于同一个目标非一致内存访问组内空闲中央处理器核数目和空闲图形处理器核数目;
若所述空闲图形处理器核数目大于等于所述图形处理器需求数量,且所述空闲中央处理器核数目大于等于所述中央处理器核需求数量,则从所述目标非一致内存访问组内选择目标图形处理器核和目标中央处理器核。
在第二种示例性的实施方式中,若所述空闲图形处理器核数目大于等于所述图形处理器需求数量,且所述空闲中央处理器核数目小于所述中央处理器核需求数量,则从所述目标非一致内存访问组内选择目标图形处理器,从所述目标非一致内存访问组内选择所有中央处理器核,并从候选非一致内存访问组选择剩余中央处理器核,共同组成目标中央处理器核。在第三种示例性的实施方式中,所述获取所述计算节点在当前时刻位于同一个目标非一致内存访问组内空闲中央处理器核数目和空闲图形处理器核数目,包括:
获取所述计算节点的中央处理器核-图形处理器拓扑关系;
基于所述中央处理器核-图形处理器拓扑关系,获取所述计算节点在当前时刻位于同一个目标非一致内存访问组内空闲中央处理器核数目和空闲图形处理器核数目。
在第四种示例性的实施方式中,若目标中央处理器核为多个,所有目标图形处理器位于同一个目标非一致内存访问组,至少存在一个目标中央处理器核不属于所述目标非一致内存访问组,所述为所述容器选择进行绑定的目标中央处理器核之后,还包括:
监测位于所述目标非一致内存访问组内、但不属于目标中央处理器核的至少一个候选中央处理器核的使用状态;
当检测到存在处于空闲状态的目标候选中央处理器核,则在所述待训练任务对应的容器维持当前运行状态下,将所述目标候选中央处理器核调整为目标中央处理器核,同时释放不属于目标非一致内存访问组的第一目标中央处理器核。
在第五种示例性的实施方式中,所述更新所述容器对应的进程组的配置信息,包括:
将所述容器对应的进程组的配置信息中的第一目标中央处理器核的编号替换为所述目标候选中央处理器核的编号。
在第六种示例性的实施方式中,所述获取执行待训练任务的计算节点的容器集合及其关联的容器,包括:
获取在业务平台创建待训练任务后,基于用户资源需求为所述待训练任务分配的计算节点;所述计算节点已基于资源配置信息完成服务质量为中等优先级的容器集合的创建;
根据所述计算节点的拓扑关系,获取所述容器集合对应的资源配置信息;
根据所述资源配置信息查找所述容器集合对应的容器。
在第七种示例性的实施方式中,所述获取执行待训练任务的计算节点的容器集合及其关联的容器之后,包括:
若所述容器为新建容器,则根据所述容器集合的资源配置信息、所述计算节点的资源占用信息和用户资源需求,按照执行所述待训练任务的目标图形处理器和目标中央处理器核优先位于同一个非一致内存访问组的方式,为所述容器选择进行绑定的目标中央处理器核。
在第八种示例性的实施方式中,所述获取执行待训练任务的计算节点的容器集合及其关联的容器之后,包括:
若所述容器不为新建容器,判断所述容器的目标图形处理器和目标中央处理器是否属于同一个非一致内存访问组;
若所述容器的目标图形处理器和目标中央处理器不属于同一个非一致内存访问组,则生成目标处理器核动态调整指令。
在第九种示例性的实施方式中,所述获取执行待训练任务的计算节点的容器集合及其关联的容器之后,包括:
若所述容器不为新建容器,当接收到中央处理器核数量调整指令,则更新所述容器对应的进程组的配置信息,并将更新后的进程组的配置信息上传至业务平台。
在第十种示例性的实施方式中,所述更新所述容器对应的进程组的配置信息,包括:
获取所述容器所在宿主机的目录;
从所述目录中读取所述容器对应的进程组的配置信息,以将目标中央处理器核的编号更新至相应配置信息中。
在第十一种示例性的实施方式中,所述更新所述容器对应的进程组的配置信息之后,还包括:
监测所述容器的至少一个目标中央处理器核的利用率;
根据各目标中央处理器核的利用率和预设资源动态调整条件,自动调整所述容器绑定的目标中央处理器核的数量;
当所述容器绑定的目标中央处理器核的数量发生变化,再次更新所述容器对应的进程组的配置信息。
在第十二种示例性的实施方式中,所述根据各目标中央处理器核的利用率和预设资源动态调整条件之前,还包括:
获取中央处理器利用率允许最大值和中央处理器利用率允许最小值;
根据目标中央处理器核的利用率与所述中央处理器利用率允许最小值、所述中央处理器利用率允许最大值之间的数值关系,生成预设资源动态调整条件。
在第十三种示例性的实施方式中,所述根据各目标中央处理器核的利用率和预设资源动态调整条件,自动调整所述容器绑定的目标中央处理器核的数量,包括:
当检测到当前目标中央处理器核的利用率大于等于所述中央处理器利用率允许最大值,则从与所述目标图形处理器所属的非一致内存访问组中选择至少一个空闲中央处理器核,作为新增目标中央处理器核。
在第十四种示例性的实施方式中,所述根据各目标中央处理器核的利用率和预设资源动态调整条件,自动调整所述容器绑定的目标中央处理器核的数量,包括:
当检测到当前目标中央处理器核的利用率大于等于所述中央处理器利用率允许最大值,若所述目标图形处理器所属的非一致内存访问组不存在空闲中央处理器核,则从具有空闲中央处理器核的其他非一致内存访问组中选择至少一个空闲中央处理器核,以作为新增目标中央处理器核。
在第十五种示例性的实施方式中,所述根据各目标中央处理器核的利用率和预设资源动态调整条件,自动调整所述容器绑定的目标中央处理器核的数量,包括:
当检测到当前目标中央处理器核的利用率小于所述中央处理器利用率允许最小值,则将所述当前目标中央处理器核与所述容器进行解绑操作。在第十六种示例性的实施方式中,所述监测所述容器的至少一个目标中央处理器核的利用率,包括:
当接收到利用率监测频率配置指令,获取利用率监测频率;
按照所述利用率监测频率,监测所述容器的至少一个目标中央处理器核的利用率。
在第十七种示例性的实施方式中,所述待训练任务为多机分布式训练任务,所述更新所述容器对应的进程组的配置信息之后,还包括:
获取所述待训练任务各执行单元对应的预期减少的中央处理器核调整数量,并将最小的中央处理器核调整数量作为目标中央处理器核调整数量;
根据所述目标中央处理器核调整数量对应调整各执行单元的中央处理器核,同时将所述目标中央处理器核调整数量发送至业务平台,以使所述业务平台更新所述待训练任务的资源配置。
本发明另一方面提供了一种资源调整装置,包括:
配置文件预构建模块,用于预先构建进程组配置文件;所述进程组配置文件存储容器对应的进程组的配置信息,所述配置信息至少记载相应容器的中央处理器核绑定信息;
容器信息获取模块,用于获取执行待训练任务的计算节点的容器集合及其关联的容器;
中央处理器核选择模块,用于根据所述容器集合的资源配置信息、所述计算节点的资源占用信息和用户资源需求,按照执行所述待训练任务的目标图形处理器和目标中央处理器核优先位于同一个非一致内存访问组的方式,为所述容器选择进行绑定的目标中央处理器核;其中,所述资源配置信息包括所述容器集合分配的图形处理器,所述用户资源需求包括用户需求用于执行所述待训练任务的图形处理器需求数量和中央处理器核需求数量,目标中央处理器核数量与所述中央处理器核需求数量相同,目标图形处理器数量与所述图形处理器需求数量相同;
绑定模块,用于更新所述容器对应的进程组的配置信息,以完成中央处理器核与所述容器的绑定。
本发明还提供了一种电子设备,包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如前任一项所述资源调整方法的步骤。
本发明还提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前任一项所述资源调整方法的步骤。
本发明最后还提供了一种人工智能训练平台,包括k8s集群和多个所述资源调整装置;所述k8s集群的至少一个计算节点同时部署所述资源调整装置。
本发明提供的技术方案的优点在于,根据容器集合的资源配置信息、计算节点的资源占用信息和用户资源需求可为容器选择绑定的中央处理器核与容器集合分配的图形处理器能够最大程度保证属于同一个非一致内存访问组的方式,大幅度提升数据访问速度,从而提高数据处理效率,进而最大程度的能高效完成AI训练任务;此外,容器绑定CPU核并不限制其服务质量级别的最高优先级,且无需对Pod中的每个容器的CPU和内存设置相同的限制,更加符合AI训练任务的Pod使用场景,实用性更强。
此外,本发明还针对资源调整方法提供了相应的实现装置、电子设备、可读存储介质及人工智能训练平台,进一步使得所述方法更具有实用性,所述装置、电子设备、可读存储介质及人工智能训练平台具有相应的优点。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。
附图说明
为了更清楚的说明本发明或相关技术的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种资源调整方法的流程示意图;
图2为本发明提供的容器与CPU核绑定的一种示意图;
图3为本发明提供的容器与CPU核绑定的另一种示意图;
图4为本发明提供的更新容器与CPU核绑定的一种示意图;
图5为本发明提供的另一种资源调整方法的流程示意图;
图6为本发明提供的CPU核的动态调整流程示意图;
图7为本发明提供的CPU核动态调整的控制流程示意图;
图8为本发明提供的一个示例性应用场景的框架示意图;
图9为本发明提供的再一种资源调整方法的流程示意图;
图10为本发明提供的资源调整装置的一种具体实施方式结构框架图;
图11为本发明提供的电子设备的一种具体实施方式结构图;
图12为本发明提供的人工智能训练平台的一种具体实施方式结构框架图。
具体实施方式
为了使本技术领域的人员更好地理解本发明的技术方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。其中,说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及二者的任何变形,意图在于覆盖不排他的包含。术语“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
随着AI技术的发展,AI技术(Artificial Intelligence,人工智能)被广泛应用在各行各业中,通过大量数据和AI算法训练AI模型,让AI系统学会执行特定任务的AI训练任务的需求日益增多,可集项目管理、数据集管理、数据标注、模型训练为一体的全流程的AI训练平台应用而生。其中,基于K8s搭建的AI训练平台被广泛应用。
AI训练任务通常对计算资源如GPU和CPU、存储资源、内存、主机间网络带宽等都有较高的要求,尤其是CPU资源,AI训练任务需要使用CPU资源执行磁盘数据集读写、网络数据转发等任务。而且,在一些大模型场景中,部分训练框架会将GPU显存无法存储的模型参数卸载至内存中或者利用CPU进行计算,内存与GPU显存之间的数据传输也需要消耗较多的CPU资源,这就要求AI训练平台能够为训练任务提供最优的CPU分配方式。
若对容器不进行CPU限制,运行在同一节点的多个容器进程会争夺CPU资源,这就导致分布式训练任务执行过程中,极易出现训练速度不稳定的问题。而若单纯限制容器可以使用的CPU核数,而不进行CPU绑定,由于容器内进程仍然会基于Linux自身的CPU调度机制随机运行在多个CPU上,就只是能够保证CPU使用时间占比得到保证,无法确保高效完成AI训练任务。基于此,相关技术在限制CPU核数的基础上,同时对容器进行CPU核绑定。但是,相关技术要求Pod中的每个容器的CPU和内存都需要设置相同的request(也即k8s必须要保证的启动资源)和limit(也即将来容器运行可能使用的资源上限)限制,才能进行CPU核的绑定,这并不符合AI训练任务的Pod使用场景,并且容器内进程虽然会被限制在某几个固定的CPU核,但是,无法保证分配的CPU与容器分配的GPU在同一个NUMA组,这就导致AI训练任务无法高效完成。
鉴于此,为了解决相关技术存在的上述弊端问题,本发明根据容器集合的资源配置信息、计算节点的资源占用信息和用户资源需求,为容器选择绑定的中央处理器核与容器集合分配的图形处理器能够最大程度保证属于同一个非一致内存访问组的方式,从而通过对AI训练任务所需资源的调整,实现最大程度保证AI训练任务的高效完成。在介绍了本发明的技术方案后,下面详细的说明本发明的各种非限制性实施方式。为了更好的说明本发明,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有这些具体细节,本发明同样可以实施。在另外一些实例中,对于所属领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本发明的主旨。
首先请参见图1,图1为本实施例提供的一种资源调整方法的流程示意图,本发明适用于基于k8s所搭建的AI训练平台在执行训练任务过程中的计算资源的调整,本实施例可包括以下内容:
S101:预先构建进程组配置文件。
本实施例的进程组配置文件用于存储每个容器对应的进程组的配置信息,配置信息至少记载相应容器的中央处理器核绑定信息。进程组配置文件可包括多个子文件,每个子文件唯一对应一个容器,该子文件只用于记载该容器的中央处理器核绑定的相关数据,如CPU核的编号。当然,进程组配置文件可包括多个子文件,每个子文件用于记录多个容器的中央处理器核绑定的相关数据,每个容器的中央处理器核绑定信息可根据容器的唯一标识信息如容器ID作为索引,以便于进行数据检索。进程组配置文件支持在容器运行过程中更新该容器的中央处理器核绑定信息,更新操作包括但并不限制于删除、新增和修改,当进程组配置文件中的容器的中央处理器核绑定信息发生更改,则会相应的调整容器所绑定的中央处理器核使其保持一致。由于进程组配置文件的更新过程是在容器正常运行过程中进行的,所以并不需要重建容器,也不会影响容器的运行,换言之,容器的中央处理器核的动态调整和绑定是在该容器对应的待执行任务不中止的情况下实现的。
S102:获取执行待训练任务的计算节点的容器集合及其关联的容器。
在本步骤中,待训练任务为用户通过业务平台或业务平台通过自动化程序自动触发下发给AI训练平台的,该待训练任务可为任何一种人工智能领域中的训练任务,如分布式训练任务,多机多卡训练任务、单机多卡训练任务,单机单卡任务、多级单卡任务等。其中,多机是指待训练任务由多个worker(也即执行单元)执行,多卡是指多个CPU。业务平台下发待训练任务时,会携带该待训练任务的用户资源需求,所谓用户资源需求是指用户希望执行该待训练任务时所需的计算资源,举例来说,业务平台创建分布式训练任务,该Job(也即任务)包含2个worker,每个worker需要4个GPU、40个CPU。对于AI训练任务通常会做以下资源配置:对于AI训练任务通常会做以下资源配置:不进行内存使用的限制,只进行CPU资源的使用限制,此时该Pod的Qos为 Burstable,无法使用k8s内置的容器绑定CPU核功能如下所示:
resources:
limits:
CPU:"40"
nvidia.com/GPU:"4"
requests:
CPU:"40"
nvidia.com/GPU:"4"
k8s集群的平台调度器完成节点级别资源分配,在基于诸如spread(也即平铺)调度策略时,待训练任务的执行单元如2个worker会分配到对应的计算节点,通过调度这两个计算节点执行待处理任务,计算节点在基于k8s机制完成Pod创建启动后,便可被识别到该Pod,同时也可以获取到容器集合的资源配置信息,容器集合的资源配置信息包括但并不限制于Pod配置的CPU个数和该Pod分配的GPU信息。Pod为k8s的最小单位,也是最小化运行容器化应用的资源对象,其包含一组容器。一个Pod代表着k8s集群中运行的一个进程。
S103:根据容器集合的资源配置信息、计算节点的资源占用信息和用户资源需求,按照执行待训练任务的目标图形处理器和目标中央处理器核优先位于同一个非一致内存访问组的方式,为容器选择进行绑定的目标中央处理器核。
在上述步骤中确定计算节点、Pod(容器集合)和获取待训练任务之后,便可得到容器集合的资源配置信息、用户资源需求和该计算节点的资源占用信息,尤其是CPU核资源使用情况。本步骤对容器绑定的CPU核进行管理时,优先选择与GPU相同NUMA组的CPU核进行绑定。同一个组内的多个GPU与各CPU核可通过PCIe(peripheral component interconnectexpress)是一种高速串行计算机扩展总线标准) Switch(也即接口芯片)相连。为了便于描述,本步骤定义执行待训练任务所使用的GPU为目标图形处理器,所使用的CPU核为目标中央处理器核,也即与容器进行绑定的中央处理器核。由于资源配置信息包括容器集合分配的图形处理器,按照执行待训练任务的目标图形处理器和目标中央处理器核优先位于同一个非一致内存访问组的方式可以确定GPU和CPU核之间的是否属于同一个NUMA组,基于用户资源需求所包括的用户需求用于执行待训练任务的图形处理器需求数量和中央处理器核需求数量,可确定最终选择的目标中央处理器核数量与中央处理器核需求数量相同,目标图形处理器数量与图形处理器需求数量相同。
S104:更新容器对应的进程组的配置信息,以完成中央处理器核与容器的绑定。
可以理解的是,容器在创建时,将容器内的进程限制在只运行在某几个固定的中央处理器核内,进程使用该中央处理器核所在NUMA组的内存、图形处理器,可以提高容器内的性能,在上个步骤确定容器所要绑定的目标中央处理器核之后,需要进行绑定操作。Cgroup(control group,进程组)为Linux下的一种将进程按组进行管理的机制,用于限制、控制和统计进程组的系统资源使用情况,通过更新容器对应的进程组的配置信息中所记载的相应的CPU配置文件数据,便可实现对中央处理器核与容器的绑定。
在本实施例提供的技术方案中,根据容器集合的资源配置信息、计算节点的资源占用信息和用户资源需求可为容器选择绑定的中央处理器核与容器集合分配的图形处理器能够最大程度保证属于同一个非一致内存访问组的方式,大幅度提升数据访问速度,从而提高数据处理效率,进而最大程度的能高效完成AI训练任务;此外,容器绑定CPU核并不限制其服务质量级别的最高优先级,且无需对Pod中的每个容器的CPU和内存设置相同的限制,更加符合AI训练任务的Pod使用场景,实用性更强。
需要说明的是,本发明中各步骤之间没有严格的先后执行顺序,只要符合逻辑上的顺序,则这些步骤可以同时执行,也可按照某种预设顺序执行,图1只是一种示意方式,并不代表只能是这样的执行顺序。
在上述实施例中,对容器绑定的CPU核进行管理时,优先选择与GPU相同NUMA组的CPU核进行绑定,可以理解的是,不可避免会存在无法满足该需求的应用场景,基于此,兼顾实用性和任务执行效率,本发明还提供了一种示例性的CPU核管理方式,可包括下述内容:
获取计算节点在当前时刻位于同一个目标非一致内存访问组内空闲中央处理器核数目和空闲图形处理器核数目;
若空闲图形处理器核数目大于等于图形处理器需求数量,且空闲中央处理器核数目大于等于中央处理器核需求数量,则从目标非一致内存访问组内选择目标图形处理器核和目标中央处理器核。
若空闲图形处理器核数目大于等于图形处理器需求数量,且空闲中央处理器核数目小于中央处理器核需求数量,则从目标非一致内存访问组内选择目标图形处理器,从目标非一致内存访问组内选择所有中央处理器核,并从候选非一致内存访问组选择剩余中央处理器核,共同组成目标中央处理器核。
本实施例根据计算节点的计算资源的使用情况为容器选择绑定的CPU核,举例来说,Pod运行分配的计算节点执行待训练任务过程中,执行待训练任务需要4个GPU和60个CPU核。该计算节点均包括8个GPU和120个CPU,NUMA0资源组包含编号为0、1、2、3的GPU,编号为0-59的CPU,NUMA1组包含编号为4、5、6、7的GPU,编号为60--119的CPU。当计算节点的GPU和CPU核的空闲资源充足,优先选择与容器GPU同一NUMA组的CPU核绑定,例如选择NUMA0组的全部GPU、绑定CPU0到CPU39这40个CPU核,如图2所示。当计算节点的GPU资源充裕,但CPU资源紧张,如计算节点中的GPU4、GPU5、GPU6、GPU7,CPU20到CPU59已被其他任务占用,会为容器分配跨NUMA组的CPU资源和同一NUMA组的GPU资源,例如,选择NUMA0组的4个GPU,选择NUMA0组的20个CPU、选择NUMA1组的20个CPU,如图3所示。当完成节点CPU核的选择后,动态查找该容器相关的Cgroup中关于CPU核绑定的配置文件,该文件目录位置可为容器所在宿主机目录:/sys/fs/Cgroup/CPUset/kubePods.slice/kubePods -PodID/容器ID/CPUset.CPUs,并将CPU核分配结果更新到该文件,完成指定CPU核与容器的绑定。
为了进一步提高待训练任务执行效率,训练任务容器在初始阶段分配的CPU核在不同NUMA组,当计算节点中NUMA组的其他CPU被释放后,本发明还提供了一能够对容器绑定的CPU核进行动态调整的实现方式,可包括下述内容:
在本实施例中,当无法满足将与GPU相同NUMA组的CPU核与容器进行绑定时,可选择不同NUMA组的CPU核绑定到容器,为了满足优先将将与GPU相同NUMA组的CPU核与容器进行绑定这个条件,系统可实时监测计算节点的各CPU核的使用状态,当有同NUMA组的CPU核被其他任务释放时,自动将容器绑定的CPU核更新为同一NUMA组CPU。换言之,若目标中央处理器核为多个,所有目标图形处理器位于同一个目标非一致内存访问组,但至少存在一个目标中央处理器核不属于该目标非一致内存访问组,在待训练任务执行过程中,监测位于目标非一致内存访问组内、但不属于目标中央处理器核的至少一个候选中央处理器核的使用状态;当检测到存在处于空闲状态的目标候选中央处理器核,则在待训练任务对应的容器维持当前运行状态下,也即不中止待训练任务,便可直接可将目标候选中央处理器核调整为目标中央处理器核,同时释放不属于目标非一致内存访问组的第一目标中央处理器核。举例来说,初始状态容器绑定的CPU核为NUMA0组的20个CPU和NUMA1组的20个CPU,通过本实施例的方法步骤,在不重启容器的条件下,自动完成容器与CPU核绑定关系配置文件的更新,将绑定关系调整为NUMA0的40个CPU,如图4所示。其中,目标非一致内存访问组用于指代目标GPU所在的NUMA,候选中央处理器核可以随机选择一个或多个该NUMA中正在处于使用状态的CPU核,也可为该NUMA中所有正在处于使用状态的CPU核。若同时有多个目标候选中央处理器核均被释放,且其数量大于目标中央处理器核的数量,则可随机选择与目标中央处理器核数量相同的目标候选中央处理器核与容器进行绑定。若同时有多个目标候选中央处理器核均被释放,但其数量小于目标中央处理器核的数量,则可随机选择与目标候选中央处理器核数量相同的目标中央处理器核与容器进行解绑,以绑定所有目标候选中央处理器核。当利用目标候选中央处理器核替代目标中央处理器核之后,还需要进行更新相应的进程组的配置信息。为了便于描述,本实施例可定义与容器解绑的目标中央处理器核为第一目标中央处理器核,也即将容器对应的进程组的配置信息中的第一目标中央处理器核的编号替换为目标候选中央处理器核的编号,从而实现对CPU资源的动态调整,进一步提高待训练任务的执行效率。
作为一个示例性的实施方式,在更新进程组的配置信息时,可先获取容器所在宿主机的目录;从目录中读取容器对应的进程组的配置信息,以将目标中央处理器核的编号更新至该配置信息中。对于上述实施例中,可将容器对应的进程组的配置信息中的第一目标中央处理器核的编号替换为目标候选中央处理器核的编号。
作为一种简单实现的方式,在确定GPU和CPU核之间是否属于同一个非一致内存访问组时,可先获取计算节点的中央处理器核-图形处理器拓扑关系;拓扑关系是指满足拓扑几何学原理的各空间数据间的相互关系。基于中央处理器核-图形处理器拓扑关系,获取计算节点在当前时刻位于同一个目标非一致内存访问组内空闲中央处理器核数目和空闲图形处理器核数目。
上述实施例对如何执行S102并不做任何限定,本发明还给出待训练任务的计算节点的容器集合及其关联的容器的一种示例性的获取方式,并基于容器的不同应用场景给出相应的后续绑定实现方式,可包括下述内容:
如图5所示,业务平台创建待训练任务后,k8s基于用户资源需求为待训练任务分配的计算节点,且计算节点已基于资源配置信息完成服务质量为中等优先级及以上优先级的容器集合的创建,获取该计算节点,并根据该计算节点的拓扑关系,获取容器集合对应的资源配置信息;根据资源配置信息查找容器集合对应的容器。若容器为新建容器,则根据容器集合的资源配置信息、计算节点的资源占用信息和用户资源需求,按照执行待训练任务的目标图形处理器和目标中央处理器核优先位于同一个非一致内存访问组的方式,为容器选择进行绑定的目标中央处理器核。若容器为新建容器,则按照上述实施例记载的方式为该新建容器选择绑定的CPU核,并更新容器对应的Cgroup的配置信息。若容器不为新建容器,则根据NUAM组进行CPU核的动态调整,判断容器的目标图形处理器和目标中央处理器是否属于同一个非一致内存访问组;若容器的目标图形处理器和目标中央处理器不属于同一个非一致内存访问组,则生成目标处理器核动态调整指令。当接收到目标处理器核动态调整指令,会实时监测与目标GPU同一个NUAM组的CPU核的使用状态,并在同NUAM组出现空闲的CPU核,将该空闲CPU核进行绑定,并更新容器对应的Cgroup的配置信息。若容器不为新建容器,当接收到中央处理器核数量调整指令,则更新容器对应的进程组的配置信息,并将更新后的进程组的配置信息上传至业务平台。
其中,k8s为Pod提供了不同的QoS(Quality of Service,服务质量)级别,由创建k8s Pod时申请资源的reques和limit决定,包括BestEffort(优先级最低)、Burstable(中等优先级)和Guaranteed(最高优先级)。在本实施例中,k8s基于NUMA(Non Uniform MemoryAccess,非一致内存访问)亲和性可为Qos(Quality of Service,服务质量)为Guaranteed(最高优先级)的Pod和Burstable(中等优先级)的Pod进行CPU分配,并完成对CPU核的绑定。NUMA亲和性是指将任务或进程与特定NUMA节点相关联的能力。通过设置NUMA亲和性,可以指定任务在特定NUMA节点上运行,以最大程度地减少远程内存访问和提高性能。当一个任务与特定NUMA节点相关联时,将更有可能使用与该节点关联的本地内存。本地内存是指与任务运行在同一NUMA节点上的CPU相关联的内存,从而大幅度提升数据访问速度,提高数据处理效率。
由上可知,本实施例基于不同容器的状态分别给出不同的容器绑定方式,灵活性更好,还能实现对CPU资源的动态调整,进一步提高待训练任务的执行效率。
可以理解的是,用户在向业务平台在提交待训练任务时,不确定具体需要多少个CPU核,可能会申请较多CPU核,这种情况下便可能由于集群空闲资源较少,导致任务无法调度或者导致CPU资源浪费,当然,也会存在申请较少CPU核的情形,这种情况又会可能导致待训练任务在加载数据集等CPU需求较大的阶段成为瓶颈。基于此,本发明还可支持监控计算节点的每个容器内的CPU使用率,基于容器CPU利用率动态增加或者减少容器绑定的CPU核数,以达到节点资源有效利用的最大化。本实施例可包括下述内容:
监测容器的至少一个目标中央处理器核的利用率;根据各目标中央处理器核的利用率和预设资源动态调整条件,自动调整容器绑定的目标中央处理器核的数量;当容器绑定的目标中央处理器核的数量发生变化,再次更新容器对应的进程组的配置信息。
其中,预设资源动态调整条件为衡量当前待训练任务的用户需求资源是否需要进行调整的一个条件,其可为固定的一条件,也可为根据实际场景灵活配置的一条件。示例性的,可获取中央处理器利用率允许最大值和中央处理器利用率允许最小值;根据目标中央处理器核的利用率与中央处理器利用率允许最小值、中央处理器利用率允许最大值之间的数值关系,生成预设资源动态调整条件。中央处理器利用率允许最大值和中央处理器利用率允许最小值可根据实际应用场景灵活选择。本实施例可以自动根据任务的CPU使用率,完成CPU核的动态增加和减少,业务动态根据资源使用情况更新任务的CPU核,监控每个CPU核利用率,动态增加CPU核绑定或者减少CPU核绑定,对于某个容器绑定的CPU核调整,存在以下两种应用场景的处理方法:
当检测到当前目标中央处理器核的利用率大于等于中央处理器利用率允许最大值,为了提高任务执行效率,则从与目标图形处理器所属的非一致内存访问组中选择至少一个空闲中央处理器核,作为新增目标中央处理器核。为了确保任务执行效率,当检测到当前目标中央处理器核的利用率大于等于中央处理器利用率允许最大值,若目标图形处理器所属的非一致内存访问组不存在空闲中央处理器核,则从具有空闲中央处理器核的其他非一致内存访问组中选择至少一个空闲中央处理器核,以作为新增目标中央处理器核。当检测到当前目标中央处理器核的利用率小于中央处理器利用率允许最小值,则将当前目标中央处理器核与容器进行解绑操作。
举例来说,中央处理器利用率允许最大值为80%,中央处理器利用率允许最小值为20%,集群CPU资源空闲较少,用户为待训练任务的每个worker申请4个CPU,系统可以为该任务快速完成资源调度,虽然分配给容器的CPU较少,但可以完成分布式训练任务的快速启动,在训练任务运行一段时间后,容器所在节点出现空闲CPU,本实施例识别到该worker存在CPU压力,如当前CPU利用率在80%以上,则自动为该容器添加多个CPU核并绑定,降低容器的CPU利用率。如图6所示,Pod初始绑定的4个CPU核(也即CPU0、CPU1、CPU2、CPU3)的利用率均在90%,通过上述实施例进行动态调整之后,为Pod新增绑定一CPU核,Pod当前绑定的5个CPU核(也即CPU0、CPU1、CPU2、CPU3和CPU4)的利用率为72%。用户为待训练任务申请了较多的CPU资源,在训练任务运行一段时间后,容器CPU利用率很低,当识别到该容器内CPU利用率低于20%,可自动为该容器减少多个CPU核绑定,提高容器的CPU利用率。
作为本实施例的一种示例性的实施方式,为了最大程度保证资源的有效利用,避免CPU核利用率监测占用太大资源而影响整个系统的正常运行,本实施例根据实际应用场景灵活配置或修改利用率监测频率,当接收到利用率监测频率配置指令,获取利用率监测频率;按照利用率监测频率,监测容器的至少一个目标中央处理器核的利用率。
由上可知,本实施例基于容器CPU利用率动态增加或者减少容器绑定的CPU核数,实现计算节点的资源有效利用的最大化,有利于提高待训练任务的执行效率。
可以理解的是,用户下发的待训练任务为多机分布式训练任务时,待训练任务会由多个执行单元执行,为了确保容器CPU核数量动态调整之后,Pod重建或者任务重新提交时,使用正确的CPU核数量,基于上述实施例,本发明还提供了一实施例可以实现确保Pod重建或者任务重新提交时使用正确的CPU核数量,可包括下述内容:
获取待训练任务各执行单元对应的预期减少的中央处理器核调整数量,并将最小的中央处理器核调整数量作为目标中央处理器核调整数量;根据目标中央处理器核调整数量对应调整各执行单元的中央处理器核,同时将目标中央处理器核调整数量发送至业务平台,以使业务平台更新待训练任务的资源配置。
在本实施例中,多机分布式训练任务的每个worker的资源配置相同,在进行容器CPU核数量动态调整时,需要保证每个worker的资源配置一致;由k8s管理的Pod,会由于异常出现重建,此时在对底层容器使用的CPU核增加或减少时,需要同时通知业务系统更新该AI训练任务的资源配置,保证Pod重建或者任务重新提交时,使用正确的CPU核数量。以图7为例,经过上述实施例对CPU核进行动态调整之后,执行多机分布式训练任务的三个执行单元预计减少的CPU个数分别为执行单元0预计减少2个CPU、执行单元1预计减少4个CPU、执行单元2预计减少3个CPU。获取各执行单元预期减少的CPU数量,并确定减少的CPU数量的最小值,基于减少的CPU数量的最小值更新每个执行单元的CPU核数量,如图7所示,更新后的执行单元0预计减少2个CPU、执行单元1预计减少2个CPU、执行单元2预计减少2个CPU。对于增加绑定CPU核的情况,获取各执行单元预期增加的CPU数量,同时确定增加的CPU数量的最大值,基于增加的CPU数量的最大值更新每个执行单元的CPU核数量。
由上可知,本实施例可以确保容器CPU核数量动态调整之后,Pod重建或者任务重新提交时,使用正确的CPU核数量,有利于提高任务执行效率。
最后,基于上述本发明的技术方案,下面结合图8对本发明的技术方案涉及的一些可能的应用场景进行举例介绍,图8为本发明提供的一种资源调整方法所适用的硬件组成框架示意图,可包括下述内容:
该硬件组成框架可以包括第一电子设备81和第二电子设备82,第一电子设备81和第二电子设备82之间通过网络83连接。第一电子设备81部署k8s集群,k8s集群用于管理集群中的内存、GPU、CPU、网络资源,并在每一个计算节点上部署用于执行上述任意一实施例所记载的资源调整方法的处理器,用于监控集群内各计算节点每个容器的CPU利用率,空闲CPU核信息、CPU核与NUMA组、GPU关系信息动态识别各计算节点运行Pod配置,查找该Pod对应的容器,基于容器ID在宿主机查找该容器的Cgroup配置文件,更新其中的CPU核绑定配置文件,对于Qos为Guaranteed和Burstable的Pod,可以根据计算节点的CPU核分布,选择合适的CPU核更新到容器CPU核绑定配置文件。计算节点CPU核被其他任务释放时,根据CPU的NUMA分组,动态更新容器绑定的CPU核。根据容器CPU利用率情况,基于更新Cgroup中CPU配置文件方案,动态增加或者减少容器CPU核,并进行相应的绑定和解绑操作。以如图9所示的绑定过程为例阐述本实施例关于容器绑定CPU核的过程,用户通过第二电子设备82创建多级多卡任务,并下发至第一电子设备81,第一电子设备81的k8s集群的调度器完成节点调度,节点的设备插件完成GPU的分配,获取节点的CPU核与GPU的拓扑关系,判断与GPU相同NUMA组中是否有足够的CPU核,若是,则选择同一个NUMA组的CPU核进行绑定,若否,则选择不同NUMA组的CPU核进行绑定,查找该Pod的进程组的配置信息,将选择的CPU核的编号写入至该配置文件中。对于跨组绑定的场景,监控与GPU同NUMA组的CPU核是否有出现空闲,若是,则获取空闲的CPU核编号,获取该Pod的进程组的配置信息,将该配置信息中非与GPU同NUMA组的CPU核的编号进行替换。第一电子设备81可以为服务器。第二电子设备82部署业务平台,可用于提供人机交互界面。
基于上述本申请的技术方案,本发明实施例的应用场景之一,可以通过第二电子设备82与用户之间的交互来实现,在这一应用场景中,用户通过第二电子设备82下发待执行任务,还可以进行数据访问,数据访问可以是通过第二电子设备82与第一电子设备81之间进行交互来进行访问第一电子设备81上的信息,或者是用于直接访问第二电子设备82自身的信息,本实施例对此不做限定。
需要注意的是,上述应用场景仅是为了便于理解本发明的思想和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。
由上可知,本实施例基于k8s的Pod编排管理机制进行AI训练任务的管理,增加容器绑定与GPU同NUMA组CPU核,同时对容器内的CPU利用率进行监控,实现对容器所绑定的CPU核进行动态的增加或减少,提高资源利用率;当在容器创建阶段,单个NUMA组的CPU无法满足容器CPU核数需求时,将两个NUMA组的CPU分配到同一容器,当某个NUMA组的CPU核被释放时,动态将容器的CPU核全部绑定到同一NUMA组,提高CPU和GPU利用率。
本发明还针对资源调整方法提供了相应的装置,进一步使得方法更具有实用性。其中,装置可从功能模块的角度和硬件的角度分别说明。下面对本发明提供的资源调整装置进行介绍,该装置用以实现本发明提供的资源调整方法,在本实施例中,资源调整装置可以包括或被分割成一个或多个程序模块,该一个或多个程序模块被存储在存储介质中,并由一个或多个处理器所执行,已完成实施例一公开的资源调整方法。本实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合于描述资源调整装置在存储介质中的执行过程。以下描述将具体介绍本实施例各程序模块的功能,下文描述的资源调整装置与上文描述的资源调整方法可相互对应参照。
基于功能模块的角度,参见图10,图10为本实施例提供的资源调整装置在一种具体实施方式下的结构图,该装置可包括:
配置文件预构建模块101,用于预先构建进程组配置文件;所述进程组配置文件存储容器对应的进程组的配置信息,所述配置信息至少记载相应容器的中央处理器核绑定信息;
容器信息获取模块102,用于获取执行待训练任务的计算节点的容器集合及其关联的容器;
中央处理器核选择模块103,用于根据容器集合的资源配置信息、计算节点的资源占用信息和用户资源需求,按照执行待训练任务的目标图形处理器和目标中央处理器核优先位于同一个非一致内存访问组的方式,为容器选择进行绑定的目标中央处理器核;其中,资源配置信息包括容器集合分配的图形处理器,用户资源需求包括用户需求用于执行待训练任务的图形处理器需求数量和中央处理器核需求数量,目标中央处理器核数量与中央处理器核需求数量相同,目标图形处理器数量与图形处理器需求数量相同;
绑定模块104,用于更新容器对应的进程组的配置信息,以完成中央处理器核与容器的绑定。
示例性的,在本实施例的一些实施方式中,上述中央处理器核选择模块103还可用于:
获取计算节点在当前时刻位于同一个目标非一致内存访问组内空闲中央处理器核数目和空闲图形处理器核数目;
若空闲图形处理器核数目大于等于图形处理器需求数量,且空闲中央处理器核数目大于等于中央处理器核需求数量,则从目标非一致内存访问组内选择目标图形处理器核和目标中央处理器核。
作为与上述实施例并列的一种实施方式,上述中央处理器核选择模块103还可用于:
若空闲图形处理器核数目大于等于图形处理器需求数量,且空闲中央处理器核数目小于中央处理器核需求数量,则从目标非一致内存访问组内选择目标图形处理器,从目标非一致内存访问组内选择所有中央处理器核,并从候选非一致内存访问组选择剩余中央处理器核,共同组成目标中央处理器核。作为上述实施例的一种示例性的实施方式,上述中央处理器核选择模块103还可用于:
获取计算节点的中央处理器核-图形处理器拓扑关系;基于中央处理器核-图形处理器拓扑关系,获取计算节点在当前时刻位于同一个目标非一致内存访问组内空闲中央处理器核数目和空闲图形处理器核数目。
示例性的,在本实施例的另一些实施方式中,上述中央处理器核选择模块103还可用于:
若目标中央处理器核为多个,所有目标图形处理器位于同一个目标非一致内存访问组,至少存在一个目标中央处理器核不属于目标非一致内存访问组,在待训练任务执行过程中,监测位于目标非一致内存访问组内、但不属于目标中央处理器核的至少一个候选中央处理器核的使用状态;当检测到存在处于空闲状态的目标候选中央处理器核,则在待训练任务对应的容器维持当前运行状态下,将目标候选中央处理器核调整为目标中央处理器核,同时释放不属于目标非一致内存访问组的第一目标中央处理器核。
作为上述实施例的一种示例性的实施方式,上述绑定模块104还可用于:
将容器对应的进程组的配置信息中的第一目标中央处理器核的编号替换为目标候选中央处理器核的编号。
示例性的,在本实施例的再一些实施方式中,上述容器信息获取模块102还可用于:
获取在业务平台创建待训练任务后,基于用户资源需求为待训练任务分配的计算节点;计算节点已基于资源配置信息完成服务质量为中等优先级的容器集合的创建;根据计算节点的拓扑关系,获取容器集合对应的资源配置信息;根据资源配置信息查找容器集合对应的容器。
示例性的,在本实施例的再一些实施方式中,上述中央处理器核选择模块103还可用于:
若容器为新建容器,则根据容器集合的资源配置信息、计算节点的资源占用信息和用户资源需求,按照执行待训练任务的目标图形处理器和目标中央处理器核优先位于同一个非一致内存访问组的方式,为容器选择进行绑定的目标中央处理器核。
示例性的,在本实施例的再一些实施方式中,上述中央处理器核选择模块103还可用于:
若容器不为新建容器,判断容器的目标图形处理器和目标中央处理器是否属于同一个非一致内存访问组;若容器的目标图形处理器和目标中央处理器不属于同一个非一致内存访问组,则生成目标处理器核动态调整指令。
示例性的,在本实施例的再一些实施方式中,上述中央处理器核选择模块103还可用于:
若容器不为新建容器,当接收到中央处理器核数量调整指令,则更新容器对应的进程组的配置信息,并将更新后的进程组的配置信息上传至业务平台。
示例性的,在本实施例的再一些实施方式中,上述绑定模块104还可用于:
获取容器所在宿主机的目录;从目录中读取容器对应的进程组的配置信息,以将目标中央处理器核的编号更新至相应配置信息中。
示例性的,在本实施例的再一些实施方式中,上述中央处理器核选择模块103还可用于:
监测容器的至少一个目标中央处理器核的利用率;根据各目标中央处理器核的利用率和预设资源动态调整条件,自动调整容器绑定的目标中央处理器核的数量;当容器绑定的目标中央处理器核的数量发生变化,再次更新容器对应的进程组的配置信息。
作为上述实施例的一种示例性的实施方式,上述中央处理器核选择模块103还可用于:
获取中央处理器利用率允许最大值和中央处理器利用率允许最小值;根据目标中央处理器核的利用率与中央处理器利用率允许最小值、中央处理器利用率允许最大值之间的数值关系,生成预设资源动态调整条件。
作为上述实施例的另一种实施方式中,上述中央处理器核选择模块103还可用于:
当检测到当前目标中央处理器核的利用率大于等于中央处理器利用率允许最大值,则从与目标图形处理器所属的非一致内存访问组中选择至少一个空闲中央处理器核,作为新增目标中央处理器核。
作为上述实施例的再一种实施方式中,上述中央处理器核选择模块103还可用于:
当检测到当前目标中央处理器核的利用率大于等于中央处理器利用率允许最大值,若目标图形处理器所属的非一致内存访问组不存在空闲中央处理器核,则从具有空闲中央处理器核的其他非一致内存访问组中选择至少一个空闲中央处理器核,以作为新增目标中央处理器核。
作为上述实施例的再一种实施方式中,上述中央处理器核选择模块103还可用于:
当检测到当前目标中央处理器核的利用率小于中央处理器利用率允许最小值,则将当前目标中央处理器核与容器进行解绑操作。作为上述实施例的再一种实施方式中,上述中央处理器核选择模块103还可用于:
当接收到利用率监测频率配置指令,获取利用率监测频率;按照利用率监测频率,监测容器的至少一个目标中央处理器核的利用率。
示例性的,在本实施例的再一些实施方式中,上述中央处理器核选择模块103还可用于:
获取待训练任务各执行单元对应的预期减少的中央处理器核调整数量,并将最小的中央处理器核调整数量作为目标中央处理器核调整数量;根据目标中央处理器核调整数量对应调整各执行单元的中央处理器核,同时将目标中央处理器核调整数量发送至业务平台,以使业务平台更新待训练任务的资源配置。
本实施例所述资源调整装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本实施例通过对AI训练任务执行过程的资源进行调整,能够最大程度保证AI训练任务的高效完成。
上文中提到的资源调整装置是从功能模块的角度描述,进一步的,本发明还提供一种电子设备,是从硬件角度描述。图11为本发明实施例提供的电子设备在一种实施方式下的结构示意图。如图11所示,该电子设备包括存储器110,用于存储计算机程序;处理器111,用于执行计算机程序时实现如上述任一实施例提到的资源调整方法的步骤。
其中,处理器111可以包括一个或多个处理核心,比如4核心处理器、8核心处理器,处理器111还可为控制器、微控制器、微处理器或其他数据处理芯片等。处理器111可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable GateArray,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器111也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central Processing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器111可以集成有GPU(Graphics Processing Unit,图形处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器111还可以包括AI(ArtificialIntelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器110可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器110还可包括高速随机存取存储器以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。存储器110在一些实施例中可以是电子设备的内部存储单元,例如服务器的硬盘。存储器110在另一些实施例中也可以是电子设备的外部存储设备,例如服务器上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器110还可以既包括电子设备的内部存储单元也包括外部存储设备。存储器110不仅可以用于存储安装于电子设备的应用软件及各类数据,例如:执行资源调整方法过程中的程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。本实施例中,存储器110至少用于存储以下计算机程序1101,其中,该计算机程序被处理器111加载并执行之后,能够实现前述任一实施例公开的资源调整方法的相关步骤。另外,存储器110所存储的资源还可以包括操作系统1102和数据1103等,存储方式可以是短暂存储或者永久存储。其中,操作系统1102可以包括Windows、Unix、Linux等。数据1103可以包括但不限于资源调整结果对应的数据等。
在一些实施例中,上述电子设备还可包括有显示屏112、输入输出接口113、通信接口114或者称为网络接口、电源115以及通信总线116。其中,显示屏112、输入输出接口113比如键盘(Keyboard)属于用户接口,示例性的用户接口还可以包括标准的有线接口、无线接口等。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备中处理的信息以及用于显示可视化的用户界面。通信接口114示例性的可以包括有线接口和/或无线接口,如WI-FI接口、蓝牙接口等,通常用于在电子设备与其他电子设备之间建立通信连接。通信总线116可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本领域技术人员可以理解,图11中示出的结构并不构成对该电子设备的限定,可以包括比图示更多或更少的组件,例如还可包括实现各类功能的传感器117。
本实施例所述电子设备的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本实施例通过对AI训练任务执行过程的资源进行调整,能够最大程度保证AI训练任务的高效完成。
可以理解的是,如果上述实施例中的资源调整方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对相关技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电可擦除可编程ROM、寄存器、硬盘、多媒体卡、卡型存储器(例如SD或DX存储器等)、磁性存储器、可移动磁盘、CD-ROM、磁碟或者光盘等各种可以存储程序代码的介质。
基于此,本发明还提供了一种可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时如上任意一实施例所述资源调整方法的步骤。
本发明还提供了一种人工智能训练平台,参见图12,可包括下述内容:
人工智能训练平台可包括k8s集群121,k8s集群包括Master也即主节点和Node也即计算节点,Master作为k8s的总控中心,负责对集群中所有资源进行管控和调度。在每个node上运行的组件负责对计算节点上的Pod的生命周期进行管理以及实现服务代理的功能。
人工智能训练平台还包括多个资源调整装置122,各资源调整装置分别部署于k8s集群的计算节点上,k8s集群的每一个计算节点均可部署一个资源调整装置,也可以从中选择多个计算节点,为这多个计算节点部署资源调整装置,也即k8s集群至少一个计算节点同时部署资源调整装置。
本发明实施例所述资源调整系统的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本实施例通过对AI训练任务执行过程的资源进行调整,能够最大程度保证AI训练任务的高效完成。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的硬件包括装置及电子设备而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上对本发明所提供的一种资源调整方法、装置、电子设备、可读存储介质及人工智能训练平台进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,基于本发明中的实施例,对于本技术领域的普通技术人员来说,在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

Claims (22)

1.一种资源调整方法,其特征在于,包括:
预先构建进程组配置文件;所述进程组配置文件存储容器对应的进程组的配置信息,所述配置信息至少记载相应容器的中央处理器核绑定信息;
获取执行待训练任务的计算节点的容器集合及其关联的容器;
根据所述容器集合的资源配置信息、所述计算节点的资源占用信息和用户资源需求,按照执行所述待训练任务的目标图形处理器和目标中央处理器核优先位于同一个非一致内存访问组的方式,为所述容器选择进行绑定的目标中央处理器核;
更新所述容器对应的进程组的配置信息,以完成中央处理器核与所述容器的绑定;
其中,所述资源配置信息包括所述容器集合分配的图形处理器,所述用户资源需求包括用户需求用于执行所述待训练任务的图形处理器需求数量和中央处理器核需求数量,目标中央处理器核数量与所述中央处理器核需求数量相同,目标图形处理器数量与所述图形处理器需求数量相同。
2.根据权利要求1所述的资源调整方法,其特征在于,所述按照执行所述待训练任务的目标图形处理器和目标中央处理器核优先位于同一个非一致内存访问组的方式,为所述容器选择进行绑定的目标中央处理器核,包括:
获取所述计算节点在当前时刻位于同一个目标非一致内存访问组内空闲中央处理器核数目和空闲图形处理器核数目;
若所述空闲图形处理器核数目大于等于所述图形处理器需求数量,且所述空闲中央处理器核数目大于等于所述中央处理器核需求数量,则从所述目标非一致内存访问组内选择目标图形处理器核和目标中央处理器核。
3.根据权利要求2所述的资源调整方法,其特征在于,所述按照执行所述待训练任务的目标图形处理器和目标中央处理器核优先位于同一个非一致内存访问组的方式,为所述容器选择进行绑定的目标中央处理器核,包括:
若所述空闲图形处理器核数目大于等于所述图形处理器需求数量,且所述空闲中央处理器核数目小于所述中央处理器核需求数量,则从所述目标非一致内存访问组内选择目标图形处理器,从所述目标非一致内存访问组内选择所有中央处理器核,并从候选非一致内存访问组选择剩余中央处理器核,共同组成目标中央处理器核。
4.根据权利要求2所述的资源调整方法,其特征在于,所述获取所述计算节点在当前时刻位于同一个目标非一致内存访问组内空闲中央处理器核数目和空闲图形处理器核数目,包括:
获取所述计算节点的中央处理器核-图形处理器拓扑关系;
基于所述中央处理器核-图形处理器拓扑关系,获取所述计算节点在当前时刻位于同一个目标非一致内存访问组内空闲中央处理器核数目和空闲图形处理器核数目。
5.根据权利要求1所述的资源调整方法,其特征在于,若目标中央处理器核为多个,所有目标图形处理器位于同一个目标非一致内存访问组,至少存在一个目标中央处理器核不属于所述目标非一致内存访问组,所述为所述容器选择进行绑定的目标中央处理器核之后,还包括:
监测位于所述目标非一致内存访问组内、但不属于目标中央处理器核的至少一个候选中央处理器核的使用状态;
当检测到存在处于空闲状态的目标候选中央处理器核,则在所述待训练任务对应的容器维持当前运行状态下,将所述目标候选中央处理器核调整为目标中央处理器核,同时释放不属于目标非一致内存访问组的第一目标中央处理器核。
6.根据权利要求5所述的资源调整方法,其特征在于,所述更新所述容器对应的进程组的配置信息,包括:
将所述容器对应的进程组的配置信息中的第一目标中央处理器核的编号替换为所述目标候选中央处理器核的编号。
7.根据权利要求1所述的资源调整方法,其特征在于,所述获取执行待训练任务的计算节点的容器集合及其关联的容器,包括:
获取在业务平台创建待训练任务后,基于用户资源需求为所述待训练任务分配的计算节点;所述计算节点已基于资源配置信息完成服务质量为中等优先级的容器集合的创建;
根据所述计算节点的拓扑关系,获取所述容器集合对应的资源配置信息;
根据所述资源配置信息查找所述容器集合对应的容器。
8.根据权利要求1所述的资源调整方法,其特征在于,所述获取执行待训练任务的计算节点的容器集合及其关联的容器之后,包括:
若所述容器为新建容器,则根据所述容器集合的资源配置信息、所述计算节点的资源占用信息和用户资源需求,按照执行所述待训练任务的目标图形处理器和目标中央处理器核优先位于同一个非一致内存访问组的方式,为所述容器选择进行绑定的目标中央处理器核。
9.根据权利要求1所述的资源调整方法,其特征在于,所述获取执行待训练任务的计算节点的容器集合及其关联的容器之后,包括:
若所述容器不为新建容器,判断所述容器的目标图形处理器和目标中央处理器是否属于同一个非一致内存访问组;
若所述容器的目标图形处理器和目标中央处理器不属于同一个非一致内存访问组,则生成目标处理器核动态调整指令。
10.根据权利要求1所述的资源调整方法,其特征在于,所述获取执行待训练任务的计算节点的容器集合及其关联的容器之后,包括:
若所述容器不为新建容器,当接收到中央处理器核数量调整指令,则更新所述容器对应的进程组的配置信息,并将更新后的进程组的配置信息上传至业务平台。
11.根据权利要求1所述的资源调整方法,其特征在于,所述更新所述容器对应的进程组的配置信息,包括:
获取所述容器所在宿主机的目录;
从所述目录中读取所述容器对应的进程组的配置信息,以将目标中央处理器核的编号更新至相应配置信息中。
12.根据权利要求1至11任意一项所述的资源调整方法,其特征在于,所述更新所述容器对应的进程组的配置信息之后,还包括:
监测所述容器的至少一个目标中央处理器核的利用率;
根据各目标中央处理器核的利用率和预设资源动态调整条件,自动调整所述容器绑定的目标中央处理器核的数量;
当所述容器绑定的目标中央处理器核的数量发生变化,再次更新所述容器对应的进程组的配置信息。
13.根据权利要求12所述的资源调整方法,其特征在于,所述根据各目标中央处理器核的利用率和预设资源动态调整条件之前,还包括:
获取中央处理器利用率允许最大值和中央处理器利用率允许最小值;
根据目标中央处理器核的利用率与所述中央处理器利用率允许最小值、所述中央处理器利用率允许最大值之间的数值关系,生成预设资源动态调整条件。
14.根据权利要求13所述的资源调整方法,其特征在于,所述根据各目标中央处理器核的利用率和预设资源动态调整条件,自动调整所述容器绑定的目标中央处理器核的数量,包括:
当检测到当前目标中央处理器核的利用率大于等于所述中央处理器利用率允许最大值,则从与所述目标图形处理器所属的非一致内存访问组中选择至少一个空闲中央处理器核,作为新增目标中央处理器核。
15.根据权利要求13所述的资源调整方法,其特征在于,所述根据各目标中央处理器核的利用率和预设资源动态调整条件,自动调整所述容器绑定的目标中央处理器核的数量,包括:
当检测到当前目标中央处理器核的利用率大于等于所述中央处理器利用率允许最大值,若所述目标图形处理器所属的非一致内存访问组不存在空闲中央处理器核,则从具有空闲中央处理器核的其他非一致内存访问组中选择至少一个空闲中央处理器核,以作为新增目标中央处理器核。
16.根据权利要求13所述的资源调整方法,其特征在于,所述根据各目标中央处理器核的利用率和预设资源动态调整条件,自动调整所述容器绑定的目标中央处理器核的数量,包括:
当检测到当前目标中央处理器核的利用率小于所述中央处理器利用率允许最小值,则将所述当前目标中央处理器核与所述容器进行解绑操作。
17.根据权利要求12所述的资源调整方法,其特征在于,所述监测所述容器的至少一个目标中央处理器核的利用率,包括:
当接收到利用率监测频率配置指令,获取利用率监测频率;
按照所述利用率监测频率,监测所述容器的至少一个目标中央处理器核的利用率。
18.根据权利要求1至11任意一项所述的资源调整方法,其特征在于,所述待训练任务为多机分布式训练任务,所述更新所述容器对应的进程组的配置信息之后,还包括:
获取所述待训练任务各执行单元对应的预期减少的中央处理器核调整数量,并将最小的中央处理器核调整数量作为目标中央处理器核调整数量;
根据所述目标中央处理器核调整数量对应调整各执行单元的中央处理器核,同时将所述目标中央处理器核调整数量发送至业务平台,以使所述业务平台更新所述待训练任务的资源配置。
19.一种资源调整装置,其特征在于,包括:
配置文件预构建模块,用于预先构建进程组配置文件;所述进程组配置文件存储容器对应的进程组的配置信息,所述配置信息至少记载相应容器的中央处理器核绑定信息;
容器信息获取模块,用于获取执行待训练任务的计算节点的容器集合及其关联的容器;
中央处理器核选择模块,用于根据所述容器集合的资源配置信息、所述计算节点的资源占用信息和用户资源需求,按照执行所述待训练任务的目标图形处理器和目标中央处理器核优先位于同一个非一致内存访问组的方式,为所述容器选择进行绑定的目标中央处理器核;其中,所述资源配置信息包括所述容器集合分配的图形处理器,所述用户资源需求包括用户需求用于执行所述待训练任务的图形处理器需求数量和中央处理器核需求数量,目标中央处理器核数量与所述中央处理器核需求数量相同,目标图形处理器数量与所述图形处理器需求数量相同;
绑定模块,用于更新所述容器对应的进程组的配置信息,以完成中央处理器核与所述容器的绑定。
20.一种电子设备,其特征在于,包括处理器和存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现如权利要求1至18任一项所述资源调整方法的步骤。
21.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至18任一项所述资源调整方法的步骤。
22.一种人工智能训练平台,其特征在于,包括k8s集群和多个如权利要求19所述资源调整装置;所述k8s集群的至少一个计算节点同时部署所述资源调整装置。
CN202311597253.7A 2023-11-28 2023-11-28 资源调整方法、装置、电子设备、存储介质及训练平台 Active CN117311990B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311597253.7A CN117311990B (zh) 2023-11-28 2023-11-28 资源调整方法、装置、电子设备、存储介质及训练平台

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311597253.7A CN117311990B (zh) 2023-11-28 2023-11-28 资源调整方法、装置、电子设备、存储介质及训练平台

Publications (2)

Publication Number Publication Date
CN117311990A true CN117311990A (zh) 2023-12-29
CN117311990B CN117311990B (zh) 2024-02-23

Family

ID=89250206

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311597253.7A Active CN117311990B (zh) 2023-11-28 2023-11-28 资源调整方法、装置、电子设备、存储介质及训练平台

Country Status (1)

Country Link
CN (1) CN117311990B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110389843A (zh) * 2019-07-29 2019-10-29 广东浪潮大数据研究有限公司 一种业务调度方法、装置、设备及可读存储介质
CN112052068A (zh) * 2020-08-17 2020-12-08 烽火通信科技股份有限公司 一种Kubernetes容器平台CPU绑核的方法与装置
CN113806075A (zh) * 2021-08-13 2021-12-17 苏州浪潮智能科技有限公司 kubernetes集群的容器热更新CPU核的方法、装置、设备及可读介质
WO2023045467A1 (zh) * 2021-09-26 2023-03-30 中兴通讯股份有限公司 容器cpu资源调度与隔离方法和装置、存储介质及电子设备
CN116610372A (zh) * 2023-07-14 2023-08-18 腾讯科技(深圳)有限公司 一种中央处理器配置方法、装置及相关产品
CN116881012A (zh) * 2023-07-24 2023-10-13 广东浪潮智慧计算技术有限公司 一种容器应用垂直扩容方法、装置、设备及可读存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110389843A (zh) * 2019-07-29 2019-10-29 广东浪潮大数据研究有限公司 一种业务调度方法、装置、设备及可读存储介质
CN112052068A (zh) * 2020-08-17 2020-12-08 烽火通信科技股份有限公司 一种Kubernetes容器平台CPU绑核的方法与装置
CN113806075A (zh) * 2021-08-13 2021-12-17 苏州浪潮智能科技有限公司 kubernetes集群的容器热更新CPU核的方法、装置、设备及可读介质
WO2023045467A1 (zh) * 2021-09-26 2023-03-30 中兴通讯股份有限公司 容器cpu资源调度与隔离方法和装置、存储介质及电子设备
CN116610372A (zh) * 2023-07-14 2023-08-18 腾讯科技(深圳)有限公司 一种中央处理器配置方法、装置及相关产品
CN116881012A (zh) * 2023-07-24 2023-10-13 广东浪潮智慧计算技术有限公司 一种容器应用垂直扩容方法、装置、设备及可读存储介质

Also Published As

Publication number Publication date
CN117311990B (zh) 2024-02-23

Similar Documents

Publication Publication Date Title
CN109144710B (zh) 资源调度方法、装置及计算机可读存储介质
CN102890643B (zh) 基于应用效果即时反馈的显卡虚拟化下的资源调度系统
CN111399986A (zh) Pod资源配额配置方法及装置
US11467874B2 (en) System and method for resource management
US10979505B1 (en) Distributed storage system and data migration method
CN102946413B (zh) 虚拟机调度和执行部署过程中的资源预处理方法及系统
CN114880100A (zh) 容器动态调度方法、装置、计算机设备和存储介质
US11150957B1 (en) Application mapping to system resources for instance creation
US8954969B2 (en) File system object node management
CN117480494A (zh) 改进虚拟计算环境中资源分配的协调容器调度
CN111045786A (zh) 一种云环境下的基于镜像分层技术的容器创建系统及方法
CN115292014A (zh) 图像渲染方法、装置和服务器
CN114327881A (zh) 任务调度方法及装置
CN113032102A (zh) 资源重调度方法、装置、设备和介质
CN111953503B (zh) Nfv资源部署编排方法和网络功能虚拟化编排器
CN109634714B (zh) 一种智能调度的方法及装置
JP2011253334A (ja) 仮想計算機およびcpu割り当て方法
CN111598768B (zh) 图像优化处理方法、装置、计算机设备及存储介质
CN117311990B (zh) 资源调整方法、装置、电子设备、存储介质及训练平台
JPH0926889A (ja) 仮想計算機システム
CN108958889A (zh) 云数据系统中虚拟机的管理方法和装置
CN115543548A (zh) 一种容器组的配置方法、装置、设备及可读存储介质
CN114153592A (zh) 云平台的物理主机负载调度方法、装置、电子设备及介质
CN112346835A (zh) 一种基于协程的调度处理方法及系统
CN111581041A (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