CN111343259B - 基于二进制编码的云任务调度方法、服务器及存储介质 - Google Patents

基于二进制编码的云任务调度方法、服务器及存储介质 Download PDF

Info

Publication number
CN111343259B
CN111343259B CN202010097782.0A CN202010097782A CN111343259B CN 111343259 B CN111343259 B CN 111343259B CN 202010097782 A CN202010097782 A CN 202010097782A CN 111343259 B CN111343259 B CN 111343259B
Authority
CN
China
Prior art keywords
task scheduling
scheduling solution
task
solution
cloud
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.)
Expired - Fee Related
Application number
CN202010097782.0A
Other languages
English (en)
Other versions
CN111343259A (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.)
Wuhan Polytechnic University
Original Assignee
Wuhan Polytechnic University
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 Wuhan Polytechnic University filed Critical Wuhan Polytechnic University
Priority to CN202010097782.0A priority Critical patent/CN111343259B/zh
Publication of CN111343259A publication Critical patent/CN111343259A/zh
Application granted granted Critical
Publication of CN111343259B publication Critical patent/CN111343259B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • 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)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于二进制编码的云任务调度方法、服务器及存储介质,所述方法包括:对云任务和云资源之间的映射关系进行二进制编码,获得多个任务调度解;再根据用户预设的约束参数计算每个任务调度解的适应度;然后,在获得的多个任务调度解中标识出一级任务调度解、二级任务调度解和三级任务调度解;并对每个任务调度解进行更新,获得更新后的任务调度解;再对所述更新后的任务调度解进行迭代计算;最后将所述迭代后的一级任务调度解作为最优云任务调度解。本发明能够实现任务执行时间和任务执行代价的同步均衡优化调度,并在整个过程中引入更多的随机性,可以提供决策空间中的全局搜索,避免局部最优。

Description

基于二进制编码的云任务调度方法、服务器及存储介质
技术领域
本发明涉及云任务调度技术领域,尤其涉及一种基于二进制编码的云任务调度方法、服务器及存储介质。
背景技术
云任务调度不同于传统的任务调度问题,需要考虑的因素更多更复杂。首先,其用户执行任务时的QoS需求更加多样性,如需要满足服务响应时间或需要考虑服务代价等。其次,云服务具有异质性、动态性和弹性等特征。最后,在提交任务时,需要满足预定义的时间或执行预算的约束。此时,云任务调度问题本质上是联合优化问题。
在现有云任务调度相关的研究内容中,多数工作集中于优化单一目标或单一约束,没有考虑不同目标间的相互影响,即执行时间与执行代价间的影响。因此,在任务的完成时间、任务执行预算均有约束的条件下,如何实现任务执行时间和执行代价间的同步均衡优化,是一个亟需解决的技术问题。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种基于二进制编码的云任务调度方法、服务器及存储介质,旨在存在任务的完成时间、任务执行预算均有约束的条件下,实现任务执行时间和执行代价间的同步均衡优化。
为实现上述目的,本发明提出了一种基于二进制编码的云任务调度方法,所述包括以下步骤:
根据预设编码规则对n个云任务和m个云资源之间的映射关系进行编码,获得多个任务调度解,各任务调度解表征为一个m行n列的二进制元素矩阵;
根据用户预设的约束参数计算每个任务调度解的适应度;
根据所述适应度按预设标识规则在获得的多个任务调度解中标识出一级任务调度解、二级任务调度解和三级任务调度解;
基于所述一级任务调度解、所述二级任务调度解和所述三级任务调度解,按照预设更新规则对每个任务调度解进行更新,获得更新后的任务调度解;
对所述更新后的任务调度解进行迭代计算,获得迭代后的一级任务调度解;
将所述迭代后的一级任务调度解作为最优云任务调度解。
优选的,所述多个任务调度解中至少包括一个最小时间任务调度解,所述最小时间任务调度解为云任务在云资源上执行时,执行时间最小的映射关系所对应的任务调度解。
优选的,所述多个任务调度解中至少包括一个最小代价任务调度解,所述最小代价任务调度解为云任务在云资源上执行时,执行代价最小的映射关系对应的任务调度解。
优选的,所述根据用户预设的约束参数计算每个任务调度解的适应度,具体包括:
计算每个任务调度解的执行时间;
计算每个任务调度解的执行代价;
根据所述执行时间、所述执行代价以及用户预设的截止时间和代价总值通过以下公式计算每个任务调度解的适应度:
Figure BDA0002385808710000021
其中,fitness为任务调度解适应度,Time(T,R)为执行时间,Cost(T,R)为执行代价,Deadline为截止时间,Budget为代价总值,
Figure BDA0002385808710000022
为时间因子,
Figure BDA0002385808710000023
为代价因子,
Figure BDA0002385808710000024
优选的,所述计算每个任务调度解的执行时间,具体包括:
根据n个云任务分别在m个云资源上的执行时间,通过以下公式计算每个任务调度解的执行时间:
Figure BDA0002385808710000025
其中,t(Tb,Rg)为云任务Tb在云资源Rg上的执行时间,χ(Tb,Rg)为调度因子,
Figure BDA0002385808710000031
其中,π:T→R表示云任务集T与云资源集R的一种映射解。
优选的,所述计算每个任务调度解的执行代价,具体包括:
根据n个云任务分别在m个云资源上的执行代价,通过以下公式计算每个任务调度解的执行代价:
Figure BDA0002385808710000032
其中,c(Tb,Rg)云任务Tb在云资源Rg上的执行代价,χ(Tb,Rg)为调度因子,
Figure BDA0002385808710000033
其中,π:T→R表示云任务集T与云资源集R的一种映射解。
优选的,所述基于所述一级任务调度解、所述二级任务调度解和所述三级任务调度解,按照预设更新规则对每个任务调度解进行更新,获得更新后的任务调度解,具体包括:
根据预设规则确定各任务调度解对应的收敛系数;
根据所述收敛系数按预设修正规则获取第一修正系数A1,并根据所述一级任务调度解通过以下公式对各任务调度解进行计算,获得各任务调度解中第j行第i列元素的第一更新参数
Figure BDA0002385808710000034
Figure BDA0002385808710000035
其中,
Figure BDA0002385808710000036
为所述一级任务调度解中第j行第i列元素的值,Dα为关联值:
Dα=|C1·Xα-X|
其中,Xα为所述一级任务调度解,C1为区间[0,2]内的随机值,X为各任务调度解;
根据所述收敛系数按预设修正规则获取第二修正系数A2,并根据所述二级任务调度解通过以下公式对各任务调度解进行计算,获得各任务调度解中第j行第i列元素的第二更新参数
Figure BDA0002385808710000037
Figure BDA0002385808710000038
其中,
Figure BDA0002385808710000039
为所述二级任务调度解中第j行第i列元素的值,Dβ为关联值:
Dβ=|C2·Xβ-X|
其中,Xβ为所述二级任务调度解,C2为区间[0,2]内的随机值;
根据所述收敛系数按预设修正规则获取第三修正系数A3,并根据所述三级任务调度解通过以下公式对各任务调度解进行计算,获得各任务调度解中第j行第i列元素的第三更新参数
Figure BDA0002385808710000041
Figure BDA0002385808710000042
其中,
Figure BDA0002385808710000043
为所述三级任务调度解中第j行第i列元素的值,Dδ为关联值:
Dδ=|C3·X6-X|
其中,Xδ为所述三级任务调度解,C3为区间[0,2]内的随机值;
根据所述第一更新参数
Figure BDA0002385808710000044
所述第二更新参数
Figure BDA0002385808710000045
和所述第三更新参数
Figure BDA0002385808710000046
通过以下公式对各任务调度解的进行更新:
Figure BDA0002385808710000047
其中
Figure BDA0002385808710000048
为第h个任务调度解中第j行第i列元素的更新值,rand为区间(0,1]内的随机值,函数sigmoid(x)定义为:
Figure BDA0002385808710000049
将各任务调度解中第k个元素的更新值作为更新后的任务调度解。
优选的,所述根据预设规则确定各任务调度解对应的收敛系数,具体包括:
获取预设的收敛系数初值;
根据每个任务调度解的适应度获取所有任务调度解对应的平均适应度,并判断各任务调度解的适应度是否大于或等于所述平均适应度;
若是,则按照预设衰减规则更新所述收敛系数初值,获得该任务调度解对应的收敛系数;
若否,则将所述收敛系数初值作为该任务调度解对应的收敛系数。
此外,为实现上述目的,本发明还提出一种服务器,所述服务器包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的云任务调度程序,所述云任务调度程序配置为实现如上述的基于二进制编码的云任务调度方法的步骤。
此外,为实现上述目的,本发明还提出一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有云任务调度程序,所述云任务调度程序被处理器执行时实现如上述的基于二进制编码的云任务调度方法的步骤。
本发明根据预设编码规则对n个云任务和m个云资源之间的映射关系进行编码,获得多个任务调度解,各任务调度解表征为一个m行n列的二进制元素矩阵;再根据用户预设的约束参数计算每个任务调度解的适应度;然后,根据所述适应度按预设标识规则在获得的多个任务调度解中标识出一级任务调度解、二级任务调度解和三级任务调度解;并基于所述一级任务调度解、所述二级任务调度解和所述三级任务调度解,按照预设更新规则对每个任务调度解进行更新,获得更新后的任务调度解;对所述更新后的任务调度解进行迭代计算,获得迭代后的任务调度解和迭代后的一级任务调度解;最后将所述迭代后的一级任务调度解作为最优云任务调度解。本发明在同时存在任务预定完成时间和任务执行预算均有约束条件的情况下,能够实现任务执行时间和任务执行代价的同步均衡优化调度,并在整个过程中引入更多的随机性,可以提供决策空间中的全局搜索,避免局部最优。
附图说明
图1为本发明实施例方案涉及的硬件运行环境的服务器的结构示意图;
图2为灰狼群体等级层次关系示意图;
图3为本发明的基于二进制编码的云任务调度方法的第一种实施例流程示意图;
图4为本发明的基于二进制编码的云任务调度方法的第三种实施例流程示意图;
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的服务器的结构示意图。
如图1所示,所述服务器可以包括:处理器1001,例如CPU,通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对所述服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接收模块以及云任务调度程序。
本发明的服务器通过处理器1001调用存储器1005中存储的云任务调度程序,并执行基于二进制编码的云任务调度方法的步骤。
需要说明的是,本申请的基于二进制编码的云任务调度方法是基于灰狼优化算法的一种云任务调度方法,灰狼优化算法是现有的一种算法。
灰狼优化算法以的灰狼群体内部严格的社会等级层次关系为背景,将问题解表征为灰狼个体,并根据个体的适应度划分层级,最高的视为α狼,第二高的灰狼视为β狼,第三高的灰狼视为δ狼,剩余候选者全部视为ω狼。等级层次关系如图2所示,其中,α代表α狼,β代表β狼,δ代表δ狼,ω代表ω狼。
灰狼优化算法中,问题最优化过程相当于灰狼群体进行不断地的捕猎。捕猎行为由α、β、δ三头狼指挥,ω狼跟随α、β、δ三头狼的位置进行位置更新,通过对位置的不断迭代,寻找猎物。
捕猎过程中,灰狼包围猎物的数学模型为:
D=|C·Xp(t)-X(t)| (1)
X(t+1)=Xp(t)-A·D (2)
其中,t表示当前迭代次数,A表示修正系数,C表示系数矢量,Xp表示猎物的位置矢量,X表示灰狼的位置矢量。式(1)表示某一灰狼与猎物之间的距离,式(2)则表示灰狼的位置更新公式。
修正系数A的计算公式如下:
A=2a·r1-a(3)
系数矢量C的计算公式如下:
C=2r2(4)
其中,r1和r2表示区间[0,1]内的随机数,其作用是增强灰狼搜索时,移动的随机性和个体多样性,a表示收敛系数,定义为:
Figure BDA0002385808710000071
其中,Tmax表示算法的最大迭代次数。可以看出,收敛系数a会随着算法迭代线性地从2递减为0。
需要说明的是,为了模拟灰狼的狩猎行为,可以保存目前为止最优的前三个解,并迫使其他ω狼根据这三个最优解所代表的最优灰狼位置更新其自身位置进行狩猎。则,灰狼狩猎的数学模型为:
Dα=|C1·Xα-X|(6)
Dβ=|C2·Xβ-X|(7)
Dδ=|C3·Xδ-X|(8)
其中,Dα、Dβ和Dδ分别表示灰狼个体与α狼、β狼和δ狼之间的距离,Xα、Xβ和Xδ分别表示α狼、β狼和δ狼之间的当前位置,X表示为灰狼个体的当前位置。
X1=Xα-A1·Dα(9)
X2=Xβ-A2·Dβ(10)
X3=Xδ-A3·Dδ(11)
Figure BDA0002385808710000072
其中,式(9)、(10)、(11)分别定义了灰狼个体朝向α狼、β狼和δ狼前进的步长和方向,式(12)则定义灰狼个体最终的更新位置。
需要说明的是,为了模拟灰狼接近猎物的过程,可以逐步减小收敛系数a的取值。相应地,A的波动范围也将随着a的取值而降低。换言之,迭代过程中a从2减小至0时,A将是处于区间[-2a,2a]间的随机值。当A的随机值处于[-1,1]时,搜索灰狼的下一位置将是其当前位置和猎物位置间的任意位置。
需要说明的是,灰狼优化算法主要通过α狼、β狼和δ狼的位置搜索猎物。灰狼之间相互分离搜索猎物,并逐步靠近并攻击猎物。为了在数学模型上建立灰狼间的分散,可以利用大于1的随机值A或小于-1的随机值A迫使搜索中的灰狼与猎物间的分离,这使得灰狼优化算法具备全局搜索的能力。
由式(4)可知,C是处于区间[0,2]的随机值。C表示灰狼所在位置对猎物影响的随机权重值,C>1表明定义灰狼与猎物间的距离时权重较大,C<1表明定义灰狼与猎物间的距离时权重较小。该参数有助于为灰狼优化算法引入更加随机的行为,便于空间搜索并避免局部最优。同时,与A相比,C不是线性递减的,这样在整个迭代过程中,算法可以提供决策空间中的全局搜索。
参照图3,图3本发明的基于二进制编码的云任务调度方法的第一种实施例流程示意图。
在本实施例中,所述基于二进制编码的云任务调度方法以下步骤:
步骤S10:根据预设编码规则对n个云任务和m个云资源之间的映射关系进行编码,获得多个任务调度解,各任务调度解表征为一个m行n列的二进制元素矩阵。
需要说明的是,传统的灰狼优化算法属于连续灰狼优化过程,灰狼可以连续地在搜索空间中的任意点移动。对于云任务调度问题而言,并非连续优化问题,因此在本申请中,云任务和云资源之间的映射关系地约束在二进制数0和1上,以便于表示一个任务是否调度至某一资源上执行。云任务调度问题下灰狼优化算法中的灰狼位置仅能以二进制数值形式出现,每个任务调度解表示灰狼优化算法中一头灰狼的位置,具体地,各任务调度解的形式为:
Figure BDA0002385808710000081
矩阵中的每个元素表示一个云任务i是否调度至资源j上执行。其中,Xh表示第h个任务调度解,n为云任务数,m为云资源数,
Figure BDA0002385808710000082
则表示云任务i在云资源j上执行,
Figure BDA0002385808710000083
则表示云任务i不在云资源j上执行。
可以理解的是,由于单个任务仅能调度至一个资源上执行,所以位置矩阵中每一列中仅能有一个值为1的元素。而由于单个资源可以按序执行多个任务,所以每一行可拥有多个值为1的元素。
步骤S20:根据用户预设的约束参数计算每个任务调度解的适应度。
需要说明的是,所述约束参数可以是用户期望的截止时间,也可以是用户期望预算。
在本实施例中,用户拥有包括n个独立任务的任务集T,T={T1,T2,…,Tn},约定完成该任务集的截止时间为Deadline,完成任务集的费用预算为Budget。云资源提供者集合表示为R={R1,R2,…,Rm},表示m个可完成任务的云资源提供者。n个任务分别在m个资源上的执行时间表示为执行时间矩阵ETC,n个任务分别在m个资源上的执行代价表示为执行代价矩阵ECG。假定一旦一个任务调度至某资源上执行,则该任务独占其资源并不再发生迁移,直到完成才可以执行下一任务。令t(Tb,Rg)表示任务Tb在资源Rg上的执行时间,c(Tb,Rg)表示任务Tb在资源Rg上的执行代价,映射π:T→R表示任务的一种调度解。
具体地,可根据n个云任务分别在m个云资源上的执行时间,通过以下公式计算每个任务调度解的执行时间:
Figure BDA0002385808710000091
其中,χ(Tb,Rg)为调度因子:
Figure BDA0002385808710000092
具体地,根据n个云任务分别在m个云资源上的执行代价,通过以下公式计算每个任务调度解的执行代价:
Figure BDA0002385808710000093
根据所述执行时间、所述执行代价以及用户预设的截止时间和代价总值通过以下公式计算每个任务调度解的适应度:
Figure BDA0002385808710000094
其中,
Figure BDA0002385808710000095
为时间因子,
Figure BDA0002385808710000096
为代价因子,
Figure BDA0002385808710000097
通过
Figure BDA0002385808710000098
Figure BDA0002385808710000099
指定用户执行任务时对于时间和代价优化的偏好。
可以理解的是,适应度计算中的约束条件确保了执行时间不超过截止时间约束,以及执行代价不超过预算约束。
步骤S30:根据所述适应度按预设标识规则在获得的多个任务调度解中标识出一级任务调度解、二级任务调度解和三级任务调度解。
在本实施例中,所述一级任务调度解对应为灰狼优化算法的α狼,所述二级任务调度解对应为β狼,所述三级任务调度解δ狼。
需要说明的是,所述预设标识规则具体可为按适应度数值的大小进行标识,任务调度解的适应度越大,说明任务调度解对应的调度方案最解决用户期望。
步骤S40:基于所述一级任务调度解、所述二级任务调度解和所述三级任务调度解,按照预设更新规则对每个任务调度解进行更新,获得更新后的任务调度解。
步骤S50:对所述更新后的任务调度解进行迭代计算,获得迭代后的一级任务调度解。
需要说明的是,灰狼优化算法是一个不断迭代的过程,对每次迭代后获取的任务调度解,需要重新计算适应度,并基于重新计算的适应度重新标识一级任务调度解、二级任务调度解和三级任务调度解,在基于重新标识的一级任务调度解、二级任务调度解和三级任务调度解对每个任务调度解进行更新。此外,由于矩阵中元素仅为二进制值0和1,因此不能按照传统灰狼优化算法中的位置更新公式进行位置更新。
在本实施例中,基于灰狼优化算法,所述基于所述一级任务调度解、所述二级任务调度解和所述三级任务调度解,按照预设更新规则对每个任务调度解进行更新,获得更新后的任务调度解,具体过程为:
根据预设规则确定各任务调度解对应的收敛系数a;
在本实施例中,所述预设规则可为前述公式5。
根据所述收敛系数a按预设修正规则获取第一修正系数A1,并根据所述一级任务调度解通过以下公式对各任务调度解进行计算,获得各任务调度解中第j行第i列元素的第一更新参数
Figure BDA0002385808710000101
Figure BDA0002385808710000102
其中,
Figure BDA0002385808710000103
为所述一级任务调度解中第j行第i列元素的值,Dα为各调度解与所述一级任务调度解的关联值:
Dα=|C1·Xα-X|(19)
其中,Xα为所述一级任务调度解,C1为区间[0,2]内的随机值,根据前述公式4获得,X为各任务调度解;
需要说明的是,所述预设修正规则为前述公式3。
根据所述收敛系数a按预设修正规则获取第二修正系数A2,并根据所述二级任务调度解通过以下公式对各任务调度解进行计算,获得各任务调度解中第j行第i列元素的第二更新参数
Figure BDA0002385808710000111
Figure BDA0002385808710000112
其中,
Figure BDA0002385808710000113
为所述二级任务调度解中第j行第i列元素的值,Dβ为各任务调度解与所述二级任务调度解的关联值:
Dβ=|C2·Xβ-X|(21)
其中,Xβ为所述二级任务调度解,C2为区间[0,2]内的随机值,根据前述公式4获得;
根据所述收敛系数a按预设修正规则获取第三修正系数A3,并根据所述三级任务调度解通过以下公式对各任务调度解进行计算,获得各任务调度解中第j行第i列元素的第三更新参数
Figure BDA0002385808710000114
Figure BDA0002385808710000115
其中,
Figure BDA0002385808710000116
为所述三级任务调度解中第j行第i列元素的值,Dδ为各任务调度解与所述三级任务调度解的关联值:
Dδ=|C3·Xδ-X|(23)
其中,Xδ为所述三级任务调度解,C3为区间[0,2]内的随机值,根据前述公式4获得;
需要说明的是,所述预设修正规则可为前述公式3。
根据所述第一更新参数
Figure BDA0002385808710000117
所述第二更新参数
Figure BDA0002385808710000118
和所述第三更新参数
Figure BDA0002385808710000119
通过以下公式对各任务调度解的进行更新:
Figure BDA00023858087100001110
其中
Figure BDA00023858087100001111
第h个任务调度解中第j行第i列元素的更新值,rand为区间(0,1]内的随机值,函数sigmoid(x)定义为:
Figure BDA00023858087100001112
将各任务调度解中第k个元素的更新值作为更新后的任务调度解。
按上述规则对所有任务调度解中的元素进行更新,则完成一次迭代。
需要说明的是,迭代次数可由用户预先设置,在达到预定次数后,结束迭代计算,得到最终的任务调度解。同时,重新计算所述最终的任务调度解的适应度,并重新标识一级任务调度解,获得迭代后的一级任务调度解。
步骤S60:将所述迭代后的一级任务调度解作为最优云任务调度解。
可以理解的是,在抽象的搜索空间中,对于猎物(即最优解)的位置并无法准确知晓,为了模拟灰狼的狩猎行为,假设α狼(即最优候选解)、β狼和δ狼知晓猎物的潜在位置,α狼与猎物距离最近,因此,迭代后的一级任务调度解即为最优候选解。
本发明根据预设编码规则对n个云任务和m个云资源之间的映射关系进行编码,获得多个任务调度解,各任务调度解表征为一个m行n列的二进制元素矩阵;再根据用户预设的约束参数计算每个任务调度解的适应度;然后,根据所述适应度按预设标识规则在获得的多个任务调度解中标识出一级任务调度解、二级任务调度解和三级任务调度解;并基于所述一级任务调度解、所述二级任务调度解和所述三级任务调度解,按照预设更新规则对每个任务调度解进行更新,获得更新后的任务调度解;对所述更新后的任务调度解进行迭代计算,获得迭代后的任务调度解和迭代后的一级任务调度解;最后将所述迭代后的一级任务调度解作为最优云任务调度解。本发明在同时存在任务预定完成时间和任务执行预算均有约束条件的情况下,能够实现任务执行时间和任务执行代价的同步均衡优化调度,并在整个过程中引入更多的随机性,可以提供决策空间中的全局搜索,避免局部最优。
为使任务调度过程更快收敛,提高寻优能力,本发明还提出了基于二进制编码的云任务调度方法的第二种实施例。
本实施例与第一种实施例的不同之处在于,为初始多个任务调度解中引入了两个较优的最小时间任务调度解和最小代价任务调度解。
所述最小时间任务调度解为云任务在云资源上执行时,执行时间最小的映射关系所对应的任务调度解;所述最小代价任务调度解为云任务在云资源上执行时,执行代价最小的映射关系对应的任务调度解。
可以理解的是,在云计算环境中,对于n个任务在m个资源上的调度解,理论上一共拥有mn种。求解该问题本质上是NP完全问题。初始种群的优劣对于群体智能算法的全局收敛速度和解的质量都有较大影响,初始种群的多样性可以提高算法的寻优能力。在初始多个任务调度解中引入了包括一个最小时间任务调度解和一个最小代价任务调度解,可以加速灰狼优化算法的搜索过程,避免收敛速度过慢
在本实施例中,获取所述最小时间任务调度解的具体过程为:基于所有n个任务在所有m个资源上的期望完成时间,找出每个任务的最早完成时间及其对应的执行资源;然后,从中找出具有最小的最早完成时间的任务,将该任务调度至对应的资源上执行;最后,完成该任务的调度后,更新资源的就绪时间并将已完成调度的任务从任务集中删除。重复以上过程,直到调度完所有的任务。
在本实施例中,获取所述最小代价任务调度解的具体过程为:基于所有n个任务在所有m个资源上的期望执行代价,找出每个任务的最小执行代价及其对应的执行资源;然后,从中找出具有最小的最小执行代价的任务,将该任务调度至对应的资源上执行;最后,完成该任务的调度后,更新资源的就绪时间并将已完成调度的任务从任务集中删除。重复以上过程,直到调度完所有的任务。
为使任务调度过程更快收敛,提高寻优能力,本发明还提出了基于二进制编码的云任务调度方法的第三种实施例。
参照图4,本实施例与第一种实施例的不同之处在于,所述根据预设规则确定各任务调度解对应的收敛系数a,具体包括:
步骤S701:获取预设的收敛系数初值;
步骤S702:根据每个任务调度解的适应度获取所有任务调度解对应的平均适应度,并判断各任务调度解的适应度是否大于或等于所述平均适应度;
步骤S703:若是,则按照预设衰减规则更新所述收敛系数初值,获得待更新任务调度解对应的收敛系数;
步骤S704:若否,则将所述收敛系数初值作为待更新任务调度解对应的收敛系数。
可以理解的是,在灰狼优化算法中,灰狼对猎物的包围行为由修正系数A决定,而修正系数A则由收敛系数a决定。收敛系数a决定了灰狼在搜索空间中的寻优能力以及局部开发和全局勘探能力。收敛系数a的计算公式(5)表明,a值是线性地从2递减至0的。对于灰狼优化算法而言,迭代初期较大的收敛系数a可以使灰狼拥有较大的搜索步长,具有更强的全部勘探能力,避免算法早熟和过快收敛;而迭代后期较小收敛系数a可以使灰狼拥有较小的搜索步长,具有更强的局部开发能力,提升灰狼在局部空间中的搜索能力,加快算法收敛。全局勘探可以保证灰狼种群的多样性,而局部开发则可以保证在局部的精确搜索,加快算法收敛。确保全局勘探能力和局部开发能力之间的平衡是灰狼种群寻优的重要基础。但是两者的寻优过程并不是线性切换的,收敛系数的线性递减并不能实际体现灰狼的搜索过程,尤其在出现多峰值情况时容易陷入局部最优状况。
在本实施例中,收敛系数的更新不采用前述公式5,通过如下衰减规则更新收敛系数初值:
Figure BDA0002385808710000141
其中,ainitial为预设的收敛系数初值,可以取值为2,Tmax表示算法的最大迭代次数,t表示当前迭代次数。
在本实施例中,收敛系数将呈非线性衰减趋势。迭代初期衰减速度较慢,这样可以更好的进行全局勘探,得到全局最优解;迭代后期衰减速度加快,可以更好的进行局部开发,得到局部最优解。收敛系数的非线性衰减模式也更好的平衡了灰狼优化算法的全局勘探和局部开发能力。
可以理解的是,任务调度解的适应度值是反映对应映射关系的执行质量的关键指标。故,在本实施例中,根据所述每个任务调度解的适应度fitnessh获取平均适应度fitnessavg。将待更新任务调度解的适应度fitnessh与整体平均适应度fitnessavg进行比较。如果待更新任务调度解的适应度值大于或等于整个种群的平均适应度(目标函数越大,适应度越差),则说明该待更新任务调度解目前距离猎物目标位置较近,可以利用上述公式(26)更新收敛系数;如果待更新任务调度解的适应度值小于整个种群的平均适应度,则说明该待更新任务调度解目前距离目标位置还较远,应该以更大的收敛系数增加灰狼的移动步长,向其他搜索空间勘探。因此在本实施例中,收敛系数a的更新公式可概况为:
Figure BDA0002385808710000142
此外,为实现上述目的,本发明还提出一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有云任务调度程序,所述云任务调度程序被处理器执行时实现如上述的基于二进制编码的云任务调度方法的步骤。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。词语第一、第二、以及第三等的使用不表示任何顺序,可将这些词语解释为标识。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器镜像(Read Only Memory image,ROM)/随机存取存储器(Random AccessMemory,RAM)、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (9)

1.基于二进制编码的云任务调度方法,其特征在于,所述方法包括以下步骤:
根据预设编码规则对n个云任务和m个云资源之间的映射关系进行编码,获得多个任务调度解,各任务调度解表征为一个m行n列的二进制元素矩阵;
根据用户预设的约束参数计算每个任务调度解的适应度,所述约束参数包括用户期望截止时间和用户期望预算中的至少一项;
根据所述适应度按预设标识规则在获得的多个任务调度解中标识出一级任务调度解、二级任务调度解和三级任务调度解;
基于所述一级任务调度解、所述二级任务调度解和所述三级任务调度解,按照预设更新规则对每个任务调度解进行更新,获得更新后的任务调度解;
对所述更新后的任务调度解进行迭代计算,获得迭代后的一级任务调度解;
将所述迭代后的一级任务调度解作为最优云任务调度解;
其中,所述根据用户预设的约束参数计算每个任务调度解的适应度,具体包括:
计算每个任务调度解的执行时间;
计算每个任务调度解的执行代价;
根据所述执行时间、所述执行代价以及用户预设的截止时间和代价总值通过以下公式计算每个任务调度解的适应度:
Figure FDA0003697274440000011
其中,fitness为任务调度解适应度,Time(T,R)为执行时间,Cost(T,R)为执行代价,Deadline为截止时间,Budget为代价总值,
Figure FDA0003697274440000012
为时间因子,
Figure FDA0003697274440000013
为代价因子,
Figure FDA0003697274440000014
2.如权利要求1所述的基于二进制编码的云任务调度方法,其特征在于,所述多个任务调度解中至少包括一个最小时间任务调度解,所述最小时间任务调度解为云任务在云资源上执行时,执行时间最小的映射关系所对应的任务调度解。
3.如权利要求1所述的基于二进制编码的云任务调度方法,其特征在于,所述多个任务调度解中至少包括一个最小代价任务调度解,所述最小代价任务调度解为云任务在云资源上执行时,执行代价最小的映射关系对应的任务调度解。
4.如权利要求1所述的基于二进制编码的云任务调度方法,其特征在于,所述计算每个任务调度解的执行时间,具体包括:
根据n个云任务分别在m个云资源上的执行时间,通过以下公式计算每个任务调度解的执行时间:
Figure FDA0003697274440000021
其中,t(Tb,Rg)为云任务Tb在云资源Rg上的执行时间,χ(Tb,Rg)为调度因子,
Figure FDA0003697274440000022
其中,π:T→R表示云任务集T与云资源集R的一种映射解。
5.如权利要求1所述的基于二进制编码的云任务调度方法,其特征在于,所述计算每个任务调度解的执行代价,具体包括:
根据n个云任务分别在m个云资源上的执行代价,通过以下公式计算每个任务调度解的执行代价:
Figure FDA0003697274440000023
其中,c(Tb,Rg)云任务Tb在云资源Rg上的执行代价,χ(Tb,Rg)为调度因子,
Figure FDA0003697274440000031
其中,π:T→R表示云任务集T与云资源集R的一种映射解。
6.如权利要求1所述的基于二进制编码的云任务调度方法,其特征在于,所述基于所述一级任务调度解、所述二级任务调度解和所述三级任务调度解,按照预设更新规则对每个任务调度解进行更新,获得更新后的任务调度解,具体包括:
根据预设规则确定各任务调度解对应的收敛系数;
根据所述收敛系数按预设修正规则获取第一修正系数A1,并根据所述一级任务调度解通过以下公式对各任务调度解进行计算,获得各任务调度解中第j行第i列元素的第一更新参数
Figure FDA0003697274440000032
Figure FDA0003697274440000033
其中,
Figure FDA0003697274440000034
为所述一级任务调度解中第j行第i列元素的值,Dα为关联值:
Dα=|C1·Xα-X|
其中,Xα为所述一级任务调度解,C1为区间[0,2]内的随机值,X为各任务调度解;
根据所述收敛系数按预设修正规则获取第二修正系数A2,并根据所述二级任务调度解通过以下公式对各任务调度解进行计算,获得各任务调度解中第j行第i列元素的第二更新参数
Figure FDA0003697274440000035
Figure FDA0003697274440000036
其中,
Figure FDA0003697274440000037
为所述二级任务调度解中第j行第i列元素的值,Dβ为关联值:
Dβ=|C2·Xβ-X|
其中,Xβ为所述二级任务调度解,C2为区间[0,2]内的随机值;
根据所述收敛系数按预设修正规则获取第三修正系数A3,并根据所述三级任务调度解通过以下公式对各任务调度解进行计算,获得各任务调度解中第j行第i列元素的第三更新参数
Figure FDA0003697274440000038
Figure FDA0003697274440000041
其中,
Figure FDA0003697274440000042
为所述三级任务调度解中第j行第i列元素的值,Dδ为关联值:
Dδ=|C3·Xδ-X|
其中,Xδ为所述三级任务调度解,C3为区间[0,2]内的随机值;
根据所述第一更新参数
Figure FDA0003697274440000043
所述第二更新参数
Figure FDA0003697274440000044
和所述第三更新参数
Figure FDA0003697274440000045
通过以下公式对各任务调度解的进行更新:
Figure FDA0003697274440000046
其中
Figure FDA0003697274440000047
为第h个任务调度解中第j行第i列元素的更新值,rand为区间(0,1]内的随机值,函数sigmoid(x)定义为:
Figure FDA0003697274440000048
将各任务调度解中第k个元素的更新值作为更新后的任务调度解。
7.如权利要求6所述的基于二进制编码的云任务调度方法,其特征在于,所述根据预设规则确定各任务调度解对应的收敛系数,具体包括:
获取预设的收敛系数初值;
根据每个任务调度解的适应度获取所有任务调度解对应的平均适应度,并判断各任务调度解的适应度是否大于或等于所述平均适应度;
若是,则按照预设衰减规则更新所述收敛系数初值,获得该任务调度解对应的收敛系数;
若否,则将所述收敛系数初值作为该任务调度解对应的收敛系数。
8.一种服务器,其特征在于,所述服务器包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的云任务调度程序,所述云任务调度程序配置为实现如权利要求1至7中任一项所述的基于二进制编码的云任务调度方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有云任务调度程序,所述云任务调度程序被处理器执行时实现如权利要求1至7任一项所述的基于二进制编码的云任务调度方法的步骤。
CN202010097782.0A 2020-02-17 2020-02-17 基于二进制编码的云任务调度方法、服务器及存储介质 Expired - Fee Related CN111343259B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010097782.0A CN111343259B (zh) 2020-02-17 2020-02-17 基于二进制编码的云任务调度方法、服务器及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010097782.0A CN111343259B (zh) 2020-02-17 2020-02-17 基于二进制编码的云任务调度方法、服务器及存储介质

Publications (2)

Publication Number Publication Date
CN111343259A CN111343259A (zh) 2020-06-26
CN111343259B true CN111343259B (zh) 2022-08-12

Family

ID=71186913

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010097782.0A Expired - Fee Related CN111343259B (zh) 2020-02-17 2020-02-17 基于二进制编码的云任务调度方法、服务器及存储介质

Country Status (1)

Country Link
CN (1) CN111343259B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112579280B (zh) * 2020-12-30 2022-11-29 奇瑞汽车股份有限公司 云资源的调度方法、装置及计算机存储介质
CN114064249A (zh) * 2021-11-23 2022-02-18 广东省华南技术转移中心有限公司 混合云的跨云计算任务的调度方法、装置以及存储介质
CN114300383A (zh) * 2021-12-14 2022-04-08 上海华力集成电路制造有限公司 一种晶圆投片方法、存储介质、仿真模组和光刻排产设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107783831A (zh) * 2016-08-24 2018-03-09 深圳市中兴微电子技术有限公司 一种任务调度方法及装置
CN108694077A (zh) * 2017-04-10 2018-10-23 中国科学院声学研究所 基于改进二进制蝙蝠算法的分布式系统任务调度方法
CN108769105A (zh) * 2018-04-12 2018-11-06 昆明理工大学 一种云环境下的知识服务多任务调度优化方法及其构建的调度系统
CN110020711A (zh) * 2019-03-25 2019-07-16 湖北工业大学 一种采用灰狼优化算法的大数据分析方法
CN110147274A (zh) * 2019-05-21 2019-08-20 武汉轻工大学 多目标云任务均衡调度方法、服务器及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107783831A (zh) * 2016-08-24 2018-03-09 深圳市中兴微电子技术有限公司 一种任务调度方法及装置
CN108694077A (zh) * 2017-04-10 2018-10-23 中国科学院声学研究所 基于改进二进制蝙蝠算法的分布式系统任务调度方法
CN108769105A (zh) * 2018-04-12 2018-11-06 昆明理工大学 一种云环境下的知识服务多任务调度优化方法及其构建的调度系统
CN110020711A (zh) * 2019-03-25 2019-07-16 湖北工业大学 一种采用灰狼优化算法的大数据分析方法
CN110147274A (zh) * 2019-05-21 2019-08-20 武汉轻工大学 多目标云任务均衡调度方法、服务器及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
GWOTS: GreyWolf Optimization based Task Scheduling at the Green Cloud Data Center;Natesha B V;《IEEE》;20190502;第3节 *
Natesha B V.GWOTS: GreyWolf Optimization based Task Scheduling at the Green Cloud Data Center.《IEEE》.2019, *

Also Published As

Publication number Publication date
CN111343259A (zh) 2020-06-26

Similar Documents

Publication Publication Date Title
CN111343259B (zh) 基于二进制编码的云任务调度方法、服务器及存储介质
Gront et al. Generalized fragment picking in Rosetta: design, protocols and applications
CN110147274B (zh) 多目标云任务均衡调度方法、服务器及存储介质
CN111461226A (zh) 对抗样本生成方法、装置、终端及可读存储介质
CN110321217B (zh) 一种多目标的云资源调度方法、装置、设备及存储介质
CN112766493B (zh) 多任务神经网络的训练方法、装置、电子设备及存储介质
CN110827924B (zh) 基因表达数据的聚类方法、装置、计算机设备及存储介质
CN111274020A (zh) 基于樽海鞘群的云任务调度方法、装置、设备及存储介质
CN109308497A (zh) 一种基于多标签网络的多向量表示学习方法
CN113065045B (zh) 对用户进行人群划分、训练多任务模型的方法和装置
Mizera et al. ASSA-PBN: an approximate steady-state analyser of probabilistic Boolean networks
CN110609870A (zh) 分布式数据处理方法、装置、电子设备及存储介质
CN111258743B (zh) 基于离散编码的云任务调度方法、装置、设备及存储介质
Tatsuke et al. Sampling strategy for protein complex prediction using cluster size frequency
CN112070542A (zh) 信息转化率预测方法、装置、设备及可读存储介质
CN107516020B (zh) 序列位点重要度的确定方法、装置、设备及存储介质
US7877335B2 (en) System and method for learning a network of categories using prediction
CN111367661A (zh) 基于樽海鞘群的云任务调度方法、装置、设备及存储介质
Yosef et al. Improved network-based identification of protein orthologs
CN110210072B (zh) 基于近似模型及差分进化算法求解高维优化问题的方法
WO2024004076A1 (ja) 情報処理システム、情報処理方法およびプログラム
CN114897290A (zh) 业务流程的演化识别方法、装置、终端设备以及存储介质
Gupta et al. A hybrid metaheuristic and machine learning algorithm for optimal task scheduling in cloud computing
US20220178899A1 (en) Manufacturing a biologic pharmaceutical using causal models
Masadeh Whale optimization algorithm applied to the 0/1 knapsack problem

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20220812