CN115168014A - 一种作业调度方法及装置 - Google Patents
一种作业调度方法及装置 Download PDFInfo
- Publication number
- CN115168014A CN115168014A CN202210928286.4A CN202210928286A CN115168014A CN 115168014 A CN115168014 A CN 115168014A CN 202210928286 A CN202210928286 A CN 202210928286A CN 115168014 A CN115168014 A CN 115168014A
- Authority
- CN
- China
- Prior art keywords
- max
- physical machine
- resource utilization
- time
- score
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000005070 sampling Methods 0.000 claims description 104
- 230000006870 function Effects 0.000 claims description 37
- 230000000630 rising effect Effects 0.000 claims description 21
- 238000012545 processing Methods 0.000 claims description 14
- 238000004364 calculation method Methods 0.000 claims description 7
- 238000009826 distribution Methods 0.000 abstract description 5
- 230000008859 change Effects 0.000 description 11
- 230000008569 process Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 239000013598 vector Substances 0.000 description 4
- 238000005457 optimization Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
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/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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例提供了一种作业调度方法及装置,应用于资源利用领域或金融领域,该方法包括:先根据待调度作业在不同时间的资源利用率、物理机在不同时间的资源利用率和物理机评分函数,计算得到多个调度方式对应在不同时间的物理机分数,其中,当物理机的资源利用率较大时相应的物理机分数会偏高;再根据多个调度方式对应在不同时间的物理机分数,得到多个调度方式对应的平均总物理机分数,其中,平均总物理机分数表示多台物理机在平均时间下的总物理机分数;最后确定具有平均总物理机分数最小值的目标调度方式来调度作业,平均总物理机分数最小表示物理机在时间和空间上物理机上的资源均不会过高,能在作业调度中实现资源在时间和空间的均衡分配。
Description
技术领域
本申请涉及资源处理领域,具体涉及一种作业调度方法及装置。
背景技术
随着科技的飞速发展,企业通常需要运行各种业务,处理一个业务通常需要经历多个工作流,工作流也被称为作业,所以企业在运行时会需要执行大量不同类型的作业。为了保证业务的顺利运行,企业会配置一定数量的物理机,以便调用上述物理机以执行相应的作业。
目前企业面对各种作业采取即时调度的方法来进行作业的调度。具体来说,企业在调用物理机来执行相应的作业时会附带执行该作业所需的资源利用量,企业根据资源利用量和物理机的可利用资源,在物理机中确定可利用资源大于资源利用量的物理机来执行对应的作业。
虽然企业采取即时调度的方法能够根据资源利用量进行作业的调度,让相应的物理机执行对应的作业,但是,并未考虑作业的随着时间的资源利用变化规律和物理机的资源利用率,这会导致物理机上的资源使用存在时空不均衡的问题,即物理机的资源利用率在时间或者空间上分布差异较大,例如,在一些物理机上中央处理器(central processingunit,CPU)利用率非常高,在另一些物理机上这恰恰相反,或者是物理机上资源有时利用时间长,有时利用时间短。总而言之,即时调度的方法会导致资源使用存在时空不均衡的问题,降低物理机的资源利用效率。
发明内容
本申请实施例提供了一种作业调度方法及装置,可以均衡作业在物理机上的资源分配,提高资源利用效率。
有鉴于此,本申请实施例第一方面提供一种作业调度方法,其特征在于,所述方法包括:
获取insts_max个待调度作业在time_max个采样时间分别对应的资源利用率;所述待调度作业表示需要占用物理机资源的作业,insts_max≥1,time_max≥1;
获取mach_max台物理机在所述time_max个采样时间分别对应的资源利用率,mach_max≥1;
根据预先设置的物理机评分函数、所述mach_max台物理机在所述time_max个采样时间分别对应的资源利用率和所述insts_max个待调度作业在所述time_max个采样时间分别对应的资源利用率,计算得到多个调度方式对应的在所述time_max个采样时间分别对应的mach_max个物理机分数;所述多个调度方式表示所述insts_max个待调度作业分别调度至所述mach_max台物理机的多个调度情况,所述物理机评分函数用于根据物理机上的资源利用率评分且当资源利用率小于预设利用率惩罚值时的评分上升速度小于当资源利用率大于或等于预设利用率惩罚值时的评分上升速度,所述物理机分数表示物理机上的资源利用率;
根据所述多个调度方式对应的在所述time_max个采样时间分别对应的mach_max个物理机分数,确定所述多个调度方式对应的平均总物理机分数,所述平均总物理机分数表示关于mach_max台物理机对应的所述time_max个采样时间的平均物理机分数的总和;
根据所述多个调度方式对应的平均总物理机分数,确定具有平均总物理机分数最小值的目标调度方式,以便根据所述目标调度方式在调度所述待调度作业。
本申请实施例第二方面提供一种作业调度装置,其特征在于,所述装置包括第一获取单元,第二获取单元,第一计算单元,第二计算单元,确定单元;
所述第一获取单元,用于获取insts_max个待调度作业在time_max个采样时间分别对应的资源利用率;所述待调度作业表示需要占用物理机资源的业务,insts_max≥1,time_max≥1;
所述第二获取单元,用于获取mach_max台物理机在所述time_max个采样时间分别对应的资源利用率,mach_max≥1;
所述第一计算单元,用于根据预先设置的物理机评分函数、所述mach_max台物理机在所述time_max个采样时间分别对应的资源利用率和所述insts_max个待调度作业在所述time_max个采样时间分别对应的资源利用率,计算得到多个调度方式对应的在所述time_max个采样时间分别对应的mach_max个物理机分数;所述多个调度方式表示所述insts_max个待调度作业分别调度至所述mach_max台物理机的多个调度情况,所述物理机评分函数用于根据物理机上的资源利用率评分且当资源利用率小于预设利用率惩罚值时的评分上升速度小于当资源利用率大于或等于预设利用率惩罚值时的评分上升速度,所述物理机分数表示物理机上的资源利用率;
所述第二计算单元,用于根据所述多个调度方式对应的在所述time_max个采样时间分别对应的mach_max个物理机分数,确定所述多个调度方式对应的平均总物理机分数,所述平均总物理机分数表示关于mach_max台物理机对应的所述time_max个采样时间的平均物理机分数的总和;
所述确定单元,用于根据所述多个调度方式对应的平均总物理机分数,确定具有平均总物理机分数最小值的目标调度方式,以便根据所述目标调度方式在调度所述待调度作业。
本申请实施例提供了一种作业调度方法及装置,该方法包括:获取insts_max个待调度作业在time_max个采样时间分别对应的资源利用率;待调度作业表示需要占用物理机资源的作业,insts_max≥1,time_max≥1;获取mach_max台物理机在time_max个采样时间分别对应的资源利用率,mach_max≥1;根据预先设置的物理机评分函数、mach_max台物理机在time_max个采样时间分别对应的资源利用率和insts_max个待调度作业在time_max个采样时间分别对应的资源利用率,计算得到多个调度方式对应的在time_max个采样时间对应的mach_max个物理机分数;多个调度方式表示insts_max个待调度作业分别调度至mach_max台物理机的多个调度情况,物理机评分函数用于根据物理机上的资源利用率评分且当资源利用率小于预设利用率惩罚值时的评分上升速度小于当资源利用率大于或等于预设利用率惩罚值时的评分上升速度,物理机分数表示物理机上的资源利用率;根据多个调度方式对应的在time_max个采样时间分别对应的mach_max个物理机分数,确定多个调度方式对应的平均总物理机分数,平均总物理机分数表示关于mach_max台物理机对应的time_max个采样时间的平均物理机分数的总和;根据多个调度方式对应的平均总物理机分数,确定具有平均总物理机分数最小值的目标调度方式,以便根据目标调度方式在调度所述待调度作业。通过上述方法,先根据多个待调度作业在不同时间的资源利用率、多台物理机在不同时间的资源利用率和物理机评分函数,计算得到多个调度方式对应在不同时间的物理机分数,其中,物理机评分函数当资源利用率小于预设利用率惩罚值时的评分上升速度小于当资源利用率大于或等于预设利用率惩罚值时的评分上升速度,即当物理机的资源利用率较大时相应的物理机分数会偏高;再根据多个调度方式对应在不同时间的物理机分数,可以得到多个调度方式对应的平均总物理机分数,总物理机分数表示多台物理机平均时间内的物理机分数的总和;最后确定具有平均总物理机分数最小值的目标调度方式并根据该目标调度方式调度作业,平均总物理机分数最小表示该调度方式中物理机在时间和空间上物理机上的资源均不会过高,能实现作业调度中资源在时间和空间的均衡分配。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种作业调度方法的流程图;
图2为一个在线服务应用的7个作业中8天里资源(CPU、内存)利用变化规律图;
图3为物理机评分函数中b的不同取值对与CPU利用率的评分示意图;
图4为本申请另一实施例提供的一种作业调度装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
目前企业采用即时调度的方式进行作业调度,即企业会根据作业所需的资源利用量来调用相应的物理机,由于并未考虑作业的资源利用变化规律和物理机的资源利用率,这会导致物理机上的资源使用存在时空不均衡的问题,降低资源利用率。
鉴于此,本申请实施例提供了一种作业调度方法及装置,能实现作业调度中资源在时间和空间的均衡分配。
具体来说,本申请实施例提供了一种作业调度方法及装置,该方法包括:获取insts_max个待调度作业在time_max个采样时间分别对应的资源利用率;待调度作业表示需要占用物理机资源的作业,insts_max≥1,time_max≥1;获取mach_max台物理机在time_max个采样时间分别对应的资源利用率,mach_max≥1;根据预先设置的物理机评分函数、mach_max台物理机在time_max个采样时间分别对应的资源利用率和insts_max个待调度作业在time_max个采样时间分别对应的资源利用率,计算得到多个调度方式对应的在time_max个采样时间对应的mach_max个物理机分数;多个调度方式表示insts_max个待调度作业分别调度至mach_max台物理机的多个调度情况,物理机评分函数用于根据物理机上的资源利用率评分且当资源利用率小于预设利用率惩罚值时的评分上升速度小于当资源利用率大于或等于预设利用率惩罚值时的评分上升速度,物理机分数表示物理机上的资源利用率;根据多个调度方式对应的在time_max个采样时间分别对应的mach_max个物理机分数,确定多个调度方式对应的平均总物理机分数,平均总物理机分数表示关于mach_max台物理机对应的time_max个采样时间的平均物理机分数的总和;根据多个调度方式对应的平均总物理机分数,确定具有平均总物理机分数最小值的目标调度方式,以便根据目标调度方式在调度所述待调度作业。通过上述方法,先根据多个待调度作业在不同时间的资源利用率、多台物理机在不同时间的资源利用率和物理机评分函数,计算得到多个调度方式对应在不同时间的物理机分数,其中,物理机评分函数当资源利用率小于预设利用率惩罚值时的评分上升速度小于当资源利用率大于或等于预设利用率惩罚值时的评分上升速度,即当物理机的资源利用率较大时相应的物理机分数会偏高;再根据多个调度方式对应在不同时间的物理机分数,可以得到多个调度方式对应的平均总物理机分数,总物理机分数表示多台物理机平均时间内的物理机分数的总和;最后确定具有平均总物理机分数最小值的目标调度方式并根据该目标调度方式调度作业,平均总物理机分数最小表示该调度方式中物理机在时间和空间上物理机上的资源均不会过高,能实现作业调度中资源在时间和空间的均衡分配。
下面通过方法实施例对本申请提供的一种作业调度方法进行说明,如图1所示,图1为本申请实施例提供的一种作业调度方法的流程图,本申请实施例提供的一种作业调度方法,包括以下步骤:
S101、获取insts_max个待调度作业在time_max个采样时间分别对应的资源利用率;待调度作业表示需要占用物理机资源的作业,insts_max≥1,time_max≥1。
具体来说,可以获取insts_max个待调度作业在time_max个采样时间分别对应的资源利用率,目标是基于一个时间序列的资源利用率,因此每个资源利用率可以表示为一个向量,向量中每个至代表对应的采样时间内的资源利用率的统计或预测值。
需要注意的是,获取insts_max个待调度作业在time_max个采样时间分别对应的资源利用率是为了得到待调度作业在多个采样时间内的资源利用率,以反映待调度作业的资源利用变化规律,因此采样时间的个数可以根据资源利用变化规律设定,例如,一般作业的资源利用变化规律的最小单位是天,若每10min采样一次,time_max的取值即为144,以获取待调度作业在144个采样时间分别对应的资源利用率。
可选的,资源利用率包括中央处理器利用率、内存利用率和硬盘输入/输出率。
具体来说,在真实场景中分析作业的多维度资源利用率时,中央处理器利用率、内存利用率和硬盘输入/输出率占主导地位,因此在分析资源利用变化规律时可以只分析这三个维度,不分析网络和内存带宽等其他维度,以简化关键问题,为后续确定目标调度方式减少计算时间和成本。
可选的,可以预先统计并预测app_max个在线服务应用在time_max个采样时间的资源利用率,在线服务应用为生成作业的服务应用并且同一个在线服务应用的每个作业的资源利用率相同;
将app_max个在线服务应用在time_max个采样时间的资源利用率用下述向量表示;
根据app_max个在线服务应用的作业在time_max个采样时间的资源利用率和相应的insts_max个待调度作业,确定insts_max个待调度作业在time_max个采样时间分别对应的资源利用率。
具体来说,作业的资源利用的变化规律是可以提取的,例如,如图2所示,图2为一个在线服务应用的7个作业中8天里资源(CPU、内存)利用变化规律图,由于企业的一个在线服务应用的不同作业的资源利用变化规律通常是相似的,图2中7个作业的CPU和内存的资源利用变化规律通常相同,因此可以通过采集属于同一个在线服务应用的每个作业的资源利用率作为一个已知的固定量,通过统计或者预测得到,如下述公式表示:
App={App1,App2,...,Appapp_max}
其中,App表示在线服务应用,app_max≥1。
在线服务应用在中央处理器,内存和硬盘输入/输出的三个维度的资源利用率可以由下述公式表示:
第i个在线服务应用在time_max个采样时间的资源利用率可以用下述公式表示:
由于待调度作业是在物理机上运行的实际计算的资源负载,因此可以将inst_max个作业描述为一个实例的集合Insts,每个待调度作业用Instsj表示,由于同一个在线服务应用的每个作业的资源利用率相同,相应的,可以通过Map函数确定inst_max个作业的资源利用率如下述公式所示:
Insts={Insts1,Insts2,...,Instsinst_max}
Map(Instsj)=Appi
其中,Insts表示inst_max个作业的集合,Map表示相应的计算,Appi表示在线服务应用的资源利用率。
S102、获取mach_max台物理机在time_max个采样时间分别对应的资源利用率,mach_max≥1。
具体来说,在作业调度时,物理机通常不是空闲状态,可以获取mach_max台物理机在time_max个采样时间分别对应的资源利用率,以表示物理机在time_max个采样时间的资源利用情况,相应的,物理机在采样时间的资源利用率也可以向量表示,如下述公式所示:
M={M1,M2,...,Mmach_max}
其中,M表示物理机,Mach_max≥1。
物理机在中央服务器,内存和硬盘输入/输出的三个维度的资源利用率可以由下述公式表示:
第i个物理机在time_max个采样时间的资源利用率可以用下述公式表示:
需要注意的是,一般云服务商提供的物理机的资源量是同构的,即Mi的初始值完全相同,即每台物理机的资源相同。
S103、根据预先设置的物理机评分函数、mach_max台物理机在time_max个采样时间分别对应的资源利用率和insts_max个待调度作业在time_max个采样时间分别对应的资源利用率,计算得到多个调度方式对应的在time_max个采样时间分别对应的mach_max个物理机分数;多个调度方式表示insts_max个待调度作业分别调度至mach_max台物理机的多个调度情况,物理机评分函数用于根据物理机上的资源利用率评分且当资源利用率小于预设利用率惩罚值时的评分上升速度小于当资源利用率大于或等于预设利用率惩罚值时的评分上升速度,物理机分数表示物理机上的资源利用率。
具体来说,物理机评分函数用于根据物理机上的资源利用率进行评分,并且本申请的物理机评分函数当资源利用率小于预设利用率惩罚值时的评分上分速度小于当资源利用率大于或等于预设利用率惩罚值,即表示当物理机上的资源利用率达到预设利用率惩罚值时,该物理机分数会快速增长,以实现对负载较大的物理机的识别。根据物理机评分函数、mach_max台物理机在time_max个采样时间分别对应的资源利用率和insts_max个待调度作业在time_max个采样时间分别对应的资源利用率,可以计算得到不同的调度方式对应的在time_max个采样时间的mach_max个物理机分数,mach_max个物理机分数可以表示mach_max台物理机在不同调度方式中调度待调度作业后的物理机的资源利用情况。
可选的,物理机评分函数包括:
其中,util表示物理机的资源利用率,b表示预设利用率惩罚值,α参数控制资源利用率超过b值之后的评分上升速度,Scorej,t表示第j个物理机在对应第t个采样时间的物理机分数,mach_max≥j≥1,time_max≥t≥1。
具体来说,物理机评分函数在一定程度上可以反映物理机的资源利用情况,本申请中的物理机评分函数为分段函数,其中,b值作为预设利用率惩罚值,可以表示物理机的资源利用率在何值之后开始惩罚,如图3所述,图3为物理机评分函数中b的不同取值对与CPU利用率的评分示意图,b值设置的越小,对于物理机的资源利用率惩罚开始的越早。
S104、根据多个调度方式对应的在time_max个采样时间分别对应的mach_max个物理机分数,确定多个调度方式对应的平均总物理机分数,平均总物理机分数表示关于mach_max台物理机对应的time_max个采样时间的平均物理机分数的总和。
可选的,可以根据多个调度方式对应的在time_max个采样时间分别对应的mach_max个物理机分数和下述公式,确定多个调度方式对应的平均总物理机分数;
其中,Scorej,t表示第j个物理机在对应第t个采样时间的物理机分数,mach_max≥j≥1,time_max≥t≥1。
S105、根据多个调度方式对应的平均总物理机分数,确定具有平均总物理机分数最小值的目标调度方式,以便根据目标调度方式在调度待调度作业。
具体来说,本申请对于作业调度的目标是尽量减少工作的物理机数量和不要出现超负荷工作的物理机,超负荷工作包括时间上和空间上的超负荷工作,平均总物理机分数可以表示物理机在时间和空间上的资源使用情况,确定具有平均总物理机分数最小值的目标调度方式,可以最大程度实现机器之间在时间上和空间上的负载均衡,来减少资源使用的碎片化。
可选的,可以根据下述公式,确定具有平均总物理机分数最小值的目标调度方式:
其中,Scorej,t表示第j个物理机在对应第t个采样时间的物理机分数,mach_max≥j≥1,time_max≥t≥1。
可选的,目标调度方式中每个物理机的资源利用率小于或等于对应的物理机的可利用资源。
相应的公式如下所述:
Di,j={1,0}i∈[1,2,...,inst_max],j∈[1,2,...,mach_max]
具体来说,由于每个作业只能被调度到一台机器上,因此在确定目标调度方式中,可以通过Di,j来进行相应的约束,在此基础上,可以设置在任意时刻t∈[1,2,...,time_max]的任何物理机j∈[1,2,...,mach_max]上,任意资源维度x∈{cpu,mem,disk_IO}的使用情况都应满足不超过物理机的可利用资源量,以实现资源约束。
可选的,目标调度方式中待调度作业满足亲和和反亲和关系,亲和关系为多个作业需要调度同一物理机,反亲和关系为多个作业需要调度不同物理机。
具体来说,在线服务作业由于其服务延迟敏感性和应用间优先级规则的复杂性,这种应用间关系通常被建模为亲和关系和反亲和关系。
反亲和关系为多个作业需要调度不同物理机,例如,每个物理机上可以部署的同一服务的作业实例的最大数量,通常在{1,2,3}范围内,以实现灾难恢复的考虑要求,或者是同一在线服务应用实例间的还有很多作业与其他在线服务的作业一起在同一台物理机上运行时,会因为一些特殊因素造成严重的争用,如特殊硬件争用等。
亲和关系为多个作业需要调度同一物理机,由于一些在线业务请求往往分为多个在线服务应用的顺序执行,例如,每次向用户推送广告时,会用到三个服务应用:召回、粗调度、细调度,那么将这三者的作业放在一台物理机上是一个非常好的选择,可以有效减少物理机之间的通信时间。
可选的,亲和关系和反亲和关系的可由下述公式表示:
F(App1,App2)=u
该公式表示在放置App1的物理机上,App2被放置的数量不能超过u个。其中,如果三元组的App1等于App2,那么就意味着该应用程序可以部署在一台物理机上,其数量最多为u+1。
相应的,获取代表在线服务应用Appi在物理机m上的实际数量E(Appi,m)。在线服务应用i,j∈[1,2,...,app_max]在物理机m∈[1,2,...,mach_max]应满足下述公式:
该公式表示如果Appi和Appj为同一在线服务应用,Appi和Appj在物理机m上的数量最多为u+1,如果Appi和Appj为不同在线服务应用Appi和Appj,在物理机m上的数量最多为u。
可选的,可以根据多个调度方式对应的平均总物理机分数,采用动态多元素交换算法确定具有平均总物理机分数最小值的目标调度方式。
具体来说,调度作业转化为求目标函数最小值的过程。传统的求目标函数最小值的方法是分支定界算法(branch and bound,BBM),BBM算法会的求解速度会较慢,本申请提出了动态多元素交换算法(Dynamic Multi Element Exchange,DMEE),该算法权衡了求解时间和优化效果,根据每个BBM求解的当前使用机器的分数状态,动态选择子问题中物理机器的数量,以获得合适的问题解,从而加快收敛速度。具体来说,DMEE算法会首先加载问题相关数据,并快速生成一个该问题的可行解。其中,本申请确定目标调度方式时会采用First-Fit算法,为每个在线服务作业实例的部署请求找到第一个满足所有约束条件的机器。
可选的,将mach_max个物理机分数排序;
基于已排序的所述mach_max个物理机分数,确定物理机分数最大值和物理机分数最小值;
基于所述mach_max个物理机分数,确定对应的集合分数间隔;
根据所述物理机分数最大值、所述物理机分数最小值、所述集合分数间隔和下述公式,确定所述mach_max个物理分数的高分数集合和低分数集合,
LowScoreSet={j|Score(Mj)≤min(ScoreList)+Step,j∈[0,mach_max]}
HighScoreSet={j|Score(Mj)≥max(ScoreList)-Step,j∈[0,mach_max]}
其中,LowScoreSet表示低分集,HighScoreSet表示高分集,Score(Mj)表示第j台物理机的物理机分数,min(ScoreList)表示物理机分数最小值,max(ScoreList)表示物理机分数最大值,Step表示集合分数间隔;
基于所述高分数集合中的物理机数量和所述低分数集合中的物理机数量,分别确定所述高分数集合和所述低分数集合的搜索空间;
根据所述高分数集合、所述低分数集合和对应的所述搜索空间,采用分支定界算法BBM算法确定所述目标调度方式。
具体来说,DMEE算法求解包括物理机分数排序,物理机子集合生成、选取求解最优化子问题和BBM求解四个过程,通过不断循环确定最优解。
首先,根据全部物理机的物理机分数进行排序,并确定基于已排序的mach_max个物理机分数,确定物理机分数最大值和物理机分数最小值;
然后,根据上述物理机分数和下述公式,确定对应的集合分数间隔:
由于所有物理机的物理机分数在变化过程中会随着其资源利用率越来越均衡而越来越相似,集合分数间隔的检验系数中的Iter会使这个分数间隔随着循环次数的增加而增加,物理机分数最大值和物理机分数最小值之间的差距也会随着循环次数的增加而减少,因此通过上述公式获得的集合分数间隔能以更均衡的方式增加。
接着,根据物理机分数最大值、物理机分数最小值、集合分数间隔和下述公式,确定mach_max个物理分数的高分数集合和低分数集合:
LowScoreSet={j|Score(Mj)≤min(ScoreList)+Step,j∈[0,mach_max]}
HighScoreSet={j|Score(Mj)≥max(ScoreList)-Step,j∈[0,mach_max]}
其中,LowScoreSet表示低分集,HighScoreSet表示高分集,Score(Mj)表示第j台物理机的物理机分数,min(ScoreList)表示物理机分数最小值,max(ScoreList)表示物理机分数最大值,Step表示集合分数间隔。
最后,基于高分数集合中的物理机数量和低分数集合中的物理机数量,分别确定高分数集合和低分数集合的搜索空间;根据高分数集合、低分数集合和对应的所述搜索空间,采用分支定界算法BBM算法确定所述目标调度方式。
需要注意的是,由于当循环开始时Iter较小,集合分数间隔较小,高分集和低分集的机器数量较少,所以可以更好的集中搜索极端情况的更优解。随着循环次数的增加,Iter变大,Step的值也逐渐增加,所以两个集合中机器的数量增加,将进行更加随机的局部搜索,但是这部分的搜索比较难在所选评分较为接近的两台物理机器上产生足够大的优化空间,以最大限度地发挥BBM算法的优势。
可选的,可以根据极差确定高分集和低分集的搜索空间,如下述公式所示:
其中,min(ScoreList)表示物理机分数最小值,max(ScoreList)表示物理机分数最大值,DynamicChoose为搜索空间。
具体来说,对较大的极差使用较小的搜索空间以获得快速收敛,对较小的极差使用较大的搜索空间,即搜索空间是动态变化的,可以快速得到最优解。
需要注意的是,根据上述公式得到的搜索空间从高分集和低分集中进行随机选择,若高分集和低分集中的物理机数量不够,则需要取完整集合。
可选的,可以将低分集中冗余物理机移除。
具体来说,随机选择低分集中的物理机并进行遍历,尝试将这台物理机上的全部作业放置在其他物理机上,如果这台物理机上的全部作业可以放置在其他物理机上,表示该物理机是冗余物理机则去除这台机器。如果不能,对下一个机器执行同样的机器去除逻辑。
综上所述,本申请实施例本申请实施例提供了一种作业调度方法及装置,该方法包括:获取insts_max个待调度作业在time_max个采样时间分别对应的资源利用率;待调度作业表示需要占用物理机资源的作业,insts_max≥1,time_max≥1;获取mach_max台物理机在time_max个采样时间分别对应的资源利用率,mach_max≥1;根据预先设置的物理机评分函数、mach_max台物理机在time_max个采样时间分别对应的资源利用率和insts_max个待调度作业在time_max个采样时间分别对应的资源利用率,计算得到多个调度方式对应的在time_max个采样时间对应的mach_max个物理机分数;多个调度方式表示insts_max个待调度作业分别调度至mach_max台物理机的多个调度情况,物理机评分函数用于根据物理机上的资源利用率评分且当资源利用率小于预设利用率惩罚值时的评分上升速度小于当资源利用率大于或等于预设利用率惩罚值时的评分上升速度,物理机分数表示物理机上的资源利用率;根据多个调度方式对应的在time_max个采样时间分别对应的mach_max个物理机分数,确定多个调度方式对应的平均总物理机分数,平均总物理机分数表示关于mach_max台物理机对应的time_max个采样时间的平均物理机分数的总和;根据多个调度方式对应的平均总物理机分数,确定具有平均总物理机分数最小值的目标调度方式,以便根据目标调度方式在调度所述待调度作业。通过上述方法,先根据多个待调度作业在不同时间的资源利用率、多台物理机在不同时间的资源利用率和物理机评分函数,计算得到多个调度方式对应在不同时间的物理机分数,其中,物理机评分函数当资源利用率小于预设利用率惩罚值时的评分上升速度小于当资源利用率大于或等于预设利用率惩罚值时的评分上升速度,即当物理机的资源利用率较大时相应的物理机分数会偏高;再根据多个调度方式对应在不同时间的物理机分数,可以得到多个调度方式对应的平均总物理机分数,总物理机分数表示多台物理机平均时间内的物理机分数的总和;最后确定具有平均总物理机分数最小值的目标调度方式并根据该目标调度方式调度作业,平均总物理机分数最小表示该调度方式中物理机在时间和空间上物理机上的资源均不会过高,能实现作业调度中资源在时间和空间的均衡分配。
本申请另一实施例提供了一种作业调度装置,如图4所示,图4为本申请另一实施例提供的一种作业调度装置的示意图,该装置包括第一获取单元401,第二获取单元402,第一计算单元403,第二计算单元404,确定单元405。
第一获取单元,用于获取insts_max个待调度作业在time_max个采样时间分别对应的资源利用率;待调度作业表示需要占用物理机资源的业务,insts_max≥1,time_max≥1。
第二获取单元,用于获取mach_max台物理机在time_max个采样时间分别对应的资源利用率,mach_max≥1。
第一计算单元,用于根据预先设置的物理机评分函数、mach_max台物理机在time_max个采样时间分别对应的资源利用率和insts_max个待调度作业在time_max个采样时间分别对应的资源利用率,计算得到多个调度方式对应的在time_max个采样时间分别对应的mach_max个物理机分数;多个调度方式表示insts_max个待调度作业分别调度至mach_max台物理机的多个调度情况,物理机评分函数用于根据物理机上的资源利用率评分且当资源利用率小于预设利用率惩罚值时的评分上升速度小于当资源利用率大于或等于预设利用率惩罚值时的评分上升速度,物理机分数表示物理机上的资源利用率。
第二计算单元,用于根据多个调度方式对应的在time_max个采样时间分别对应的mach_max个物理机分数,确定多个调度方式对应的平均总物理机分数,平均总物理机分数表示关于mach_max台物理机对应的time_max个采样时间的平均物理机分数的总和。
确定单元,用于根据多个调度方式对应的平均总物理机分数,确定具有平均总物理机分数最小值的目标调度方式,以便根据目标调度方式在调度待调度作业。
可选的,在本申请另一实施例提供的一种作业调度装置,物理机评分函数包括:
其中,util表示物理机的资源利用率,b表示预设利用率惩罚值,α参数控制资源利用率超过b值之后的评分上升速度,Scorej,t表示第j个物理机在对应第t个采样时间的物理机分数,mach_max≥j≥1,time_max≥t≥1。
可选的,在本申请另一实施例提供的一种作业调度装置,第二计算单元,用于根据多个调度方式对应的在time_max个采样时间分别对应的mach_max个物理机分数和下述公式,确定多个调度方式对应的平均总物理机分数;
其中,Scorej,t表示第j个物理机在对应第t个采样时间的物理机分数,mach_max≥j≥1,time_max≥t≥1。
可选的,在本申请另一实施例提供的一种作业调度装置,资源利用率包括中央处理器利用率、内存利用率和硬盘输入/输出率。
可选的,在本申请另一实施例提供的一种作业调度装置,第一获取单元,用于预先统计并预测app_max个在线服务应用在time_max个采样时间的资源利用率,所述在线服务应用为生成作业的服务应用并且同一个在线服务应用的每个作业的资源利用率相同;
将所述app_max个在线服务应用在time_max个采样时间的资源利用率用下述公式表示;
根据所述app_max个在线服务应用的作业在time_max个采样时间的资源利用率和相应的insts_max个待调度作业,确定insts_max个待调度作业在time_max个采样时间分别对应的资源利用率。
可选的,在本申请另一实施例提供的一种作业调度装置中还包括约束单元,用于约束目标调度方式中每个物理机的资源利用率小于或等于对应的物理机的可利用资源;
相应的公式如下所述:
Di,j={1,0}i∈[1,2,...,inst_max],j∈[1,2,...,mach_max]
可选的,在本申请另一实施例提供的一种作业调度装置中还包括约束单元,还用于约束目标调度方式中待调度作业满足亲和和反亲和关系,亲和关系为多个作业需要调度同一物理机,反亲和关系为多个作业需要调度不同物理机。
可选的,在本申请另一实施例提供的一种作业调度装置中,确定单元用于根据所述多个调度方式对应的平均总物理机分数,采用动态多元素交换算法确定具有平均总物理机分数最小值的目标调度方式。
可选的,在本申请另一实施例提供的一种作业调度装置中,确定单元用于将所述mach_max个物理机分数排序;
基于已排序的所述mach_max个物理机分数,确定物理机分数最大值和物理机分数最小值;
基于所述mach_max个物理机分数,确定对应的集合分数间隔;
根据所述物理机分数最大值、所述物理机分数最小值、所述集合分数间隔和下述公式,确定所述mach_max个物理分数的高分数集合和低分数集合,
LowScoreSet={j|Score(Mj)≤min(ScoreList)+Step,j∈[0,mach_max]}
HighScoreSet={j|Score(Mj)≥max(ScoreList)-Step,j∈[0,mach_max]}
其中,LowScoreSet表示低分集,HighScoreSet表示高分集,Score(Mj)表示第j台物理机的物理机分数,min(ScoreList)表示物理机分数最小值,max(ScoreList)表示物理机分数最大值,Step表示集合分数间隔;
基于所述高分数集合中的物理机数量和所述低分数集合中的物理机数量,分别确定所述高分数集合和所述低分数集合的搜索空间;
根据所述高分数集合、所述低分数集合和对应的所述搜索空间,采用分支定界算法BBM算法确定所述目标调度方式。
需要说明的是,本申请上述实施例提供的各个单元的具体工作过程可相应地参考上述方法实施例中的相应的实施方式,此处不再赘述。
需要说明的是,本申请实施例提供的一种作业调度方法及装置可用于资源处理领域、人工智能领域、区块链领域、分布式领域、云计算领域、大数据领域、移动互联领域、网络安全领域、芯片领域、虚拟现实领域、增强现实领域、全息技术领域、量子计算领域、量子通信领域、量子测量领域、数字孪生领域或金融领域。上述仅为示例,并不对本申请实施例提供的一种作业调度方法及装置应用领域进行限定。
本申请另一实施例提供了一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行存储器中存储的可执行指令时,实现本申请实施例上述方法实施例中方法。
本申请另一实施例提供了一种计算机可读存储介质,存储有可执行指令,用于被处理器执行时,实现本申请实施例上述的方法实施例中方法。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种作业调度方法,其特征在于,所述方法包括:
获取insts_max个待调度作业在time_max个采样时间分别对应的资源利用率;所述待调度作业表示需要占用物理机资源的作业,insts_max≥1,time_max≥1;
获取mach_max台物理机在所述time_max个采样时间分别对应的资源利用率,mach_max≥1;
根据预先设置的物理机评分函数、所述mach_max台物理机在所述time_max个采样时间分别对应的资源利用率和所述insts_max个待调度作业在所述time_max个采样时间分别对应的资源利用率,计算得到多个调度方式对应的在所述time_max个采样时间分别对应的mach_max个物理机分数;所述多个调度方式表示所述insts_max个待调度作业分别调度至所述mach_max台物理机的多个调度情况,所述物理机评分函数用于根据物理机上的资源利用率评分且当资源利用率小于预设利用率惩罚值时的评分上升速度小于当资源利用率大于或等于所述预设利用率惩罚值时的评分上升速度,所述物理机分数表示物理机上的资源利用率;
根据所述多个调度方式对应的在所述time_max个采样时间分别对应的mach_max个物理机分数,确定所述多个调度方式对应的平均总物理机分数,所述平均总物理机分数表示关于mach_max台物理机对应的所述time_max个采样时间的平均物理机分数的总和;
根据所述多个调度方式对应的平均总物理机分数,确定具有平均总物理机分数最小值的目标调度方式,以便根据所述目标调度方式在调度所述待调度作业。
4.根据权利要求1所述的方法,其特征在于,所述资源利用率包括中央处理器利用率、内存利用率和硬盘输入/输出率。
5.根据权利要求所述4的方法,其特征在于,所述获取insts_max个待调度作业在time_max个采样时间分别对应的资源利用率,包括:
预先统计并预测app_max个在线服务应用在time_max个采样时间的资源利用率,所述在线服务应用为生成作业的服务应用并且同一个在线服务应用的每个作业的资源利用率相同;
将所述app_max个在线服务应用在time_max个采样时间的资源利用率用下述公式表示;
根据所述app_max个在线服务应用的作业在time_max个采样时间的资源利用率和相应的insts_max个待调度作业,确定insts_max个待调度作业在time_max个采样时间分别对应的资源利用率。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
所述目标调度方式中待调度作业满足亲和和反亲和关系,所述亲和关系为多个作业需要调度同一物理机,所述反亲和关系为多个作业需要调度不同物理机。
8.根据权利要求1所述的方法,其特征在于,所述根据所述多个调度方式对应的平均总物理机分数,确定具有平均总物理机分数最小值的目标调度方式,包括:
根据所述多个调度方式对应的平均总物理机分数,采用动态多元素交换算法确定具有平均总物理机分数最小值的目标调度方式。
9.根据权利要求8所述的方法,其特征在于,所述根据所述多个调度方式对应的平均总物理机分数,采用动态多元素交换算法确定具有平均总物理机分数最小值的目标调度方式,包括:
将所述mach_max个物理机分数排序;
基于已排序的所述mach_max个物理机分数,确定物理机分数最大值和物理机分数最小值;
基于所述mach_max个物理机分数,确定对应的集合分数间隔;
根据所述物理机分数最大值、所述物理机分数最小值、所述集合分数间隔和下述公式,确定所述mach_max个物理分数的高分数集合和低分数集合,
LowScoreSet={j|Score(Mj)≤min(ScoreList)+Step,j∈[0,mach_max]}
HighScoreSet={j|Score(Mj)≥max(ScoreList)-Step,j∈[0,mach_max]}
其中,LowScoreSet表示低分集,HighScoreSet表示高分集,Score(Mj)表示第j台物理机的物理机分数,min(ScoreList)表示物理机分数最小值,max(ScoreList)表示物理机分数最大值,Step表示集合分数间隔;
基于所述高分数集合中的物理机数量和所述低分数集合中的物理机数量,分别确定所述高分数集合和所述低分数集合的搜索空间;
根据所述高分数集合、所述低分数集合和对应的所述搜索空间,采用分支定界算法BBM算法确定所述目标调度方式。
10.一种作业调度装置,其特征在于,所述装置包括第一获取单元,第二获取单元,第一计算单元,第二计算单元,确定单元;
所述第一获取单元,用于获取insts_max个待调度作业在time_max个采样时间分别对应的资源利用率;所述待调度作业表示需要占用物理机资源的业务,insts_max≥1,time_max≥1;
所述第二获取单元,用于获取mach_max台物理机在所述time_max个采样时间分别对应的资源利用率,mach_max≥1;
所述第一计算单元,用于根据预先设置的物理机评分函数、所述mach_max台物理机在所述time_max个采样时间分别对应的资源利用率和所述insts_max个待调度作业在所述time_max个采样时间分别对应的资源利用率,计算得到多个调度方式对应的在所述time_max个采样时间分别对应的mach_max个物理机分数;所述多个调度方式表示所述insts_max个待调度作业分别调度至所述mach_max台物理机的多个调度情况,所述物理机评分函数用于根据物理机上的资源利用率评分且当资源利用率小于预设利用率惩罚值时的评分上升速度小于当资源利用率大于或等于所述预设利用率惩罚值时的评分上升速度,所述物理机分数表示物理机上的资源利用率;
所述第二计算单元,用于根据所述多个调度方式对应的在所述time_max个采样时间分别对应的mach_max个物理机分数,确定所述多个调度方式对应的平均总物理机分数,所述平均总物理机分数表示关于mach_max台物理机对应的所述time_max个采样时间的平均物理机分数的总和;
所述确定单元,用于根据所述多个调度方式对应的平均总物理机分数,确定具有平均总物理机分数最小值的目标调度方式,以便根据所述目标调度方式在调度所述待调度作业。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210928286.4A CN115168014A (zh) | 2022-08-03 | 2022-08-03 | 一种作业调度方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210928286.4A CN115168014A (zh) | 2022-08-03 | 2022-08-03 | 一种作业调度方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115168014A true CN115168014A (zh) | 2022-10-11 |
Family
ID=83477625
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210928286.4A Pending CN115168014A (zh) | 2022-08-03 | 2022-08-03 | 一种作业调度方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115168014A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116150580A (zh) * | 2023-04-17 | 2023-05-23 | 中国水利水电科学研究院 | 一种数字孪生流域数据底板的数据资源评价方法 |
-
2022
- 2022-08-03 CN CN202210928286.4A patent/CN115168014A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116150580A (zh) * | 2023-04-17 | 2023-05-23 | 中国水利水电科学研究院 | 一种数字孪生流域数据底板的数据资源评价方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ghosh et al. | Modeling and performance analysis of large scale IaaS clouds | |
Le et al. | Online load balancing for mapreduce with skewed data input | |
CN105487930A (zh) | 一种基于Hadoop的任务优化调度方法 | |
CN102541858B (zh) | 基于映射和规约的数据均衡性处理方法、装置及系统 | |
Wang et al. | Predator—An experience guided configuration optimizer for Hadoop MapReduce | |
CN110308980A (zh) | 数据的批量处理方法、装置、设备及存储介质 | |
Liu et al. | Preemptive hadoop jobs scheduling under a deadline | |
CN111858062A (zh) | 评估规则优化方法、业务评估方法及相关设备 | |
CN112579273A (zh) | 任务调度方法及装置、计算机可读存储介质 | |
CN115168014A (zh) | 一种作业调度方法及装置 | |
Zikos et al. | The impact of service demand variability on resource allocation strategies in a grid system | |
Menouer et al. | Scheduling and resource management allocation system combined with an economic model | |
Hughes et al. | A structural approach to computer performance analysis | |
CN110084507A (zh) | 云计算环境下分级感知的科学工作流调度优化方法 | |
Marinho et al. | LABAREDA: a predictive and elastic load balancing service for cloud-replicated databases | |
CN115098240B (zh) | 一种多处理器应用调度方法和系统及存储介质 | |
Yassir et al. | Graph-based model and algorithm for minimising big data movement in a cloud environment | |
CN115914235A (zh) | 负载均衡方法及装置 | |
De Mello et al. | A new migration model based on the evaluation of processes load and lifetime on heterogeneous computing environments | |
Jrada et al. | Data-aware modeling of elastic processes for elasticity strategies evaluation | |
Gao et al. | Minimizing financial cost of scientific workflows under deadline constraints in multi-cloud environments | |
Lima et al. | A Virtual Machine Placement Algorithm for Resource Allocation in Cloud-Based Environments | |
Dong et al. | SMART: Speedup Job Completion Time by Scheduling Reduce Tasks | |
Lu et al. | Improving mapreduce performance by using a new partitioner in yarn | |
Yao et al. | A resource provisioning strategy for elastic analytical workflows in the cloud |
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 |