CN117149392A - 资源处理方法、装置、服务器及存储介质 - Google Patents
资源处理方法、装置、服务器及存储介质 Download PDFInfo
- Publication number
- CN117149392A CN117149392A CN202311247032.7A CN202311247032A CN117149392A CN 117149392 A CN117149392 A CN 117149392A CN 202311247032 A CN202311247032 A CN 202311247032A CN 117149392 A CN117149392 A CN 117149392A
- Authority
- CN
- China
- Prior art keywords
- job
- priority
- jobs
- scheduling
- preset
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title abstract description 17
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 71
- 230000004044 response Effects 0.000 claims abstract description 63
- 238000007635 classification algorithm Methods 0.000 claims abstract description 49
- 238000000034 method Methods 0.000 claims abstract description 45
- 238000004364 calculation method Methods 0.000 claims abstract description 37
- 238000012545 processing Methods 0.000 claims abstract description 22
- 238000012549 training Methods 0.000 claims description 44
- 239000013598 vector Substances 0.000 claims description 33
- 230000006870 function Effects 0.000 claims description 16
- 230000008569 process Effects 0.000 description 16
- 238000004140 cleaning Methods 0.000 description 10
- 230000003068 static effect Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000010801 machine learning Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 238000013468 resource allocation Methods 0.000 description 5
- 238000007781 pre-processing Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 3
- 238000009472 formulation Methods 0.000 description 3
- 235000003642 hunger Nutrition 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 230000037351 starvation Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000004043 responsiveness Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000002790 cross-validation Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000000691 measurement method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000011425 standardization method Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24147—Distances to closest patterns, e.g. nearest neighbour classification
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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
- 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
- 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/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提供一种资源处理方法、装置、服务器及存储介质,涉及数据处理领域。该方法包括:获取多个作业请求;将与每一作业标识对应的作业加入调度资源等待队列;调度资源等待队列对应有待调度的集群资源。若确定待调度的集群资源不满足调度资源等待队列中的作业的调度需求,则通过预设的高响应比优先调度算法HRRN,对调度资源等待队列中的预设数量的作业进行资源计算,确定预设数量的作业中每一作业的优先级;通过预设的K最邻近分类算法KNN型,对调度资源等待队列中的剩余数量的作业进行资源预测,确定剩余数量的作业中每一作业的优先级。本申请的方法,解决了业高峰和低谷时资源调度不均的技术问题。
Description
技术领域
本申请涉及数据处理领域,尤其涉及一种资源处理方法、装置、服务器及存储介质。
背景技术
目前,随着大数据时代的不断发展,金融科技领域的数据往往呈现出规模数量大、约束条件多、请求分布不均等特点。与此同时,考量到高性能批量计算需求的增加,且高性能计算环境下通常需要处理超大规模并行计算任务,难以平衡作业高峰和低谷的调度资源。
现有技术中,大数据服务平台的批量计算能力多以统一调度为主,且统一调度服务中的作业调度策略是基于静态的指标和预设优先级,以完成对排队作业的调度资源分配。
但是,高性能计算环境下通常需要处理超大规模并行计算任务,大数据服务平台的应用侧提交的作业数量在不同时段各不相同,某个时间段可能会出现排队的作业数量较多,造成计算资源紧缺而无法满足作业资源分配的需求;某个时段又会出现运行的作业数量较少而造成计算资源闲置,导致难以灵活地在不同时间段为不同作业分配合理的调度资源。
发明内容
本申请提供一种资源处理方法、装置、服务器及存储介质,用以解决作业高峰和低谷时资源调度不均的技术问题。
第一方面,本申请提供一种资源处理方法,包括:
获取多个作业请求;其中,每一作业请求对应一个作业标识;并将与每一作业标识对应的作业加入调度资源等待队列;所述调度资源等待队列对应有待调度的集群资源;
若确定所述待调度的集群资源不满足所述调度资源等待队列中的作业的调度需求,则通过预设的高响应比优先调度算法HRRN,对所述调度资源等待队列中的预设数量的作业进行资源计算,确定所述预设数量的作业中每一作业的优先级;并通过预设的K最邻近分类算法KNN模型,对所述调度资源等待队列中的剩余数量的作业进行资源预测,确定所述剩余数量的作业中每一作业的优先级;其中,所述预设的K最邻近分类算法KNN模型是根据历史作业数据训练得到的;
根据所述预设数量的作业中每一作业的优先级、所述剩余数量的作业中每一作业的优先级,生成优先级列表;并根据所述优先级列表,依次对所述优先级列表中每一优先级对应的作业进行资源调度。
第二方面,本申请提供一种资源处理装置,包括:
获取模块,用于获取多个作业请求;其中,每一作业请求对应一个作业标识;并将与每一作业标识对应的作业加入调度资源等待队列;所述调度资源等待队列对应有待调度的集群资源;
计算模块,用于若确定所述待调度的集群资源不满足所述调度资源等待队列中的作业的调度需求,则通过预设的高响应比优先调度算法HRRN,对所述调度资源等待队列中的预设数量的作业进行资源计算,确定所述预设数量的作业中每一作业的优先级;
预测模块,用于通过预设的K最邻近分类算法KNN模型,对所述调度资源等待队列中的剩余数量的作业进行资源预测,确定所述剩余数量的作业中每一作业的优先级;其中,所述预设的K最邻近分类算法KNN模型是根据历史作业数据训练得到的;
生成模块,用于根据所述预设数量的作业中每一作业的优先级、所述剩余数量的作业中每一作业的优先级,生成优先级列表;
调度模块,用于根据所述优先级列表,依次对所述优先级列表中每一优先级对应的作业进行资源调度。
第三方面,本申请提供一种服务器,包括:处理器,以及与所述处理器通信连接的存储器;所述存储器存储计算机执行指令;所述处理器执行所述存储器存储的计算机执行指令,以实现如第一方面所述的方法。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如第一方面所述的方法。
本申请提供的一种资源处理方法、装置、服务器及存储介质,获取多个作业请求;其中,每一作业请求对应一个作业标识;并将与每一作业标识对应的作业加入调度资源等待队列;调度资源等待队列对应有待调度的集群资源。若确定待调度的集群资源不满足调度资源等待队列中的作业的调度需求,则通过预设的高响应比优先调度算法HRRN,对调度资源等待队列中的预设数量的作业进行资源计算,确定预设数量的作业中每一作业的优先级;并通过预设的K最邻近分类算法KNN模型,对调度资源等待队列中的剩余数量的作业进行资源预测,确定剩余数量的作业中每一作业的优先级;其中,预设的K最邻近分类算法KNN模型是根据历史作业数据训练得到的。根据预设数量的作业中每一作业的优先级、剩余数量的作业中每一作业的优先级,生成优先级列表;并根据优先级列表,依次对优先级列表中每一优先级对应的作业进行资源调度。本方案中,判断待调度的集群资源是否满足调度资源等待队列中的作业的调度需求,若确定待调度的集群资源不满足调度资源等待队列中的作业的调度需求,则首先通过高响应比优先调度算法HRRN对调度资源等待队列中的剩余数量的作业进行资源预测,确定剩余数量的作业中每一作业的优先级。并通过预设的K最邻近分类算法KNN模型,对调度资源等待队列中的剩余数量的作业进行资源预测,确定剩余数量的作业中每一作业的优先级。根据确定的作业的优先级,动态确定优先级列表,并根据优先级列表依次对作业分配资源。因此,通过高响应比优先调度算法HRRN确定作业的优先级,并通过利用机器学习算法(KNN算法)来预测作业的优先级,能够更准确地、高效地确定某作业的优先级以实现优先级的动态更新调整,最小化平均等待时间,以达到更优利用CPU资源,进而提高系统的响应度和效率的目的,可以在提高系统性能的同时,有效避免作业任务饥饿和调度资源分配不公平的问题,解决了业高峰和低谷时资源调度不均的技术问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的一种资源处理方法的流程示意图;
图2为本申请实施例提供的另一种资源处理方法的流程示意图;
图3为本申请实施例提供的又一种资源处理方法的流程示意图;
图4为本申请实施例提供的其他一种资源处理方法的流程示意图;
图5为本申请实施例提供的一种资源处理装置的结构示意图;
图6为本申请实施例提供的另一种资源处理装置的结构示意图;
图7为本申请实施例提供的一种服务器的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
需要说明的是,本申请资源处理方法、装置、服务器及存储介质可用于数据处理领域,也可用于除数据处理之外的任意领域,本申请资源处理方法、装置、服务器及存储介质的应用领域不作限定。
目前,随着大数据时代的不断发展,金融科技领域的数据往往呈现出规模数量大、约束条件多、请求分布不均等特点。与此同时,考量到高性能批量计算需求的增加,且高性能计算环境下通常需要处理超大规模并行计算任务,难以平衡作业高峰和低谷的调度资源。
一个示例中,大数据服务平台的批量计算能力多以统一调度为主,且统一调度服务中的作业调度策略是基于静态的指标和预设优先级,以完成对排队作业的调度资源分配。但是,高性能计算环境下通常需要处理超大规模并行计算任务,大数据服务平台的应用侧提交的作业数量在不同时段各不相同,某个时间段可能会出现排队的作业数量较多,造成计算资源紧缺而无法满足作业资源分配的需求;某个时段又会出现运行的作业数量较少而造成计算资源闲置,导致难以灵活地在不同时间段为不同作业分配合理的调度资源。
一个示例中,现有技术的缺点包括作业规模数量大、作业约束条件多、作业请求分布不均、低效性。具体的,
作业规模数量大:目前,全球创建、复制和消费的数据量以每两年提升一倍的指数级速度增长。数据量的增长不仅使得大数据服务平台亟待处理的作业的绝对数量增加;而且也使得大数据服务平台的批量计算环节中,单个数据作业所需处理的数据规模和数据量的增长。因此,如何在提高单个作业处理速度的同时保障整体作业运行的高并发,是作业调度系统面临的难题之一。
作业约束条件多:随着“业务数据化、数据业务化”的精细化运营思想在金融科技领域的运用和深化,数据中台作为四通八达的数据枢纽的重要一环,数据作业所处的业务场景更加精细化、多样化,作业运行的约束也更为复杂。比如从依赖关系上看,某个作业依赖的前序加工作业可来自于同作业组的作业、依赖其他作业组的作业、依赖数据湖加载作业、依赖私有数据导入作业、依赖其他调度系统作业。从执行频度来看,批处理系统的作业可分为日批、周批、旬批、月批、季批、半年批、年批。从作业的优先级层面考量,由于考虑到不同的业务场景(如监管报送、客户营销、反欺诈、境外监管、绩效考核等各特色场景),不同的作业有着不同的时效性,因此根据对批量的重要程度进行分级分类,对高时效作业设置高优先级以保证优先调度,以保证调度资源的高响应;同时,考量到实际的场景,动态调整作业的优先级的需求也屡见不鲜。因此,在面对错综复杂的作业约束和关系条件,如何保证约束的同时提高执行效率,是作业调度系统面临的难题之一。
作业请求分布不均:高性能计算环境下通常需要处理超大规模并行计算任务,大数据服务平台的应用侧提交的作业数量在不同时段各不相同,某个时间段可能会出现排队的作业数量较多造成计算资源紧缺而无法满足作业资源分配的需求;某个时段又会出现运行的作业数量较少而造成计算资源闲置。即,很多作业任务需等待前一个作业任务的结束方可执行,该过程会产生大量的等待时间,对应用侧提交的作业请求响应度较低。因此,面对作业请求分布不均的情况下,如何平衡作业高峰和低谷的调度资源,尤其是保障作业高峰时调度资源的合理、高效的分配,是作业调度系统面临的难题之一。
低效性:当前,金融科技领域的大数据服务平台的批量计算能力多以统一调度为主,且调度算法仍采用基本的先来先服务算法(First Come First Serve,FCFS)或时间片轮转算法(Round-Robin,RR)等较为简单的算法。同时考量到大数据服务平台的批量计算环节中,单个数据作业所需处理的数据规模和数据量的不断增长,对于大规模的数据处理任务可能会产生滞后,具有一定的低效性。本申请提供的一种资源处理方法,旨在解决现有技术的如上技术问题。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图1为本申请实施例提供的一种资源处理方法的流程示意图,如图1所示,该方法包括:
步骤101、获取多个作业请求;其中,每一作业请求对应一个作业标识;并将与每一作业标识对应的作业加入调度资源等待队列;调度资源等待队列对应有待调度的集群资源。
示例性地,本实施例的执行主体可以为服务器,服务器中部署有数据服务平台。首先,应用侧向大数据服务平台的批量计算的调度模块提交作业请求,每一作业请求对应一个作业标识,每一作业标识对应一个作业。按照作业提交时配置的参数信息,调度模块选择满足参数限制条件的作业进入调度资源等待队列,调度资源等待队列对应有待调度的集群资源。并按照作业的静态预设的优先级校验当前调度资源等待队列的集群资源是否可满足该作业的计算需求。进一步的,可以按照业务场景和业务需求划分多个调度资源等待队列,各个调度资源等待队列的资源分布可以不同。
举例来说,作业请求中的参数信息分别为:作业编号、队列编号、应用号、作业组、作业名、优先级、批次、批量日期、作业到达队列时间、作业等待时间、作业开始时间、作业结束时间、作业运行时长、作业状态、所需CPU资源、所需内存资源。
集群资源的集群信息分别为:集群编号、队列编号、集群标识、集群CPU总资源、集群内存总资源、已使用的集群CPU资源、已使用的内存资源、该集群的CPU使用率、该集群的内存使用率、空闲的集群CPU资源、空闲的内存资源。
调度资源等待队列的队列信息分别为:队列编号、队列标识、作业编号1……n共计n个作业、集群为该队列分配CPU总资源、集群为该队列分配内存总资源、该队列已使用的集群CPU资源、该队列已使用的内存资源、该队列的CPU使用率、该队列的内存使用率、该队列空闲的集群CPU资源、该队列空闲的内存资源。
步骤102、若确定待调度的集群资源不满足调度资源等待队列中的作业的调度需求,则通过预设的高响应比优先调度算法HRRN,对调度资源等待队列中的预设数量的作业进行资源计算,确定预设数量的作业中每一作业的优先级;并通过预设的K最邻近分类算法KNN模型,对调度资源等待队列中的剩余数量的作业进行资源预测,确定剩余数量的作业中每一作业的优先级;其中,预设的K最邻近分类算法KNN模型是根据历史作业数据训练得到的。
示例性地,预设的K最邻近分类算法(K-Nearest Neighbor,KNN)模型是预先根据历史作业数据训练得到的。若确定待调度的集群资源不满足调度资源等待队列中的作业的调度需求,则将调度资源等待队列中的作业加入作业等待队列中。当作业进入作业等待队列中,基于作业等待队列中的作业顺序,调度模块通过预设的高响应比优先调度算法(HighResponse Ratio Next,HRRN),为进入作业等待队列中的预设数量的作业计算响应比,并将响应比作为优先级调整的依据,即作业响应比越高(加权作业等待时间和作业处理时间)则优先级越高,根据优先级为作业分配合适的计算资源。并通过预设的K最邻近分类算法KNN模型,对作业等待队列中的剩余数量的作业进行资源预测,确定剩余数量的作业中每一作业的优先级。或者,若确定待调度的集群资源满足调度资源等待队列中的作业的调度需求,则直接执行步骤103。
步骤103、根据预设数量的作业中每一作业的优先级、剩余数量的作业中每一作业的优先级,生成优先级列表;并根据优先级列表,依次对优先级列表中每一优先级对应的作业进行资源调度。
示例性地,根据预设数量的作业中每一作业的优先级、剩余数量的作业中每一作业的优先级,以优先级预约回填的方式对处于等待队列中的作业的优先级予以更新,动态生成优先级列表;并根据优先级列表,依次对优先级列表中每一优先级对应的作业进行资源调度。举例来说,先对预设数量的作业进行优先级排序,得到优先级列表,并在执行作业的过程中,根据剩余数量的作业中每一作业的优先级,将剩余数量的作业插入到优先级列表中;或者,直接根据预设数量的作业中每一作业的优先级、剩余数量的作业中每一作业的优先级,生成一个总的优先级列表,对此不作限定。
本申请实施例中,获取多个作业请求;其中,每一作业请求对应一个作业标识;并将与每一作业标识对应的作业加入调度资源等待队列;调度资源等待队列对应有待调度的集群资源。若确定待调度的集群资源不满足调度资源等待队列中的作业的调度需求,则通过预设的高响应比优先调度算法HRRN,对调度资源等待队列中的预设数量的作业进行资源计算,确定预设数量的作业中每一作业的优先级;并通过预设的K最邻近分类算法KNN模型,对调度资源等待队列中的剩余数量的作业进行资源预测,确定剩余数量的作业中每一作业的优先级;其中,预设的K最邻近分类算法KNN模型是根据历史作业数据训练得到的。根据预设数量的作业中每一作业的优先级、剩余数量的作业中每一作业的优先级,生成优先级列表;并根据优先级列表,依次对优先级列表中每一优先级对应的作业进行资源调度。本方案中,判断待调度的集群资源是否满足调度资源等待队列中的作业的调度需求,若确定待调度的集群资源不满足调度资源等待队列中的作业的调度需求,则首先通过高响应比优先调度算法HRRN对调度资源等待队列中的剩余数量的作业进行资源预测,确定剩余数量的作业中每一作业的优先级。并通过预设的K最邻近分类算法KNN模型,对调度资源等待队列中的剩余数量的作业进行资源预测,确定剩余数量的作业中每一作业的优先级。根据确定的作业的优先级,动态确定优先级列表,并根据优先级列表依次对作业分配资源。因此,通过高响应比优先调度算法HRRN确定作业的优先级,并通过利用机器学习算法(KNN算法)来预测作业的优先级,能够更准确地、高效地确定某作业的优先级以实现优先级的动态更新调整,最小化平均等待时间,以达到更优利用CPU资源,进而提高系统的响应度和效率的目的,可以在提高系统性能的同时,有效避免作业任务饥饿和调度资源分配不公平的问题,解决了业高峰和低谷时资源调度不均的技术问题。
图2为本申请实施例提供的另一种资源处理方法的流程示意图,如图2所示,该方法包括:
步骤201、采集多个历史作业数据。
示例性地,首先,进行数据采集。具体的,按作业(组)运行粒度和维度采集监控数据,同时将参数信息一并存储到数据中台,包括:开始时间、结束时间、等待时间、执行时间、所需资源(包括但不限于CPU使用率和内存使用率)、预设优先级、批量频次等。
步骤202、根据多个历史作业数据,生成用于训练的数据集;并根据预设的任务调度特征,在数据集中确定用于训练预设的KNN初始模型的特征向量。
示例性地,在第二步,创建数据集。具体的,在大数据服务平台的计算调度模块,可依据数据采集信息将数据集转换为特征向量:
Xi=[a1,a2,a3,......,an]
其中,i表示作业的编号,ak表示作业的特征向量的第k个元素,n表示作业的特征向量的总长度。
第三步,数据清洗。具体的,数据清洗旨在对数据集进行校验和审查的过程中,发现并纠正数据文件中可识别的错误,按照一定的规则把错误或冲突的数据洗掉。包括检查数据一致性、处理无效值和缺失值等。其原理是利用数理统计、数据挖掘和预设清理规则等有关技术将“脏数据”处理掉,从数据源中检测并消除错误、不一致、不完整和重复等数据,为满足要求提供高质量的数据。数据清洗包括以下多种步骤:
(1)重复数据清洗:为了减少数据中冗余信息,先对数据集内的数据按照主键进行排序算法,根据预设的重复标识规则进行重复检测,最后完成重复数据的清洗工作。为了确保对原始数据的完整性,对重复删除的数据需进行单独备份。(2)不完整数据清洗:首先对数据表结构字段按照重要性等级进行判断,并使用历史数据加权填充。(3)错误数据清洗:使用统计方法(包括但不限于偏差分析)识别不遵守分布或回归方程的错误值或异常值,并予以丢弃。
第四步,特征提取。具体的,此步骤旨在依据作业的特征向量提取代表性特征,例如,根据预设的作业信息,提取数据清洗后的特征向量中的相关作业信息。
数据集标准化:为了使样本数据更易于比较和分类,需要对数据集的特征进行标准化,本算法模型采用的是Z-Score标准化方法,其标准化公式如下:
其中,x是原始数据,是特征样本平均值,σ是特征的标准差。该标准化将所有特征的值映射至(0,1)的区间范围内,以便他们在相互比较时具有相同的权重,进而在训练集中确定用于训练预设的KNN初始模型的特征向量。
步骤203、根据数据集中的特征向量,对预设的KNN初始模型进行训练,得到K最邻近分类算法KNN模型。
示例性地,首先,进行数据划分。具体的,将预处理后的数据集,以随机抽样的方式将其划分为训练集和测试集。然后,进行特征选择。具体的,依据作业调度相关特征,确定用于训练KNN算法的特征;并将原始数据转换为KNN算法可接受的特征向量。KNN算法的核心是选择合适的K值和距离度量方法来计算数据之间的距离。KNN算法中的超参数K,也称作邻居数,是指在KNN算法中需要选取多少个最近邻居作为预测输出的参考,即K值控制了算法要比较的数据样本数来进行决策。在大数据服务平台中,设置合适的K参数可以影响到预测结果的准确性和稳定性。通常而言,较小的K值更加注重局部特征的描述,具有更大方差;较大的K值更加注重全局特征的描述,具有更小方差。当确定KNN算法中的超参数K时,可使用K折交叉验证予以确认,其训练模型过程如下:
(1)将原始的数据集分为训练集和测试集两部分(7:3);
(2)对于训练集,将其分成K份,取其中一份作为验证集,余下K-1份作为训练集,使用训练集数据训练KNN初始模型中的KNN分类器;
(3)于验证集上测试KNN分类器,得到该K值下的性能评定信息;
(4)重复以上步骤直到所有K份验证集都已完成验证,计算K值下的平均性能评定信息;
(5)选择性能评定信息最优的K值,并得到K最邻近分类算法KNN模型。公式化表述如下:
其中,k为KNN算法中的K值,N表示数据集中的样本数量,xi表示第i个样本的输入特征,yi是该样本的标签,f-K表示使用KNN算法并选取K值为k的KNN分类器进行预测。表示损失函数,用于衡量预测值与真实值之间的偏差。该方法可以有效避免由于数据集本身划分引入的错误评定信息,可以得到更加准确的模型性能评定信息和最优K值。
距离度量方式是用于计算样本之间的距离,本申请中采用欧氏距离来计算各个作业之间的距离,其距离公式如下:
其中,n为任务的特征数量,xik和xjk是第i个作业和第j个作业在第k个特征上的值。同时,本K最邻近分类算法KNN模型引入高斯核函数作为邻居权重赋值函数。在模型训练环节中,可使用高斯核函数为每个训练样本的邻居赋予权重,以帮助模型捕捉不同训练样本之间的相似性和差异性。其公式化定义如下:
其中,wi表示新样本(作业)xj与第i个邻居xi之间的权重,d(xi,xj)表示样本xi与xj之间的欧氏距离,σ表示高斯核函数的自适应参数,用于控制邻居权重随距离衰减的速度。
因此,本申请引入K最近邻算法(K-Nearest Neighbor,KNN)算法模型对高响应比优先(High Response Ratio Next,HRRN)算法进行任务调度的优化。其基础参数(如作业任务的等待时间和执行时间)信息可通过机器学习算法(KNN算法)对历史周期规律和作业任务的相似度的学习和前序预测,从而更准确地、高效地加权某作业任务的优先级以实现优先级的动态更新调整,以达到更优利用CPU资源,进而提高系统的响应度和效率的目的。
步骤204、获取多个作业请求;其中,每一作业请求对应一个作业标识;并将与每一作业标识对应的作业加入调度资源等待队列;调度资源等待队列对应有待调度的集群资源。
示例性地,本步骤可以参见图1中的步骤101,不再赘述。
步骤205、若确定待调度的集群资源不满足调度资源等待队列中的作业的调度需求,则通过预设的高响应比优先调度算法HRRN,对调度资源等待队列中的预设数量的作业进行资源计算,确定预设数量的作业中每一作业的响应比;其中,响应比包括作业的等待时间和执行时间。
一个示例中,步骤205包括:通过预设的高响应比优先调度算法HRRN中的优先调度算法公式,对调度资源等待队列中的预设数量的作业进行资源计算,确定预设数量的作业中每一作业的响应比。
示例性地,假设作业任务i的等待时间为Wi,执行时间为Li,高响应比的优先调度算法公式定义如下:
其中,RRi表示作业的响应比,Start_Time表示开始时间,Arrive_Time表示到达时间,End_Time表示结束时间,Last_Time表示执行时间。所以,可以根据该公式计算得到作业的响应比RRi。
步骤206、根据等待时间和执行时间,确定作业的优先级。
一个示例中,步骤206包括:基于预设的双曲正切函数公式、等待时间和执行时间,确定作业的优先级;预设的双曲正切函数公式如下:
其中,Priorityi表示第i个作业的优先级,RRi表示作业的响应比,-RRi表示作业的响应比的倒数。
示例性地,作业的响应比并非为作业的优先级,可依据预设的双曲正切函数公式将响应比转化为一个(0,1)之间的数值,进而计算出第i个作业的优先级Priorityi,双曲正切函数公式如下:
步骤207、获取调度资源等待队列中的剩余数量的作业的特征向量。
示例性地,考量到传统的高响应比优先调度算法HRRN存在两个主要的问题,一是HRRN无法考虑到任务的多维度信息和重要性差异;二是其调度算法效率不高,与大数据计算平台的多并发多线程无法充分匹配。那么采用基于KNN算法的高响应比优先调度算法HRRN旨在通过利用机器学习的预测模型来解决如上问题,该调度算法的核心是基于基础参数信息,利用机器学习算法(KNN算法)对历史周期规律和作业任务的相似度的学习和前序预测。即将作业执行的参数信息(开始时间、结束时间、等待时间、执行时间、所需资源-包括但不限于CPU使用率和内存使用率、静态预设的预设优先级、批量频次)作为历史数据集,经过数据预处理环节、特征选择等环节后,建立并训练K最邻近分类算法KNN模型。最后使用训练的KNN模型预测该作业任务的响应时间和优先级等。以进一步对KNN模型进行训练,旨在通过利用机器学习的预测模型来预测任务的优先级,以决定作业任务的执行顺序。基于以上内容,以优先级预约回填的方式对处于等待队列中的作业任务的优先级予以更新。
所以,在训练K最邻近分类算法KNN模型之后,可以将K最邻近分类算法KNN模型应用于高响应比优先调度算法HRRN中,以预测任务的优先级。首先需要将任务的特征向量插入到训练好的模型中,然后利用KNN算法找到与目标作业任务最近的K个相似任务,并依据其参数信息和K个任务的特征值进行加权平均,以对执行时间和优先级进行预测。具体的,首先,获取调度资源等待队列中的剩余数量的作业的特征向量,并将待调度的作业的特征向量输入K最邻近分类算法KNN模型中。
步骤208、通过预设的K最邻近分类算法KNN模型,对作业的特征向量进行资源预测,确定剩余数量的作业中每一作业的优先级。
一个示例中,步骤208包括:通过预设的K最邻近分类算法KNN模型中的预设的优先级计算公式,预测剩余数量的作业中每一作业的优先级;预设的优先级计算公式如下:
其中,Priority(X0)为剩余数量的作业中的作业Xi的优先级,i取0;所Priority(Xi')为与最短的欧氏距离对应的K个样本,K’指选取的欧式距离最短的K个样本中,与作业Xi最接近的K个样本的K值。
示例性地,首先,计算特征向量与预设的K最邻近分类算法KNN模型中的每一任务向量之间的欧式距离;并确定与最短的欧氏距离对应的K个样本。具体的,训练集中的任务向量为X1、X2、…Xm,对训练数据集中的每个作业任务计算其与新任务之间的欧氏距离d(x,xi)。并选出欧氏距离最短的K个样本(即作业的特征向量),表示为X1'、X2'、…XK'。
然后,基于与最短的欧氏距离对应的K个样本,通过预设的K最邻近分类算法KNN模型中的预设的优先级计算公式,预测剩余数量的作业中每一作业的优先级。
具体的,剩余数量的作业中每一作业的执行时间和优先级可由如下公式计算得出:
其中,Last_Time(Xi)为作业Xi的执行时间,Priority(X0)为作业Xi的优先级。K'参数指的是选取距离最短的K个临近的样本中,与当前待分配资源的作业最接近的K个样本的K值。具体计算时,可以采用加权平均的方式,即利用距离的倒数作为权重,即:
其中,wi为第i个临近的样本的权重,可以采用高斯核函数进行计算,即该临近的样本是依据当前待分配资源的作业与训练集之间的距离计算出来的。同时,可使用这些临近的样本的权重与响应时间/优先级数据进行加权平均,以预测新作业的响应时间和优先级。其公式化定义如下:
其中,wi表示新样本(即作业)xj与第i个临近的样本xi之间的权重,d(xi,xj)表示作业xi与新作业xj之间的欧氏距离,σ表示高斯核函数的自适应参数。
需要说明的是:若K值较小,则新作业只会考虑少数前面的作业,预测结果对异常点敏感;若K值较大,则新作业会考虑更多的作业,会导致预测结果对相对重要的邻居点权重太低,从而牺牲预测的精度。因此,选择合适的K值对于获得准确的作业执行时间和优先级至关重要。
步骤209、根据预设数量的作业中每一作业的优先级、剩余数量的作业中每一作业的优先级,生成优先级列表;并根据优先级列表,依次对优先级列表中每一优先级对应的作业进行资源调度。
示例性地,采用上述步骤计算的作业任务集群资源说明和优先级列表进行作业调度。其中,调度模块判别作业任务的优先级≤预设阈值是否满足,且每当有新作业任务提交时,重新排列作业次序并按照优先级从高到低调度作业进程。并对该队列分配的集群资源进行记录,其中,记录信息包括作业任务的编号和作业任务的总数。同时,当某个用于计算的集群资源分配完毕,将该集群标识(flag)置0,即从集群资源库列表中逻辑上不可见,可以有效提高整个集群的调度效率。
所以,通过对作业任务特征的提取,高响应比优先调度算法HRRN的运用可以实现如下优点和效果:
1.最小化平均等待时间:由于HRRN算法充分考虑作业任务的等待时间因素,可有效降低平均等待时间,提高用户满意度。
2.最大化CPU使用率:由于作业优先级的计算是基于进程需求的,故通过高响应比优先调度算法HRRN调度优先级更高的作业任务,可有效利用CPU资源,提高CPU利用率,提高系统吞吐量和性能。
3.提高响应速度:高响应比优先调度算法HRRN优先调度响应比高的作业进程,减少长时间等待,进而提高系统的响应速度。
4.非抢占式调度:高响应比优先调度算法HRRN是一种非抢占式调度算法,作业一旦分配到CPU等资源,便会一直运行直到结束。因此可保证任务执行过程中的稳定性。
因此,通过高响应比优先(High Response Ratio Next,HRRN)调度算法为进入等待队列的作业任务计算优先级,将作业任务的等待时间和执行时间综合考量作为优先级调整的依据。基于历史周期规律和作业任务的相似度,利用K最近邻算法(K-NearestNeighbor,KNN)对历史数据集进行训练,训练完成后针对每个作业任务进行预测该任务的等待时间和优先级,并将该预测结果应用于高响应比优先调度算法HRRN中。根据大数据服务平台的批量计算特点,采用优先级预约回填机制将静态预设的优先级和计算完毕的“相对”优先级加权更新该作业的优先级属性特征。本申请既考虑批处理系统的客观需要,又考量到动态优先级调整的诉求,是一项更全面地考虑调度逻辑的作业调度策略,以达到提升系统对用户的相应速度(Response Time)和系统性能(System Performance)为目的,有利于提高集群资源利用率,实现自动化管理。
本申请实施例中,采集多个历史作业数据。根据多个历史作业数据,生成用于训练的数据集;并根据预设的任务调度特征,在数据集中确定用于训练预设的KNN初始模型的特征向量。根据数据集中的特征向量,对预设的KNN初始模型进行训练,得到K最邻近分类算法KNN模型。获取多个作业请求;其中,每一作业请求对应一个作业标识;并将与每一作业标识对应的作业加入调度资源等待队列;调度资源等待队列对应有待调度的集群资源。若确定待调度的集群资源不满足调度资源等待队列中的作业的调度需求,则通过预设的高响应比优先调度算法HRRN,对调度资源等待队列中的预设数量的作业进行资源计算,确定预设数量的作业中每一作业的响应比;其中,响应比包括作业的等待时间和执行时间。根据等待时间和执行时间,确定作业的优先级。获取调度资源等待队列中的剩余数量的作业的特征向量。通过预设的K最邻近分类算法KNN模型,对作业的特征向量进行资源预测,确定剩余数量的作业中每一作业的优先级。根据预设数量的作业中每一作业的优先级、剩余数量的作业中每一作业的优先级,生成优先级列表;并根据优先级列表,依次对优先级列表中每一优先级对应的作业进行资源调度。因此,通过高响应比优先调度算法HRRN确定作业的优先级,并通过利用机器学习算法(KNN算法)来预测作业的优先级,能够更准确地、高效地确定某作业的优先级以实现优先级的动态更新调整,最小化平均等待时间,以达到更优利用CPU资源,进而提高系统的响应度和效率的目的,可以在提高系统性能的同时,有效避免作业任务饥饿和调度资源分配不公平的问题,解决了业高峰和低谷时资源调度不均的技术问题。
示例性地,图3为本申请实施例提供的又一种资源处理方法的流程示意图,如图3所示,包括:应用侧向大数据服务平台提交作业请求;判断参数限制条件判别是否满足;若满足,则将该作业放置于对应的等待队列中;判断空闲的集群资源是否≥该作业所需资源;若是,则对不同的等待队列中的作业按照预设优先级进行排序;执行优先级高的作业,并更新该队列分配的集群资源;执行完毕,释放集群资源,并更新该队列分配的集群资源。若不是,则作业继续等待,并计算其响应比,动态更新作业的优先级参数;基于历史周期规律和作业任务的相似度的学习;建立并训练K最邻近分类算法KNN模型;使用模型预测该作业的响应时间和优先级;以优先级预约回填的方式对处于等待队列中的作业的优先级予以更新;判断作业的优先级是否≤预设阈值,若是,则回填执行优先级高的作业任务;并更新该队列分配的集群资源。
示例性地,图4为本申请实施例提供的其他一种资源处理方法的流程示意图,如图4所示,K最邻近分类算法KNN模型的步骤包括:S01数据采集&预处理模块、S02 K最邻近分类算法KNN模型训练模块、S03 K最邻近分类算法KNN模型预测模块。其中,S01数据采集&预处理模块采集数据中台的数据信息,并将其经过数据清洗、特征提取、数据标准化的预处理传递至S02模块;S02 K最邻近分类算法KNN模型训练模块获取到S01模块数据以随机抽样的方式将其划分为训练集和测试集;依据任务调度相关特征,确定用于训练KNN算法的特征;将原始数据转换为KNN算法可接受的特征向量;同时确定K最邻近分类算法KNN模型的超参数K、距离度量方法以及邻居权重赋值函数。确认之后即可建立模型并将模型复用至S03模块;S03 K最邻近分类算法KNN模型预测模块接收到新的作业请求时,将基于该作业的特征向量,在K最邻近分类算法KNN模型中查询K近邻,利用模型参数完成对该作业优先级的计。
图5为本申请实施例提供的一种资源处理装置的结构示意图,如图5所示,该装置包括:
获取模块31,用于获取多个作业请求;其中,每一作业请求对应一个作业标识;并将与每一作业标识对应的作业加入调度资源等待队列;调度资源等待队列对应有待调度的集群资源。
计算模块32,用于若确定待调度的集群资源不满足调度资源等待队列中的作业的调度需求,则通过预设的高响应比优先调度算法HRRN,对调度资源等待队列中的预设数量的作业进行资源计算,确定预设数量的作业中每一作业的优先级。
预测模块33,用于通过预设的K最邻近分类算法KNN模型,对调度资源等待队列中的剩余数量的作业进行资源预测,确定剩余数量的作业中每一作业的优先级;其中,预设的K最邻近分类算法KNN模型是根据历史作业数据训练得到的。
生成模块34,用于根据预设数量的作业中每一作业的优先级、剩余数量的作业中每一作业的优先级,生成优先级列表。
调度模块35,用于根据优先级列表,依次对优先级列表中每一优先级对应的作业进行资源调度。
本实施例的装置,可以执行上述方法中的技术方案,其具体实现过程和技术原理相同,此处不再赘述。
图6为本申请实施例提供的另一种资源处理装置的结构示意图,在图5所示实施例的基础上,如图6所示,计算模块32,包括:
第一确定单元321,用于通过预设的高响应比优先调度算法HRRN,对调度资源等待队列中的预设数量的作业进行资源计算,确定预设数量的作业中每一作业的响应比;其中,响应比包括作业的等待时间和执行时间。
第二确定单元322,用于根据等待时间和执行时间,确定作业的优先级。
一个示例中,第一确定单元321,具体用于:
通过预设的高响应比优先调度算法HRRN中的优先调度算法公式,对调度资源等待队列中的预设数量的作业进行资源计算,确定预设数量的作业中每一作业的响应比。
一个示例中,第二确定单元322,具体用于:
基于预设的双曲正切函数公式、等待时间和执行时间,确定作业的优先级;预设的双曲正切函数公式如下:
其中,Priorityi表示第i个作业的优先级,RRi表示作业的响应比,-RRi表示作业的响应比的倒数。
一个示例中,预测模块33,包括:
获取单元331,用于获取调度资源等待队列中的剩余数量的作业的特征向量。
预测单元332,用于通过预设的K最邻近分类算法KNN模型,对作业的特征向量进行资源预测,确定剩余数量的作业中每一作业的优先级。
一个示例中,预测单元332,具体用于:
通过预设的K最邻近分类算法KNN模型中的预设的优先级计算公式,预测剩余数量的作业中每一作业的优先级;预设的优先级计算公式如下:
其中,Priority(X0)为剩余数量的作业中的作业Xi的优先级,i取0;所Priority(Xi')为与最短的欧氏距离对应的K个样本,K’指选取的欧式距离最短的K个样本中,与作业Xi最接近的K个样本的K值。
一个示例中,该装置还包括:
采集模块41,用于采集多个历史作业数据。
确定模块42,用于根据多个历史作业数据,生成用于训练的数据集;并根据预设的任务调度特征,在数据集中确定用于训练预设的KNN初始模型的特征向量。
训练模块43,用于根据数据集中的特征向量,对预设的KNN初始模型进行训练,得到K最邻近分类算法KNN模型。
本实施例的装置,可以执行上述方法中的技术方案,其具体实现过程和技术原理相同,此处不再赘述。
图7为本申请实施例提供的一种服务器的结构示意图,如图7所示,服务器包括:存储器51,处理器52。
存储器51中存储有可在处理器52上运行的计算机程序。
处理器52被配置为执行如上述实施例提供的方法。
服务器还包括接收器53和发送器54。接收器53用于接收外部设备发送的指令和数据,发送器54用于向外部设备发送指令和数据。
本申请实施例还提供了一种非临时性计算机可读存储介质,当该存储介质中的指令由服务器的处理器执行时,使得服务器能够执行上述实施例提供的方法。
本申请实施例还提供了一种计算机程序产品,计算机程序产品包括:计算机程序,计算机程序存储在可读存储介质中,服务器的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得服务器执行上述任一实施例提供的方案。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本申请所必须的。
进一步需要说明的是,虽然流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
应该理解,上述的装置实施例仅是示意性的,本申请的装置还可通过其它的方式实现。例如,上述实施例中单元/模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如,多个单元、模块或组件可以结合,或者可以集成到另一个系统,或一些特征可以忽略或不执行。
另外,若无特别说明,在本申请各个实施例中的各功能单元/模块可以集成在一个单元/模块中,也可以是各个单元/模块单独物理存在,也可以两个或两个以上单元/模块集成在一起。上述集成的单元/模块既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
集成的单元/模块如果以硬件的形式实现时,该硬件可以是数字电路,模拟电路等等。硬件结构的物理实现包括但不局限于晶体管,忆阻器等等。若无特别说明,处理器可以是任何适当的硬件处理器,比如CPU、GPU、FPGA、DSP和ASIC等等。若无特别说明,存储单元可以是任何适当的磁存储介质或者磁光存储介质,比如,阻变式存储器RRAM(ResistiveRandom Access Memory)、动态随机存取存储器DRAM(Dynamic Random Access Memory)、静态随机存取存储器SRAM(Static Random-Access Memory)、增强动态随机存取存储器EDRAM(Enhanced Dynamic Random Access Memory)、高带宽内存HBM(High-Bandwidth Memory)、混合存储立方HMC(Hybrid Memory Cube)等等。
集成的单元/模块如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。上述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (10)
1.一种资源处理方法,其特征在于,包括:
获取多个作业请求;其中,每一作业请求对应一个作业标识;并将与每一作业标识对应的作业加入调度资源等待队列;所述调度资源等待队列对应有待调度的集群资源;
若确定所述待调度的集群资源不满足所述调度资源等待队列中的作业的调度需求,则通过预设的高响应比优先调度算法HRRN,对所述调度资源等待队列中的预设数量的作业进行资源计算,确定所述预设数量的作业中每一作业的优先级;并通过预设的K最邻近分类算法KNN模型,对所述调度资源等待队列中的剩余数量的作业进行资源预测,确定所述剩余数量的作业中每一作业的优先级;其中,所述预设的K最邻近分类算法KNN模型是根据历史作业数据训练得到的;
根据所述预设数量的作业中每一作业的优先级、所述剩余数量的作业中每一作业的优先级,生成优先级列表;并根据所述优先级列表,依次对所述优先级列表中每一优先级对应的作业进行资源调度。
2.根据权利要求1所述的方法,其特征在于,所述通过预设的高响应比优先调度算法HRRN,对所述调度资源等待队列中的预设数量的作业进行资源计算,确定所述预设数量的作业中每一作业的优先级,包括:
通过预设的高响应比优先调度算法HRRN,对所述调度资源等待队列中的预设数量的作业进行资源计算,确定所述预设数量的作业中每一作业的响应比;其中,所述响应比包括作业的等待时间和执行时间;
根据所述等待时间和执行时间,确定所述作业的优先级。
3.根据权利要求2所述的方法,其特征在于,所述通过预设的高响应比优先调度算法HRRN,对所述调度资源等待队列中的预设数量的作业进行资源计算,确定所述预设数量的作业中每一作业的响应比,包括:
通过预设的高响应比优先调度算法HRRN中的优先调度算法公式,对所述调度资源等待队列中的预设数量的作业进行资源计算,确定所述预设数量的作业中每一作业的响应比。
4.根据权利要求3所述的方法,其特征在于,所述根据所述等待时间和执行时间,确定所述作业的优先级,包括:
基于预设的双曲正切函数公式、所述等待时间和执行时间,确定所述作业的优先级;所述预设的双曲正切函数公式如下:
其中,Priorityi表示第i个作业的优先级,RRi表示作业的响应比,-RRi表示所述作业的响应比的倒数。
5.根据权利要求1所述的方法,其特征在于,所述通过预设的K最邻近分类算法KNN模型,对所述调度资源等待队列中的剩余数量的作业进行资源预测,确定所述剩余数量的作业中每一作业的优先级,包括:
获取所述调度资源等待队列中的剩余数量的作业的特征向量;
通过预设的K最邻近分类算法KNN模型,对所述作业的特征向量进行资源预测,确定所述剩余数量的作业中每一作业的优先级。
6.根据权利要求5所述的方法,其特征在于,所述通过预设的K最邻近分类算法KNN模型,对所述作业的特征向量进行资源预测,确定所述剩余数量的作业中每一作业的优先级,包括:
通过预设的K最邻近分类算法KNN模型中的预设的优先级计算公式,预测所述剩余数量的作业中每一作业的优先级;所述预设的优先级计算公式如下:
其中,Priority(X0)为所述剩余数量的作业中的作业Xi的优先级,i取0;Priority(Xi')为与最短的欧氏距离对应的K个样本,K’指选取的欧式距离最短的K个样本中,与作业Xi最接近的K个样本的K值。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:
采集多个历史作业数据;
根据多个所述历史作业数据,生成用于训练的数据集;并根据预设的任务调度特征,在所述数据集中确定用于训练预设的KNN初始模型的特征向量;
根据所述数据集中的特征向量,对预设的KNN初始模型进行训练,得到K最邻近分类算法KNN模型。
8.一种资源处理装置,其特征在于,包括:
获取模块,用于获取多个作业请求;其中,每一作业请求对应一个作业标识;并将与每一作业标识对应的作业加入调度资源等待队列;所述调度资源等待队列对应有待调度的集群资源;
计算模块,用于若确定所述待调度的集群资源不满足所述调度资源等待队列中的作业的调度需求,则通过预设的高响应比优先调度算法HRRN,对所述调度资源等待队列中的预设数量的作业进行资源计算,确定所述预设数量的作业中每一作业的优先级;
预测模块,用于通过预设的K最邻近分类算法KNN模型,对所述调度资源等待队列中的剩余数量的作业进行资源预测,确定所述剩余数量的作业中每一作业的优先级;其中,所述预设的K最邻近分类算法KNN模型是根据历史作业数据训练得到的;
生成模块,用于根据所述预设数量的作业中每一作业的优先级、所述剩余数量的作业中每一作业的优先级,生成优先级列表;
调度模块,用于根据所述优先级列表,依次对所述优先级列表中每一优先级对应的作业进行资源调度。
9.一种服务器,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311247032.7A CN117149392A (zh) | 2023-09-25 | 2023-09-25 | 资源处理方法、装置、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311247032.7A CN117149392A (zh) | 2023-09-25 | 2023-09-25 | 资源处理方法、装置、服务器及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117149392A true CN117149392A (zh) | 2023-12-01 |
Family
ID=88912078
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311247032.7A Pending CN117149392A (zh) | 2023-09-25 | 2023-09-25 | 资源处理方法、装置、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117149392A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117707747A (zh) * | 2024-02-06 | 2024-03-15 | 山东省计算中心(国家超级计算济南中心) | 基于资源使用率预测的作业超量分配调度方法及系统 |
-
2023
- 2023-09-25 CN CN202311247032.7A patent/CN117149392A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117707747A (zh) * | 2024-02-06 | 2024-03-15 | 山东省计算中心(国家超级计算济南中心) | 基于资源使用率预测的作业超量分配调度方法及系统 |
CN117707747B (zh) * | 2024-02-06 | 2024-05-24 | 山东省计算中心(国家超级计算济南中心) | 基于资源使用率预测的作业超量分配调度方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109992404B (zh) | 集群计算资源调度方法、装置、设备及介质 | |
CN110837410B (zh) | 任务调度方法、装置、电子设备及计算机可读存储介质 | |
CN104168318B (zh) | 一种资源服务系统及其资源分配方法 | |
CN110287245B (zh) | 用于分布式etl任务调度执行的方法及系统 | |
CN110417591B (zh) | 投票节点配置方法及系统 | |
US20210049424A1 (en) | Scheduling method of request task and scheduling center server | |
CN117149392A (zh) | 资源处理方法、装置、服务器及存储介质 | |
CN109471847B (zh) | 一种i/o拥塞控制方法及控制系统 | |
CN106790529B (zh) | 计算资源的调度方法、调度中心及调度系统 | |
CN108055292B (zh) | 一种虚拟机向物理机映射的优化方法 | |
CN112052081B (zh) | 一种任务调度方法、装置及电子设备 | |
CN111752708A (zh) | 一种基于深度学习的存储系统自适应参数调优方法 | |
CN110825522A (zh) | Spark参数自适应优化方法及系统 | |
CN112243025A (zh) | 节点成本的调度方法、电子设备及存储介质 | |
CN112035234B (zh) | 分布式批量作业分配方法及装置 | |
CN112148471A (zh) | 分布式计算系统中资源调度的方法和装置 | |
CN117971475A (zh) | 一种gpu算力池智能管理方法及系统 | |
CN112561351A (zh) | 用于评估卫星系统中的任务申请的方法及装置 | |
CN116541128A (zh) | 一种负载调节方法、装置、计算设备、及存储介质 | |
CN116932198A (zh) | 资源调度方法、装置、电子设备及可读存储介质 | |
CN115827198A (zh) | 任务分配方法、任务分配系统和计算机可读存储介质 | |
CN118069380B (zh) | 一种算力资源处理方法 | |
CN117608809B (zh) | 基于梯度提升决策树的多任务计划进度预测系统 | |
CN112667397B (zh) | 机器学习系统及其资源配置方法 | |
CN118312324A (zh) | 一种gpu集群服务管理系统及调度方法 |
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 |