CN111381970A - 集群任务的资源分配方法及装置、计算机装置及存储介质 - Google Patents
集群任务的资源分配方法及装置、计算机装置及存储介质 Download PDFInfo
- Publication number
- CN111381970A CN111381970A CN202010183616.2A CN202010183616A CN111381970A CN 111381970 A CN111381970 A CN 111381970A CN 202010183616 A CN202010183616 A CN 202010183616A CN 111381970 A CN111381970 A CN 111381970A
- Authority
- CN
- China
- Prior art keywords
- task
- cluster
- resource
- information
- processed
- 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
Links
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/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/508—Monitor
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种集群任务的资源分配方法及装置、计算机装置及存储介质,其中方法包括获取待处理集群任务的任务特征信息;基于任务特征信息确定上述待处理集群任务的任务类别,以及确定与上述待处理集群任务的任务类别对应的资源预测模型;基于上述任务特征信息,以及上述对应的资源预测模型,获取上述待处理集群任务的资源需求信息;根据上述资源需求信息为上述待处理集群任务进行资源分配。本发明实施例提供的技术方案能够为每个集群任务准确分配所需的资源。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种集群任务的资源分配方法及装置、计算机装置及存储介质。
背景技术
随着计算需求的增大,越来越多计算中心提供了集群服务,开发者可以通过向提供集群服务的集群计算中心远程提交集群任务,以由集群计算中心进行计算,并获得最终的计算结果。
对于集群计算中心而言,其通常面向的开发者数量众多,接收到的集群任务的数量也很大,而不同类别的集群任务之间,其所需要的资源之间的差异较大,例如单机的计算密集型任务对网络资源基本不会有很大依赖,而多机分布式机器学习任务对网络资源的需求可能会非常大,不同任务类别之间对资源的使用会有很大差别。
现有技术中提供的一种处理方式,是由提交集群任务的开发者对所需要的资源进行设置,然而开发者通常对于具体的资源需求没有清晰的认知,其提供的资源设置信息往往与实际情况差异较大。
因此,现有技术中存在无法对开发者提交的集群任务的资源需求情况进行准确预测的问题,并容易导致集群计算中心的资源分配不均,以及集群任务由于资源不足无法实现执行的问题。
发明内容
本发明提供了一种集群任务的资源分配方法及装置、计算机装置及存储介质,以解决上述背景技术中存在的至少一个问题。
为了实现上述目的,第一方面,本发明实施例提供了一种集群任务的资源分配方法,包括:
获取待处理集群任务的任务特征信息;
基于所述待处理集群任务的任务特征信息确定上述待处理集群任务的任务类别,以及确定与上述待处理集群任务的任务类别对应的资源预测模型;
基于上述待处理集群任务的任务特征信息,以及上述对应的资源预测模型,获取上述待处理集群任务的资源需求信息;
根据上述待处理集群任务的资源需求信息为上述待处理集群任务进行资源分配。
在一些实施例中,上述方法还包括:
获取已完成集群任务的任务特征信息;
基于上述已完成集群任务的任务特征信息,通过预设的聚类算法进行聚类处理,以获取上述集群任务的任务类别,以及每个任务类别对应的聚类标准;
上述基于上述待处理集群任务的任务特征信息确定上述待处理集群任务的任务类别包括:
基于上述待处理集群任务的任务特征信息,以及每个任务类别对应的聚类标准,获取上述待处理集群任务的任务类别。
在一些实施例中,上述任务特征信息包括文件大小、文件数目、文件类型、镜像名称、镜像大小、镜像哈希码、程序文本长度、外部获取的数据集大小中的至少一项。
在一些实施例中,上述方法还包括:
获取每个任务类别的已完成集群任务的资源使用信息;
基于每个任务类别的已完成集群任务的任务特征信息,以及每个任务类别的已完成集群任务的资源使用信息进行模型训练,以获取与每个任务类别对应的资源预测模型。
在一些实施例中,上述资源使用信息包括资源消耗信息、资源使用周期信息、资源异常信息和资源使用峰值信息中的至少一项;
上述资源消耗信息包括CPU消耗信息、GPU消耗信息、内存消耗信息、磁盘消耗信息和网络资源消耗信息中的至少一项。
在一些实施例中,上述方法还包括:
获取每个任务类别的已完成集群任务的任务状态信息;
上述基于每个任务类别的已完成集群任务的任务特征信息,以及每个任务类别的已完成集群任务的资源使用信息进行模型训练,以获取与每个任务类别对应的资源预测模型,包括:
基于上述每个任务类别的已完成集群任务的任务状态信息对上述资源使用信息进行参数调整;
基于每个任务类别的已完成集群任务的任务特征信息,以及从参数调整后的每个任务类别的已完成集群任务的资源使用信息进行模型训练,以获取与每个任务类别对应的资源预测模型。
在一些实施例中,上述任务状态信息包括任务成功状态、任务失败状态和任务失败状态原因信息中的至少一项。
在一些实施例中,上述任务失败状态原因为内存不足时,则上述基于上述每个任务类别的已完成集群任务的任务状态信息对上述资源使用信息进行参数调整包括:
使用预设的膨胀系数对上述资源使用信息中的内存消耗信息进行参数调整。
在一些实施例中,上述预设的聚类算法为K-means算法,上述资源预测模型为树模型。
在一些实施例中,上述方法还包括:
获取新完成集群任务的资源使用信息;
根据上述新完成集群任务的资源使用信息,以及基于上述资源预测模型获取的上述新完成集群任务的资源需求信息,获取上述新完成集群任务的资源预测误差;
根据上述资源预测误差进行上述资源预测模型更新处理、进行重新聚类处理和进行重新模型预测处理中的至少一项。
在一些实施例中,上述根据资源预测误差进行上述资源预测模型更新处理、进行重新聚类处理和进行重新模型训练处理中的至少一项,包括:
对上述新完成集群任务的资源预测误差进行累加;
在累加后的资源预测误差小于预设阈值时,进行上述资源预测模型更新处理;
在累加后的资源预测误差大于或等于预设阈值时,进行重新聚类处理和进行重新模型训练处理。
在一些实施例中,上述进行重新聚类处理,包括:
获取已完成集群任务的任务特征信息,以及新完成集群任务的任务特征信息;
基于上述已完成集群任务的任务特征信息,以及新完成集群任务的任务特征信息,通过预设的聚类算法进行聚类处理,以获取集群任务的任务类别,以及每个任务类别对应的聚类标准。
在一些实施例中,上述进行重新模型训练处理,包括:
获取每个任务类别的已完成集群任务的资源使用信息,每个任务类别的新完成集群任务的资源使用信息;
基于每个任务类别的已完成集群任务的任务特征信息,每个任务类别的新完成集群任务的任务特征信息,每个任务类别的已完成集群任务的资源使用信息,以及每个任务类别的新完成集群任务的资源使用信息进行模型训练,以获取与每个任务类别对应的资源预测模型。
在一些实施例中,还包括:
对上述每个任务类别的已完成集群任务的资源使用信息,以及每个任务类别的新完成集群任务的资源使用信息进行数据清洗处理。
在一些实施例中,上述数据清洗处理包括异类数据清除和数据合并中的至少一项。
第二方面,本发明实施例提供了一种集群任务的资源分配装置,包括:
接口服务模块,用于获取待处理集群任务的任务特征信息,并基于上述待处理集群任务的任务特征信息确定上述待处理集群任务的任务类别,以及与集群任务的任务类别对应的资源预测模型,然后将所述待处理集群任务的任务特征信息发送给对应的资源预测模型,以获取所述待处理集群任务的资源需求信息;
资源调度模块,用于根据所述待处理集群任务的资源需求信息为所述待处理集群任务进行资源分配。
在一些实施例中,还包括:
历史记录数据库,用于存储已完成集群任务的任务特征信息;
性能监视模块,用于从上述历史记录数据库中获取已完成集群任务的任务特征信息,基于已完成集群任务的任务特征信息,通过预设的聚类算法进行聚类处理,以获取上述集群任务的任务类别,以及每个任务类别对应的聚类标准;
上述接口服务模块具体用于基于上述待处理集群任务的任务特征信息,以及每个任务类别对应的聚类标准,获取上述待处理集群任务的任务类别。
在一些实施例中,上述任务特征信息包括文件大小、文件数目、文件类型、镜像名称、镜像大小、镜像哈希码、程序文本长度、外部获取的数据集大小中的至少一项。
在一些实施例中,其特征在于,上述历史记录数据库还用于存储每个任务类别的已完成集群任务的资源使用信息;
上述性能监视模块还用于基于每个任务类别的已完成集群任务的任务特征信息,以及每个任务类别的已完成集群任务的资源使用信息进行模型训练,以获取与每个任务类别对应的资源预测模型。
在一些实施例中,上述资源使用信息包括资源消耗信息、资源使用周期信息、资源异常信息和资源使用峰值信息中的至少一项;
上述资源消耗信息包括CPU消耗信息、GPU消耗信息、内存消耗信息、磁盘消耗信息和网络资源消耗信息中的至少一项。
在一些实施例中,上述历史记录数据库还记录有每个任务类别的已完成集群任务的任务状态信息;
上述性能监视模块具体用于基于上述每个任务类别的已完成集群任务的任务状态信息对上述资源使用信息进行参数调整;并基于每个任务类别的已完成集群任务的任务特征信息,以及从参数调整后的每个任务类别的已完成集群任务的资源使用信息进行模型训练,以获取与每个任务类别对应的资源预测模型。
在一些实施例中,上述任务状态信息包括任务成功状态、任务失败状态和任务失败状态原因信息中的至少一项。
在一些实施例中,上述任务失败状态原因为内存不足,上述性能监视模块具体用于使用预设的膨胀系数对上述资源使用信息中的内存消耗信息进行参数调整。
在一些实施例中,上述预设的聚类算法为K-means算法,上述资源预测模型为树模型。
在一些实施例中,上述历史记录数据库还存储有新完成集群任务的资源使用信息;
上述性能监视模块还用于根据新完成集群任务的资源使用信息,以及基于上述资源预测模型获取的上述新完成集群任务的资源需求信息,获取上述新完成集群任务的资源预测误差;
根据上述资源预测误差进行上述资源预测模型更新处理、进行重新聚类处理和进行重新模型预测处理中的至少一项。
在一些实施例中,还包括重聚类和重训练模块;
上述性能监视模块具体用于对上述新完成集群任务的资源预测误差进行累加;在累加后的资源预测误差小于预设阈值时,进行上述资源预测模型更新处理;在累加后的资源预测误差大于或等于预设阈值时,指示上述重聚类和重训练模块进行重新聚类处理和进行重新模型训练处理。
在一些实施例中,上述重聚类和重训练模块具体用于接收性能监视模块发送的已完成集群任务的任务特征信息,以及新完成集群任务的任务特征信息;基于上述已完成集群任务的任务特征信息,以及新完成集群任务的任务特征信息,通过预设的聚类算法进行聚类处理,以及获取集群任务的任务类别,以及每个任务类别对应的聚类标准。
在一些实施例中,所述重聚类和重训练模块具体用于接收性能监视模块发送的每个任务类别的已完成集群任务的资源使用信息,每个任务类别的新完成集群任务的资源使用信息;基于每个任务类别的已完成集群任务的任务特征信息,每个任务类别的新完成集群任务的任务特征信息,每个任务类别的已完成集群任务的资源使用信息,以及每个任务类别的新完成集群任务的资源使用信息进行模型训练,以获取与每个任务类别对应的资源预测模型。
在一些实施例中,还包括:
数据清洗模块,用于对每个任务类别的已完成集群任务的资源使用信息,以及每个任务类别的新完成集群任务的资源使用信息进行数据清洗处理,将数据清洗后处理的已完成集群任务的资源使用信息,以及每个任务类别的新完成集群任务的资源使用信息发送给上述重聚类和重训练模块。
在一些实施例中,上述数据清洗模块具体用于进行异类数据清除和数据合并中的至少一项。
第三方面,本发明实施例提供了一种计算机装置,计算机装置包括:
处理器,处理器用于执行存储器中存储的计算机程序时实现如上上述集群任务的资源分配方法的步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机指令,计算机指令被处理器执行时实现如上上述集群任务的资源分配方法的步骤。
由上述技术内容,可以看出本发明具有以下有益效果:
本发明实施例提供的技术方案,其中针对开发者提交的集群任务,通过获取待处理集群任务的任务特征信息,并基于待处理集群任务的任务特征信息确定待处理集群任务的任务类别,以及确定与待处理集群任务的任务类别对应的资源预测模型;然后,基于待处理集群任务的任务特征信息,以及对应资源预测模型,获取待处理集群任务的资源需求信息;最后根据待处理集群任务的资源需求信息为待处理集群任务进行资源分配。上述技术方案中,通过将集群任务划分为不同的任务类别,并且建立了不同任务类别对应的资源预测模型,从而使得在接收到新的集群任务时,可以基于待处理集群任务的任务特征信息获取其所属的任务类别,以及对应的资源预测模型,并基于该资源预测模型得到该集群任务的资源需求信息,最后基于资源需求信息进行资源分配。上述技术方案一方面能够确保集群计算中心能够根据集群任务的实际资源需求为其进行资源分配,避免资源浪费,同时每项集群任务也能够分配得到充足的资源,并能够保证开发者提交的每项集群任务的顺利执行;二方面由于上述资源预测模型根据待处理集群任务的任务类别不同而有所不同,充分考虑到不同类别的集群任务,其资源需求情况也会有所不同,本发明实施例为不同任务类别设置对应的资源预测模型,能够保证资源需求信息预测的准确性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种集群任务的资源分配方法的流程示意图;
图2为本发明实施例中一种任务类别划分的流程示意图;
图3为本发明实施例中一种资源预测模型的训练过程的流程示意图;
图4为本发明实施例中另一种资源预测模型的训练过程的流程示意图;
图5为本发明实施例中对资源预测模型进行修正的流程示意图;
图6为图5所示实施例中步骤503的具体流程示意图;
图7为本发明实施例中重新聚类处理的流程示意图;
图8为本发明实施例中重新模型训练处理的流程示意图;
图9为本发明实施例中一种集群任务的资源分配装置的结构示意图;
图10为本发明实施例中另一种集群任务的资源分配装置的结构示意图;
图11为本发明实施例中又一种集群任务的资源分配装置的结构示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。基于所描述的本发明的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
针对现有技术中存在的无法对开发者提交的集群任务的资源需求情况进行准确预测,并容易导致集群计算中心的资源分配不均,以及集群任务由于资源不足无法实现执行的问题。本发明实施例提供了一种集群任务的资源分配技术方案,该技术方案预先为每个类别的集群任务设置对应的资源预测模型,并在接收到开发者发送的集群任务后,可以基于该集群任务的任务特征信息确定其所属的任务类别,以及该任务类别所对应的资源预测模型,然后利用资源预测模型预测得到集群任务的资源需求信息。。
具体的,图1为本发明实施例中一种集群任务的资源分配方法的流程示意图,该方法可以由具有计算功能的计算机设备、服务器或者以上设备所组成的系统完成,如图1所示,包括如下步骤:
步骤101、获取待处理集群任务的任务特征信息;
在本步骤中,其中的待处理集群任务可以是由开发者提交到集群计算中心,集群计算中心的资源调度模块需要为每个集群任务分配资源,同时协调不同集群任务的资源需求,具体的,可以是由具有资源需求获取功能的模块,例如一个接口服务模块,由该接口服务模块获取待处理集群任务的资源需求信息。本步骤中获取的待处理集群任务的任务特征信息,可以是由上述的资源调度模块从待处理集群任务中提取,然后发送给接口服务模块,或者是由接口服务模块直接根据待处理的集群任务提取,本发明实施例不进行限制。
本步骤中获取的待处理集群任务的任务特征信息可以包括进行资源需求预测所需的任何信息,例如可以包括文件大小、文件数目、文件类型、镜像名称、镜像大小、镜像哈希码、程序文本长度、外部获取的数据集大小中的至少一项,针对不同类别的集群任务,其中所需的任务特征信息也可以有所不同,也可以包括除上述列举的信息类型以外的其他任务特征信息。
步骤102、基于待处理集群任务的任务特征信息确定待处理集群任务的任务类别,以及确定与待处理集群任务的任务类别对应的资源预测模型;
本步骤中是充分考虑到不同类别的集群任务,其资源需求也可以有所区别,进而为每个任务类别设置了对应的资源预测模型。因此,在对待处理集群任务的资源需求进行预测时,需要先根据待处理集群任务的任务特征信息确定待处理集群任务的任务类别,并进一步确定与待处理集群任务的任务类别对应的资源预测模型。
步骤103、基于待处理集群任务的任务特征信息,以及对应的资源预测模型,获取待处理集群任务的资源需求信息。
本步骤中的资源预测模型是一种通过预先训练得到的预测模型,该预测模型的输入数据为待处理集群任务的任务特征信息,输出数据为待处理集群任务的资源需求信息。
本发明实施例中,其中的资源需求信息可以包括多种信息,例如可以包括资源消耗信息、资源使用周期信息、资源异常信息和资源使用峰值信息中的至少一项;
其中,资源消耗信息可以表示集群任务在执行过程中所需的资源,具体的可以包括CPU消耗信息、GPU消耗信息、内存消耗信息、磁盘消耗信息和网络资源消耗信息中的至少一项。对于不同类别的集群任务,其所需要的资源消耗信息的类别可以有所不同。
资源使用周期信息可以与集群任务的生命周期相同,即该集群任务需求的时间长短。
资源异常信息可以是集群任务在执行过程中可能遇到的资源使用异常情况,即可能在某一时间段资源需求大量增加等情况。
资源使用峰值信息可以是该集群任务的资源使用峰值,通过该资源使用峰值信息,可以使资源调度模块错峰调度不同集群任务,而避免不同的集群任务峰值叠加。
步骤104、根据待处理集群任务的资源需求信息为待处理集群任务进行资源分配。
在上述步骤103中获取到待处理集群任务执行时的资源需求信息后,可以基于该资源需求信息为集群任务进行资源分配,以使得可以利用分配的资源执行上述待处理集群任务。
本发明实施例提供的集群任务的资源分配方法,通过将集群任务划分为不同的任务类别,并且建立了不同任务类别对应的资源预测模型,从而使得在接收到新的集群任务时,可以基于待处理集群任务的任务特征信息获取其所属的任务类别,以及对应的资源预测模型,并基于该资源预测模型得到该集群任务的资源需求信息,最后基于资源需求信息进行资源分配。上述技术方案一方面能够确保集群计算中心能够根据集群任务的实际资源需求为其进行资源分配,避免资源浪费,同时每项集群任务也能够分配得到充足的资源,并能够保证开发者提交的每项集群任务的顺利执行;二方面由于上述资源预测模型根据待处理集群任务的任务类别不同而有所不同,充分考虑到不同类别的集群任务,其资源需求情况也会有所不同,本发明实施例为不同任务类别设置对应的资源预测模型,能够保证资源需求信息预测的准确性。
在本发明实施例中,其中需要将集群任务划分为不同的任务类别,并需要为每个任务类别设置对应的资源预测模型,以下分别对集群任务的任务类别划分,以及资源预测模型的训练过程进行说明。
具体的,图2为本发明实施例中一种任务类别划分的流程示意图,如图2所示,包括如下的步骤:
步骤201、获取已完成集群任务的任务特征信息;
本发明实施例中可以设置一个历史记录数据库,该模块可以选用一个持久化数据库来存储已完成集群任务的任务特征信息,因此本步骤中的可以是从历史记录数据库中获取已完成集群任务的任务特征信息。如上所述的,任务特征信息可以包括文件大小、文件数目、文件类型、镜像名称、镜像大小、镜像哈希码、程序文本长度、外部获取的数据集大小中的至少一项,则历史记录数据库也可以是记录已完成集群任务的上述信息。
步骤202、基于已完成集群任务的任务特征信息,通过预设的聚类算法进行聚类处理,以获取集群任务的任务类别,以及每个任务类别对应的聚类标准;
本步骤中在进行聚类处理时,其中所使用的预设聚类算法可以包括多种形式,具体的,可以是包括规则和机器学习两部分,对于常见已知任务类别,可以通过规则的形式聚类在一起,对于一些非已知的任务类别,可以使用机器学习的方式进行聚类。例如可以是K-means算法,或者其他具有类似功能的聚类算法,聚类处理的结果,不仅仅包括集群任务的任务类别,而且包括每个任务类别的聚类标准。
在上述步骤202中获取到每个任务类别的聚类标准后,可以依据该聚类标准对待处理集群任务进行分类,即可以基于待处理集群任务的任务特征信息,以及每个任务类别对应的聚类标准,获取待处理集群任务的任务类别。
具体的,在图2所示实施例中对集群任务进行分类,获取到不同的任务类别后,可以通过模型训练得到每个任务类别的资源预测模型。图3为本发明实施例中一种资源预测模型的训练过程的流程示意图,如图3所示,包括如下步骤:
步骤301、获取每个任务类别的已完成集群任务的资源使用信息;
本发明实施例中所需要得到的资源预测模型是一个能够预测集群任务的资源需求信息的模型,其中的输入数据为集群任务的业务特征信息,输出数据为待处理集群任务的资源需求信息。在进行模型训练时,可以获取已完成集群任务的上述相关信息作为样本数据进行模型训练,并且对于已完成集群任务而言,其中的资源需求信息已随着任务执行完成而转换为资源使用信息,该资源使用信息仍可以存储到历史记录数据库,本步骤中的获取资源使用信息可以是从历史记录数据库获取资源使用信息。
具体的,与上述实施例中资源需求信息类似的,本步骤中获取的资源使用信息可以包括资源消耗信息、资源使用周期信息、资源异常信息和资源使用峰值信息中的至少一项。其中的资源消耗信息可以包括CPU消耗信息、GPU消耗信息、内存消耗信息、磁盘消耗信息和网络资源消耗信息中的至少一项。
步骤302、基于每个任务类别的已完成集群任务的任务特征信息,以及每个任务类别的已完成集群任务的资源使用信息进行模型训练,以获取与每个任务类别对应的资源预测模型。
在上述步骤201获取到已完成集群任务的任务特征信息,以及步骤302中获取到已完成集群任务的资源使用信息后,可以利用上述信息作为样本数据进行模型训练,以获取到与每个任务类别对应的资源预测模型。
在本发明实施例中所使用的资源预测模型可以是树模型,例如可以是gbm树模型,该类模型具有训练效率高的优点。
在一些实施例中,其中的历史记录数据库除了记录上述的已完成集群任务的任务特征信息和资源使用信息外,还可以记录已完成集群任务的任务状态信息,该任务状态信息可以反映集群任务的任务成功或任务失败状态,若在任务失败状态时,还可以包括任务失败状态原因信息等,上述的任务状态信息可以反映出资源调度模块为待处理集群任务分配资源后,利用该分配的资源执行集群任务的任务状态,实际上也能够反映出之前资源调度模块为其分配的资源是否合理,是否能够满足执行上述集群任务。由此可见,该任务状态信息也具有一定的参考价值,若任务状态信息反映出某一项已完成集群任务在执行过程中存在资源不足的情况,则利用该已完成集群任务的资源使用信息训练资源预测模型会产生一定的误差,因此需要参考任务状态信息对已完成集群任务的资源使用信息进行参数调整,并基于参数调整后的资源使用信息进行模型训练。
具体的,图4为本发明实施例中另一种资源预测模型的训练过程的流程示意图,与图3不同的是,还进一步包括如下步骤:
步骤303、获取已完成集群任务的任务状态信息,该步骤也可以是从历史记录中获取上述任务状态信息。
并且上述的步骤302具体包括:
步骤3021、基于每个任务类别的已完成集群任务的任务状态信息对资源使用信息进行参数调整;
步骤3022、基于每个任务类别的已完成集群任务的任务特征信息,以及从参数调整后的每个任务类别的已完成集群任务的资源使用信息进行模型训练,以获取与每个任务类别对应的资源预测模型。
通过本实施例提供的参数调整后的资源使用信息进行模型训练,能够得到准确性更高的资源预测模型,并能够使得在使用资源预测模型获得的待处理集群任务的资源需求信息更为准确。
举例来说,如果对于某一项已完成集群任务,若该集群任务的任务状态时任务失败,并且包括任务失败状态原因为内存不足时,则上述步骤3022中的参数调整可以具体包括:
使用预设的膨胀系数对资源使用信息中的内存消耗信息进行参数调整。该膨胀系数可以增大内存消耗,其具体数值可以根据经验进行设置,例如可以设置为2。
任务失败状态原因处于上述内存不足外,还可以是如CPU、GPU等资源不足,或者是集群任务的程序逻辑错误等情形,本发明实施例对此不做限制。
本发明上述实施例中,通过利用已完成集群任务的任务特征信息和资源使用信息进行模型训练,得到了资源预测模型,然后可以基于资源预测模型来获取待处理集群任务的资源需求信息,资源调度模块基于上述资源需求信息进行资源分配,并可以使用上述分配的资源执行待处理集群任务,待上述任务执行完成后,作为一项新完成集群任务,同样可以在历史记录数据库中记录其任务特征信息和/或资源使用信息。具体的,可以是由资源调度模块将执行完的集群任务的任务特征信息、资源需求信息、资源使用信息等发送给历史记录数据库。
在一些实施例中,对于上述的资源使用信息,其可以作为验证信息用来对资源预测模型进行修正,具体可以参照如下实施例。
图5为本发明实施例中对资源预测模型进行修正的流程示意图,如图5所示,包括如下步骤:
步骤501、获取新完成集群任务的资源使用信息;
如果所述的,对于新完成集群任务的任务资源使用信息存储到历史记录数据库中的情况,本步骤中可以是从历史记录数据库中获取;
步骤502、根据新完成集群任务的资源使用信息,以及基于资源预测模型获取的新完成集群任务的资源需求信息,获取新完成集群任务的资源预测误差;
本步骤中针对每项新完成集群任务,其中执行前是需要由资源预测模型进行资源需求信息的预测,具体的预测过程可以参照上述实施例的记载,其中预测得到的资源需求信息也可以是记录到历史记录数据库中,本步骤中针对上述两个信息来获取资源预测误差,该资源预测误差能够反映出来资源预测模型的资源预测准确度情况。
步骤503、根据资源预测误差进行资源预测模型更新处理、进行重新聚类处理和进行重新模型预测处理中的至少一项。
本步骤中是在上述步骤502中获取到资源预测误差的基础上,进一步根据资源预测误差对资源预测模型进行修正,修正方式包括但不限于进行资源预测模型更新处理、进行重新聚类处理和进行重新模型预测处理中的至少一项,通常来说,进行重新聚类处理和进行重新模型训练处理是一起进行的。
在一些实施例中,可以对每一项新完成集群任务的资源预测误差进行累加,并根据累加的情况确定是执行上述实施例中的哪一项修正。
图6为图5所示实施例中步骤503的具体流程示意图,如图6所示,包括如下步骤:
步骤601、对新完成集群任务的资源预测误差进行累加;
步骤602、判断上述累加后的资源预测误差与预设阈值的关系,在在累加后的资源预测误差小于预设阈值时,执行步骤603,在在累加后的资源预测误差大于或等于预设阈值时,执行步骤604;
步骤603、进行资源预测模型更新处理;
本步骤中的模型更新处理,主要是指利用新完成集群任务的任务特征信息,以及新完成集群任务的资源使用信息对资源预测模型进行更新,具体的模型更新方法包括但不限于应用梯度下降更新模型等机器学习模型实现。
步骤604、进行重新聚类处理和进行重新模型训练处理。
本步骤中通常可以先进行重新聚类处理,以重新获取集群任务的任务类别,然后基于重新获取的任务类别进行模型训练,来获得与新获取的任务类别对应的资源预测模型。
图7为本发明实施例中重新聚类处理的流程示意图,如图7所示,包括如下步骤:
步骤701、获取已完成集群任务的任务特征信息,以及新完成集群任务的任务特征信息;
步骤702、基于已完成集群任务的任务特征信息,以及新完成集群任务的任务特征信息,通过预设的聚类算法进行聚类处理,以获取集群任务的任务类别,以及每个任务类别对应的聚类标准。
本步骤中,其中在进行重新聚类处理时,是基于已完成集群任务的任务特征信息,以及新完成集群任务的任务特征信息进行,其中聚类算法参考的数据量更大,利于重新得到更加符合实际情况的任务类别,并得到更加符合实际情况的聚类标准,减小聚类误差,使得新接收到的待处理集群任务都能够划分到合适的任务类别,从而使用与其匹配的资源预测模型进行资源需求的预测。
在一些实施例中,上述图7所示的实施例可以是和图3所示的资源预测模型训练方法在同一个功能模块中实现,也可以单独设置新的功能模块来实现。
图8为本发明实施例中重新模型训练处理的流程示意图,如图8所示,包括如下步骤:
步骤801、获取每个任务类别的已完成集群任务的资源使用信息,每个任务类别的新完成集群任务的资源使用信息;
步骤802、基于每个任务类别的已完成集群任务的任务特征信息,每个任务类别的新完成集群任务的任务特征信息,每个任务类别的已完成集群任务的资源使用信息,以及每个任务类别的新完成集群任务的资源使用信息进行模型训练,以获取与每个任务类别对应的资源预测模型。
本步骤中,其中在进行重新模型训练处理时,是基于每个任务类别的已完成集群任务的任务特征信息,每个任务类别的新完成集群任务的任务特征信息,每个任务类别的已完成集群任务的资源使用信息,以及每个任务类别的新完成集群任务的资源使用信息进行,其中作为模型训练的样本数量更大,利于重新得到更加符合实际情况的资源预测模型,使得使用该资源预测模型得到的资源需求预测更加准确,减小资源预测误差。
在一些实施例中,上述图8所示的实施例可以是和图3所示的资源预测模型训练方法在同一个功能模块中实现,也可以单独设置新的功能模块来实现。并且可选的,可以将该重新模型训练处理与重新聚类处理设置在同一个功能模块中实现。
在一些实施例中,在进行上述图8所示的重新模型训练过程中,可以对每个任务类别的已完成集群任务的资源使用信息,以及每个任务类别的新完成集群任务的资源使用信息进行数据清洗处理。具体的,该数据清洗的目的是清除一些影响模型训练的异常数据,或者将上述资源使用信息进行合并,即数据清洗处理可以包括异类数据清除和数据合并中的至少一项。
对于数据清洗而言,其可以是将资源使用信息中一些明显错误测量数据进行清除,删除资源使用信息中的上述数据;对于数据合并可以是提取多个资源使用信息中测量数据的最大值,使用该最大值替代上述多个资源使用信息中测量数据,或者提取多个资源使用信息中测量数据的平均值,使用该平均值替代上述多个资源使用信息中测量数据。
通过上述数据清洗处理,能够清除资源使用信息中偏差较大的测量数据,使用更加合理的样本数据进行模型训练,利于获得资源需求预测更加准确的资源预测模型。
图9为本发明实施例中一种集群任务的资源分配装置的结构示意图,该装置可以包括计算功能的计算机设备、服务器或者以上设备所组成的系统实现。如图9所示,该装置包括接口服务模块11和资源调度模块。
其中的接口服务模块11用于获取待处理集群任务的任务特征信息,并基于所述待处理集群任务的任务特征信息确定所述待处理集群任务的任务类别,以及与集群任务的任务类别对应的资源预测模型,然后将所述待处理集群任务的任务特征信息发送给对应的资源预测模型,以获取所述待处理集群任务的资源需求信息;资源调度模块12用于根据所述待处理集群任务的资源需求信息为所述待处理集群任务进行资源分配。
具体的,本发明实施例中的待处理集群任务可以是由开发者提交到集群计算中心,集群计算中心的资源调度模块需要为每个集群任务分配资源,同时协调不同集群任务的资源需求;本实施例中,是由接口服务模块11获取待处理集群任务的资源需求信息。而接口服务模块11获取的待处理集群任务的任务特征信息,可以是由上述的资源调度模块12从待处理集群任务中提取,然后发送给接口服务模块11,或者是由接口服务模块11直接根据待处理集群任务提取,本发明实施例不进行限制。
本步骤中获取的待处理集群任务的任务特征信息可以包括进行资源需求预测所需的任何信息,例如可以包括文件大小、文件数目、文件类型、镜像名称、镜像大小、镜像哈希码、程序文本长度、外部获取的数据集大小中的至少一项,针对不同类别的集群任务,其中所需的任务特征信息也可以有所不同,也可以包括除上述列举的信息类型以外的其他任务特征信息。本发明实施例中的接口服务模块11可以是应用程序编程接口(ApplicationProgramming Interface,简称:API)服务模块。
本实施例中是充分考虑到不同类别的集群任务,其资源需求也可以有所区别,进而为每个任务类别设置了对应的资源预测模型。因此,在对待处理集群任务的资源需求进行预测时,需要先根据待处理集群任务的任务特征信息确定待处理集群任务的任务类别,并进一步确定与待处理集群任务的任务类别对应的资源预测模型。
本发明实施例中,其中的资源预测模型是一种通过预先训练得到的预测模型,该预测模型的输入数据为待处理集群任务的任务特征信息,输出数据为待处理集群任务的资源需求信息。
在一些实施例中,其中的资源需求信息可以包括多种信息,例如可以包括资源消耗信息、资源使用周期信息、资源异常信息和资源使用峰值信息中的至少一项;
其中,资源消耗信息可以表示集群任务在执行过程中所需的资源,具体的可以包括CPU消耗信息、GPU消耗信息、内存消耗信息、磁盘消耗信息和网络资源消耗信息中的至少一项。对于不同类别的集群任务,其所需要的资源消耗信息的类别可以有所不同。
资源使用周期信息可以与集群任务的生命周期相同,即该集群任务需求的时间长短。
资源异常信息可以是集群任务在执行过程中可能遇到的资源使用异常情况,即可能在某一时间段资源需求大量增加等情况。
资源使用峰值信息可以是该集群任务的资源使用峰值,通过该资源使用峰值信息,可以使资源调度模块错峰调度不同集群任务,而避免不同的集群任务峰值叠加。
接口服务模块11在获取到待处理集群任务的资源需求信息后,可以将上述的待处理集群任务的资源需求信息发送给资源调度模块12,以由资源调度模块12根据待处理集群任务的资源需求信息为待处理集群任务进行资源分配。
本发明实施例提供的集群任务的资源分配装置,通过将集群任务划分为不同的任务类别,并且建立了不同任务类别对应的资源预测模型,从而使得在接收到新的集群任务时,可以基于待处理集群任务的任务特征信息获取其所属的任务类别,以及对应的资源预测模型,并基于该资源预测模型得到该集群任务的资源需求信息,最后基于资源需求信息进行资源分配。上述技术方案一方面能够确保集群计算中心能够根据集群任务的实际资源需求为其进行资源分配,避免资源浪费,同时每项集群任务也能够分配得到充足的资源,并能够保证开发者提交的每项集群任务的顺利执行;二方面由于上述资源预测模型根据待处理集群任务的任务类别不同而有所不同,充分考虑到不同类别的集群任务,其资源需求情况也会有所不同,本发明实施例为不同任务类别设置对应的资源预测模型,能够保证资源需求信息预测的准确性。
在本发明实施例中,其中需要将集群任务划分为不同的任务类别,并需要为每个任务类别设置对应的资源预测模型,具体的,可以通过设置历史记录数据库和性能监视模块来实现。
图10为本发明实施例中另一种集群任务的资源分配装置的结构示意图,如图10所示,该装置还包括历史记录数据库13和性能监视模块14。
其中的历史记录数据库13用于存储已完成集群任务的任务特征信息;性能监视模块14用于从历史记录数据库中获取已完成集群任务的任务特征信息,基于已完成集群任务的任务特征信息,通过预设的聚类算法进行聚类处理,以获取所述集群任务的任务类别,以及每个任务类别对应的聚类标准。
而上述图9所示实施例中的接口服务模块11具体用于基于所述待处理集群任务的任务特征信息,以及每个任务类别对应的聚类标准,获取所述待处理集群任务的任务类别。
本发明实施例中可以设置一个历史记录数据库13,该数据库13可以选用一个持久化数据库来存储已完成集群任务的任务特征信息,因此本实施例中可以是从历史记录数据库中获取已完成集群任务的任务特征信息。如上所述的,任务特征信息可以包括文件大小、文件数目、文件类型、镜像名称、镜像大小、镜像哈希码、程序文本长度、外部获取的数据集大小中的至少一项,则历史记录数据库也可以是记录已完成集群任务的上述信息。
本实施例中,性能监视模块14在进行聚类处理时,其中所使用的预设聚类算法可以包括多种形式,具体的,可以是包括规则和机器学习两部分,对于常见已知任务类别,可以通过规则的形式聚类在一起,对于一些非已知的任务类别,可以使用机器学习的方式进行聚类。例如可以是K-means算法,或者其他具有类似功能的聚类算法,聚类处理的结果,不仅仅包括集群任务的任务类别,而且包括每个任务类别的聚类标准。
具体的,在图10所示实施例中性能监视模块14在对集群任务进行分类,获取到不同的任务类别后,可以通过模型训练得到每个任务类别的资源预测模型。
具体的,本发明实施例中所需要得到的资源预测模型是一个能够预测集群任务的资源需求信息的模型,其中的输入数据为集群任务的业务特征信息,输出数据为待处理集群任务的资源需求信息。在进行模型训练时,可以获取已完成集群任务的上述相关信息作为样本数据进行模型训练,并且对于已完成集群任务而言,其中的资源需求信息已随着任务执行完成而转换为资源使用信息,该资源使用信息仍可以存储到历史记录数据库13,本步骤中的获取资源使用信息可以是从历史记录数据库13获取资源使用信息。
具体的,与上述实施例中资源需求信息类似的,本步骤中获取的资源使用信息可以包括资源消耗信息、资源使用周期信息、资源异常信息和资源使用峰值信息中的至少一项。其中的资源消耗信息可以包括CPU消耗信息、GPU消耗信息、内存消耗信息、磁盘消耗信息和网络资源消耗信息中的至少一项。
性能监视模块14还用于基于每个任务类别的已完成集群任务的任务特征信息,以及每个任务类别的已完成集群任务的资源使用信息进行模型训练,以获取与每个任务类别对应的资源预测模型。
在本发明实施例中所使用的资源预测模型可以是树模型,例如可以是gbm树模型,该类模型具有训练效率高的优点。
在一些实施例中,其中的历史记录数据库13除了记录上述的已完成集群任务的任务特征信息和资源使用信息外,还可以记录已完成集群任务的任务状态信息,该任务状态信息可以反映集群任务的任务成功或任务失败状态,若在任务失败状态时,还可以包括任务失败状态原因信息等,上述的任务状态信息可以反映出资源调度模块为待处理集群任务分配资源后,利用该分配的资源执行集群任务的任务状态,实际上也能够反映出之前资源调度模块为其分配的资源是否合理,是否能够满足执行上述集群任务。由此可见,该任务状态信息也具有一定的参考价值,若任务状态信息反映出某一项已完成集群任务在执行过程中存在资源不足的情况,则利用该已完成集群任务的资源使用信息训练资源预测模型会产生一定的误差,因此需要参考任务状态信息对已完成集群任务的资源使用信息进行参数调整,并基于参数调整后的资源使用信息进行模型训练。
性能监视模块14具体用于基于每个任务类别的已完成集群任务的任务状态信息对资源使用信息进行参数调整;并基于每个任务类别的已完成集群任务的任务特征信息,以及从参数调整后的每个任务类别的已完成集群任务的资源使用信息进行模型训练,以获取与每个任务类别对应的资源预测模型。
通过本实施例提供的参数调整后的资源使用信息进行模型训练,能够得到准确性更高的资源预测模型,并能够使得在使用资源预测模型获得的待处理集群任务的资源需求信息更为准确。
举例来说,如果对于某一项已完成集群任务,若该集群任务的任务状态时任务失败,并且包括任务失败状态原因为内存不足时,则上述性能监视模块14执行的参数调整可以具体包括:
使用预设的膨胀系数对资源使用信息中的内存消耗信息进行参数调整。该膨胀系数可以增大内存消耗,其具体数值可以根据经验进行设置,例如可以设置为2。
任务失败状态原因处于上述内存不足外,还可以是如CPU、GPU等资源不足,或者是集群任务的程序逻辑错误等情形,本发明实施例对此不做限制。
本发明上述实施例中,通过利用已完成集群任务的任务特征信息和资源使用信息进行模型训练,得到了资源预测模型,然后可以基于资源预测模型来获取待处理集群任务的资源需求信息,资源调度模块基于上述资源需求信息进行资源分配,并可以使用上述分配的资源执行待处理集群任务,待上述任务执行完成后,作为一项新完成集群任务,同样可以在历史记录数据库中记录其任务特征信息和/或资源使用信息。具体的,可以是由资源调度模块将执行完的集群任务的任务特征信息、资源需求信息、资源使用信息等发送给历史记录数据库。
在一些实施例中,对于上述的资源使用信息,其可以作为验证信息用来对资源预测模型进行修正,具体的仍参照上述图10所示的实施例,其中的历史记录数据库13还存储有新完成集群任务的资源使用信息;而性能监视模块14还用于根据新完成集群任务的资源使用信息,以及基于资源预测模型获取的所述新完成集群任务的资源需求信息,获取新完成集群任务的资源预测误差;并可以根据资源预测误差进行资源预测模型更新处理、进行重新聚类处理和进行重新模型预测处理中的至少一项。
本发明实施例中,其中针对每项新完成集群任务,由于执行前是需要由资源预测模型进行资源需求信息的预测,具体的预测过程可以参照上述实施例的记载,其中预测得到的资源需求信息也可以是记录到历史记录数据库中,本步骤中针对上述两个信息来获取资源预测误差,该资源预测误差能够反映出来资源预测模型的资源预测准确度情况。
而性能监视模块14根据资源预测误差对资源预测模型进行修正,修正方式包括但不限于进行资源预测模型更新处理、进行重新聚类处理和进行重新模型预测处理中的至少一项,通常来说,进行重新聚类处理和进行重新模型训练处理是一起进行的。
在一些实施例中,可以对每一项新完成集群任务的资源预测误差进行累加,并根据累加的情况确定是执行上述实施例中的哪一项修正。即可以对新完成集群任务的资源预测误差进行累加;并判断上述累加后的资源预测误差与预设阈值的关系,在在累加后的资源预测误差小于预设阈值时,进行资源预测模型更新处理,在累加后的资源预测误差大于或等于预设阈值时,进行重新聚类处理和进行重新模型训练处理。
上述资源预测模型更新处理,以及重新聚类处理和重新模型训练处理可以均是在性能监视模块中执行;或者在一些实施例,可以设置单独的功能模块来执行重新聚类处理和重新模型训练处理。
图11为本发明实施例中又一种集群任务的资源分配装置的结构示意图,如图11所述,该装置还包括重聚类和重训练模块15,其中的性能监视模块14在累加后的资源预测误差小于预设阈值时,在性能监视模块14内部进行资源预测模型更新处理,在累加后的资源预测误差大于或等于预设阈值时,指示重聚类和重训练模块15进行重新聚类处理和进行重新模型训练处理。
在进行重新聚类处理时,重聚类和重训练模块15具体用于接收性能监视模块发送的已完成集群任务的任务特征信息,以及新完成集群任务的任务特征信息;基于已完成集群任务的任务特征信息,以及新完成集群任务的任务特征信息,通过预设的聚类算法进行聚类处理,以及获取集群任务的任务类别,以及每个任务类别对应的聚类标准。
本实施例中,其中在进行重新聚类处理时,是基于已完成集群任务的任务特征信息,以及新完成集群任务的任务特征信息进行,其中聚类算法参考的数据量更大,利于重新得到更加符合实际情况的任务类别,并得到更加符合实际情况的聚类标准,减小聚类误差,使得新接收到的待处理集群任务都能够划分到合适的任务类别,从而使用与其匹配的资源预测模型进行资源需求的预测。
在进行重新模型训练处理时,重聚类和重训练模块15具体用于接收性能监视模块发送的每个任务类别的已完成集群任务的资源使用信息,每个任务类别的新完成集群任务的资源使用信息;基于每个任务类别的已完成集群任务的任务特征信息,每个任务类别的新完成集群任务的任务特征信息,每个任务类别的已完成集群任务的资源使用信息,以及每个任务类别的新完成集群任务的资源使用信息进行模型训练,以获取与每个任务类别对应的资源预测模型。
本实施例中,其中在进行重新模型训练处理时,是基于每个任务类别的已完成集群任务的任务特征信息,每个任务类别的新完成集群任务的任务特征信息,每个任务类别的已完成集群任务的资源使用信息,以及每个任务类别的新完成集群任务的资源使用信息进行,其中作为模型训练的样本数量更大,利于重新得到更加符合实际情况的资源预测模型,使得使用该资源预测模型得到的资源需求预测更加准确,减小资源预测误差。
在一些实施例中,在进行上述图8所示的重新模型训练过程中,可以对每个任务类别的已完成集群任务的资源使用信息,以及每个任务类别的新完成集群任务的资源使用信息进行数据清洗处理。此时,如图11所示,该装置还包括数据清洗模块16,数据清洗模块16用于对每个任务类别的已完成集群任务的资源使用信息,以及每个任务类别的新完成集群任务的资源使用信息进行数据清洗处理,将数据清洗后处理的已完成集群任务的资源使用信息,以及每个任务类别的新完成集群任务的资源使用信息发送给所述重聚类和重训练模块。
具体的,该数据清洗的目的是清除一些影响模型训练的异常数据,或者将上述资源使用信息进行合并,即数据清洗模块16具体用于进行异类数据清除和数据合并中的至少一项。
对于数据清洗而言,其可以是将资源使用信息中一些明显错误测量数据进行清除,删除资源使用信息中的上述数据;对于数据合并可以是提取多个资源使用信息中测量数据的最大值,使用该最大值替代上述多个资源使用信息中测量数据,或者提取多个资源使用信息中测量数据的平均值,使用该平均值替代上述多个资源使用信息中测量数据。
通过上述数据清洗处理,能够清除资源使用信息中偏差较大的测量数据,使用更加合理的样本数据进行模型训练,利于获得资源需求预测更加准确的资源预测模型。
第三方面,本发明实施例提供了一种计算机装置,计算机装置包括:
处理器,处理器用于执行存储器中存储的计算机程序时实现如上所述集群任务的资源分配方法的步骤。
处理器可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制计算机中的其他组件以执行期望的功能。
存储器可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器可以运行所述程序指令,以实现上文所述的本申请的各个实施例的方法步骤以及/或者其他期望的功能。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机指令,计算机指令被处理器执行时实现如上所述训练图像分类模型方法的步骤。
除了上述方法和装置以外,本申请的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本申请各种实施例的方法步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本发明实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本申请的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本申请各种实施例的方法步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。
本领域的技术人员能够理解,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
虽然结合附图描述了本发明的实施方式,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (10)
1.一种集群任务的资源分配方法,其特征在于,包括:
获取待处理集群任务的任务特征信息;
基于所述待处理集群任务的任务特征信息确定所述待处理集群任务的任务类别,以及确定与所述待处理集群任务的任务类别对应的资源预测模型;
基于所述待处理集群任务的任务特征信息,以及所述对应的资源预测模型,获取所述待处理集群任务的资源需求信息;
根据所述待处理集群任务的资源需求信息为所述待处理集群任务进行资源分配。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取已完成集群任务的任务特征信息;
基于所述已完成集群任务的任务特征信息,通过预设的聚类算法进行聚类处理,以获取所述集群任务的任务类别,以及每个任务类别对应的聚类标准;
所述基于所述待处理集群任务的任务特征信息确定所述待处理集群任务的任务类别包括:基于所述待处理集群任务的任务特征信息,以及每个任务类别对应的聚类标准,获取所述待处理集群任务的任务类别。
3.根据权利要求2所述的方法,其特征在于,所述任务特征信息包括文件大小、文件数目、文件类型、镜像名称、镜像大小、镜像哈希码、程序文本长度、外部获取的数据集大小中的至少一项。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
获取每个任务类别的已完成集群任务的资源使用信息;
基于每个任务类别的已完成集群任务的任务特征信息,以及每个任务类别的已完成集群任务的资源使用信息进行模型训练,以获取与每个任务类别对应的资源预测模型。
5.根据权利要求4所述的方法,其特征在于,所述资源使用信息包括资源消耗信息、资源使用周期信息、资源异常信息和资源使用峰值信息中的至少一项;
所述资源消耗信息包括CPU消耗信息、GPU消耗信息、内存消耗信息、磁盘消耗信息和网络资源消耗信息中的至少一项。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
获取每个任务类别的已完成集群任务的任务状态信息;
所述基于每个任务类别的已完成集群任务的任务特征信息,以及每个任务类别的已完成集群任务的资源使用信息进行模型训练,以获取与每个任务类别对应的资源预测模型,包括:
基于所述每个任务类别的已完成集群任务的任务状态信息对所述资源使用信息进行参数调整;
基于每个任务类别的已完成集群任务的任务特征信息,以及从参数调整后的每个任务类别的已完成集群任务的资源使用信息进行模型训练,以获取与每个任务类别对应的资源预测模型。
7.根据权利要求6所述的方法,其特征在于,所述任务状态信息包括任务成功状态、任务失败状态和任务失败状态原因信息中的至少一项。
8.一种集群任务的资源分配装置,其特征在于,包括:
接口服务模块,用于获取待处理集群任务的任务特征信息,并基于所述待处理集群任务的任务特征信息确定所述待处理集群任务的任务类别,以及与集群任务的任务类别对应的资源预测模型,然后将所述待处理集群任务的任务特征信息发送给对应的资源预测模型,以获取所述待处理集群任务的资源需求信息;
资源调度模块,用于根据所述待处理集群任务的资源需求信息为所述待处理集群任务进行资源分配。
9.一种计算机装置,其特征在于,所述计算机装置包括:
处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1-7中任意一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述计算机指令被处理器执行时实现如权利要求1-7中任意一项所述方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010183616.2A CN111381970B (zh) | 2020-03-16 | 2020-03-16 | 集群任务的资源分配方法及装置、计算机装置及存储介质 |
PCT/CN2021/080818 WO2021185206A1 (zh) | 2020-03-16 | 2021-03-15 | 集群任务的资源分配方法及装置、计算机装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010183616.2A CN111381970B (zh) | 2020-03-16 | 2020-03-16 | 集群任务的资源分配方法及装置、计算机装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111381970A true CN111381970A (zh) | 2020-07-07 |
CN111381970B CN111381970B (zh) | 2023-07-25 |
Family
ID=71219837
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010183616.2A Active CN111381970B (zh) | 2020-03-16 | 2020-03-16 | 集群任务的资源分配方法及装置、计算机装置及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111381970B (zh) |
WO (1) | WO2021185206A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113378498A (zh) * | 2021-08-12 | 2021-09-10 | 新华三半导体技术有限公司 | 一种任务分配方法及装置 |
WO2021185206A1 (zh) * | 2020-03-16 | 2021-09-23 | 第四范式(北京)技术有限公司 | 集群任务的资源分配方法及装置、计算机装置及存储介质 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023159568A1 (zh) * | 2022-02-28 | 2023-08-31 | 华为技术有限公司 | 一种任务调度方法、npu、芯片、电子设备和可读介质 |
CN115334152B (zh) * | 2022-09-16 | 2023-03-28 | 北京向量栈科技有限公司 | 提交结构化机器学习计算任务到计算集群的方法 |
CN117519951B (zh) * | 2024-01-04 | 2024-05-03 | 深圳博瑞天下科技有限公司 | 基于消息中台的实时数据处理方法及系统 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160019471A1 (en) * | 2013-11-27 | 2016-01-21 | Ntt Docomo Inc. | Automatic task classification based upon machine learning |
CN105718479A (zh) * | 2014-12-04 | 2016-06-29 | 中国电信股份有限公司 | 跨idc大数处理架构下执行策略生成方法、装置 |
CN105868222A (zh) * | 2015-09-17 | 2016-08-17 | 乐视网信息技术(北京)股份有限公司 | 一种任务调度方法及装置 |
US20160380908A1 (en) * | 2013-12-18 | 2016-12-29 | Telefonaktiebolaget Lm Ericsson (Publ) | Resource Prediction for Cloud Computing |
US20170039236A1 (en) * | 2015-08-06 | 2017-02-09 | International Business Machines Corporation | Vertical tuning of distributed analytics clusters |
CN107404523A (zh) * | 2017-07-21 | 2017-11-28 | 中国石油大学(华东) | 云平台自适应资源调度系统和方法 |
CN108255689A (zh) * | 2018-01-11 | 2018-07-06 | 哈尔滨工业大学 | 一种基于历史任务分析的Apache Spark应用自动化调优方法 |
CN109634748A (zh) * | 2018-12-12 | 2019-04-16 | 深圳前海微众银行股份有限公司 | 集群资源调度方法、装置、设备及计算机可读存储介质 |
CN109992404A (zh) * | 2017-12-31 | 2019-07-09 | 中国移动通信集团湖北有限公司 | 集群计算资源调度方法、装置、设备及介质 |
CN109996247A (zh) * | 2019-03-27 | 2019-07-09 | 中国电子科技集团公司信息科学研究院 | 网络化资源调配方法、装置、设备及存储介质 |
CN110413412A (zh) * | 2019-07-19 | 2019-11-05 | 苏州浪潮智能科技有限公司 | 一种基于gpu集群资源分配的方法和装置 |
CN110502321A (zh) * | 2019-07-11 | 2019-11-26 | 新华三大数据技术有限公司 | 一种资源调度方法及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105207812B (zh) * | 2015-08-28 | 2018-04-17 | 广东三盟信息科技有限公司 | 一种基于业务模型的云计算资源预测方法及系统 |
CN106874112B (zh) * | 2017-01-17 | 2020-04-28 | 华南理工大学 | 一种结合负载均衡的工作流回填方法 |
CN111381970B (zh) * | 2020-03-16 | 2023-07-25 | 第四范式(北京)技术有限公司 | 集群任务的资源分配方法及装置、计算机装置及存储介质 |
-
2020
- 2020-03-16 CN CN202010183616.2A patent/CN111381970B/zh active Active
-
2021
- 2021-03-15 WO PCT/CN2021/080818 patent/WO2021185206A1/zh active Application Filing
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160019471A1 (en) * | 2013-11-27 | 2016-01-21 | Ntt Docomo Inc. | Automatic task classification based upon machine learning |
US20160380908A1 (en) * | 2013-12-18 | 2016-12-29 | Telefonaktiebolaget Lm Ericsson (Publ) | Resource Prediction for Cloud Computing |
CN105718479A (zh) * | 2014-12-04 | 2016-06-29 | 中国电信股份有限公司 | 跨idc大数处理架构下执行策略生成方法、装置 |
US20170039236A1 (en) * | 2015-08-06 | 2017-02-09 | International Business Machines Corporation | Vertical tuning of distributed analytics clusters |
CN105868222A (zh) * | 2015-09-17 | 2016-08-17 | 乐视网信息技术(北京)股份有限公司 | 一种任务调度方法及装置 |
CN107404523A (zh) * | 2017-07-21 | 2017-11-28 | 中国石油大学(华东) | 云平台自适应资源调度系统和方法 |
CN109992404A (zh) * | 2017-12-31 | 2019-07-09 | 中国移动通信集团湖北有限公司 | 集群计算资源调度方法、装置、设备及介质 |
CN108255689A (zh) * | 2018-01-11 | 2018-07-06 | 哈尔滨工业大学 | 一种基于历史任务分析的Apache Spark应用自动化调优方法 |
CN109634748A (zh) * | 2018-12-12 | 2019-04-16 | 深圳前海微众银行股份有限公司 | 集群资源调度方法、装置、设备及计算机可读存储介质 |
CN109996247A (zh) * | 2019-03-27 | 2019-07-09 | 中国电子科技集团公司信息科学研究院 | 网络化资源调配方法、装置、设备及存储介质 |
CN110502321A (zh) * | 2019-07-11 | 2019-11-26 | 新华三大数据技术有限公司 | 一种资源调度方法及系统 |
CN110413412A (zh) * | 2019-07-19 | 2019-11-05 | 苏州浪潮智能科技有限公司 | 一种基于gpu集群资源分配的方法和装置 |
Non-Patent Citations (4)
Title |
---|
MD AKRAM KHAN等: "Task Allocation in Containerized Cloud Computing Environment", 《2022 INTERNATIONAL CONFERENCE ON ADVANCEMENTS IN SMART, SECURE AND INTELLIGENT COMPUTING (ASSIC)》, pages 1 - 5 * |
林晨: "面向无人机集群任务分配的分布式算法研究", 《中国优秀硕士学位论文全文数据库》, pages 031 - 244 * |
王吉: "虚拟化云环境下面向容错的任务调度与资源优化方法研究", 《中国优秀硕士学位论文全文数据库》, pages 137 - 4 * |
陈明丽等: "Hadoop平台下改进的推测任务调度算法", 《传感器与微系统》, vol. 36, no. 02, pages 134 - 137 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021185206A1 (zh) * | 2020-03-16 | 2021-09-23 | 第四范式(北京)技术有限公司 | 集群任务的资源分配方法及装置、计算机装置及存储介质 |
CN113378498A (zh) * | 2021-08-12 | 2021-09-10 | 新华三半导体技术有限公司 | 一种任务分配方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111381970B (zh) | 2023-07-25 |
WO2021185206A1 (zh) | 2021-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111381970B (zh) | 集群任务的资源分配方法及装置、计算机装置及存储介质 | |
US12073298B2 (en) | Machine learning service | |
US11531909B2 (en) | Computer system and method for machine learning or inference | |
JP7551745B2 (ja) | Mlベースのイベント・ハンドリング | |
US9886670B2 (en) | Feature processing recipes for machine learning | |
US20180018586A1 (en) | Apparatus and method for managing machine learning | |
US9406023B2 (en) | System recommendations based on incident analysis | |
AU2019216636A1 (en) | Automation plan generation and ticket classification for automated ticket resolution | |
US7979864B2 (en) | Apparatus for setting used license of executing job into unused license state and allocating the set unused license to a to be executed job based on priority | |
US9189543B2 (en) | Predicting service request breaches | |
EP3301621A1 (en) | Timing estimations for application lifecycle management work items determined through machine learning | |
JP2015133112A (ja) | ジョブスケジューリング方法、データアナライザ、データ解析装置、コンピュータシステム及びコンピュータ可読媒体 | |
CN110806954A (zh) | 评估云主机资源的方法、装置、设备及存储介质 | |
CN113010260A (zh) | 容器数量弹性伸缩方法以及容器数量弹性伸缩方法系统 | |
CN115373835A (zh) | Flink集群的任务资源调整方法、装置及电子设备 | |
CN116827950A (zh) | 云资源的处理方法、装置、设备及存储介质 | |
CN110389817B (zh) | 多云系统的调度方法、装置和计算机可读介质 | |
CN118152124A (zh) | 一种基于云计算的数据处理方法及系统 | |
CN116962532A (zh) | 集群任务调度方法、装置、计算机设备及存储介质 | |
CN111045849A (zh) | 核对异常原因的识别方法、装置、服务器和存储介质 | |
US10592813B1 (en) | Methods and apparatus for data operation pre-processing with probabilistic estimation of operation value | |
CN115994029A (zh) | 容器资源调度方法及装置 | |
CN111368864A (zh) | 识别方法、可用性评估方法及装置、电子设备、存储介质 | |
CN112685390B (zh) | 数据库实例管理方法及装置、计算设备 | |
CN116860713A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40032824 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |