CN104915255A - 一种可分任务多趟调度模型的求解方法及系统 - Google Patents

一种可分任务多趟调度模型的求解方法及系统 Download PDF

Info

Publication number
CN104915255A
CN104915255A CN201510256211.6A CN201510256211A CN104915255A CN 104915255 A CN104915255 A CN 104915255A CN 201510256211 A CN201510256211 A CN 201510256211A CN 104915255 A CN104915255 A CN 104915255A
Authority
CN
China
Prior art keywords
mrow
msub
task
module
msubsup
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510256211.6A
Other languages
English (en)
Other versions
CN104915255B (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.)
Xidian University
Original Assignee
Xidian 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 Xidian University filed Critical Xidian University
Priority to CN201510256211.6A priority Critical patent/CN104915255B/zh
Publication of CN104915255A publication Critical patent/CN104915255A/zh
Application granted granted Critical
Publication of CN104915255B publication Critical patent/CN104915255B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种可分任务多趟调度模型的求解方法及系统,通过建立可分任务多趟调度模型,并利用智能优化算法求解该模型。本发明的可分任务多趟调度模型通过消除任意相邻两趟调度之间的时间间隔,推导得到任务分配方案关于调度趟数和处理机数目的解析解。本发明提出的求解该模型的智能优化算法能够高效准确地求出最优的调度趟数和所需的机器数,从而得到满足可分任务完成时间最短的最优任务分配方案。

Description

一种可分任务多趟调度模型的求解方法及系统
技术领域
本发明属于信息技术相关领域,涉及一种可分任务多趟调度模型的求解方法及系统。
背景技术
现有的可分任务调度模型分为两类:单趟调度和多趟调度。对于单趟调度,主处理机将任务分成与从处理机个数相同的子任务,主处理机依次为从处理机传输任务,每个处理机仅接收并计算一次任务。由于后分配任务的处理机存在较长的空闲等待时间,因此,单趟调度并不适合大规模的数据应用问题。对于多趟调度,任务被划分为大于处理机数目的子任务,并由主处理机分多趟逐一发送给各从处理机完成计算。由于处理机的空闲等待时间变短,因此相比于单趟调度,多趟调度可以缩短整个任务的完成时间。对于多趟调度,最大的难点在于确定最优的调度趟数、最优的参与计算的处理机数目和最优的任务分配方案,即每趟调度各个处理机的任务分配量。
Shokripour等人[1]将多趟调度分为内部调度和最后一趟调度两部分。由于该模型内部调度和最后一趟调度之间存在时间间隔,因此该模型没有得到任务的最短完成时间。Suresh等人[2]提出了一种混合实数编码遗传算法用于求解多趟调度的最优任务分配方案。然而,该算法无法得到最优的调度趟数和最优的参与计算的处理机数目。同时,随着处理机数目的增加,该算法的复杂度以指数形式增加。当处理机数目很大时,算法很难收敛到全局最优解。
发明内容
针对上述现有技术存在的缺陷或不足,本发明的目的在于,提出了一种可分任务多趟调度模型的求解方法及系统。
为实现上述目的,本发明采用以下技术方案:
一种可分任务多趟调度模型的求解方法,包括以下步骤:
步骤1,建立可分任务多趟调度模型
步骤1.1,给定调度趟数和处理机数目,构建可分任务的分配方案如下:
αij=γijijαnm,i=1,2,...,n,j=1,2,...,m   式19
其中,
α nm = W total - Σ i = 1 n Σ j = 1 m γ ij Σ i = 1 n Σ j = 1 m η ij    式22
P0为主处理机,{Pi|i∈{1,2,...,N}}为从处理机;{Li|i∈{1,2,...,N}}为P0连接到从处理机Pi的通信链路;si为从处理机Pi的计算启动开销;wi为计算单位任务所需的时间;oi为链路Li的通信启动开销记;gi为传输单位任务所花费的时间;m为调度趟数;n为参与调度的从处理机的数目,其中,0<n≤N;Wtotal为总任务量;
αij为调度主处理机P0在第j趟分配给从处理机Pi的任务大小;αnm为主处理机P0在第m趟分配给从处理机Pn的任务大小;oj+1为链路Lj+1的通信启动开销;sj为从处理机Pj的计算启动开销;gk+1为链路Lk+1传输单位任务所花费的时间;wk+1为从处理机Pk+1计算单位任务所需的时间;wj+1为从处理机Pj+1计算单位任务所需的时间;gj+1为链路Lj+1传输单位任务所花费的时间;ok为链路Lk的通信启动开销;
步骤1.2,建立可分任务的多趟调度模型如下:
min m , n T = min m , n ( m Σ i = 1 n o i + Σ i = 1 n Σ j = 1 m g i α ij + s n + w n α nm )
此模型的约束条件为:
(I)0<n≤N;
(II)m≥2;
(III)αij=γijijαnm,其中,γij、ηij和αnm分别满足式20、式21和式22;
(IV)0<αij≤Wtotal,i=1,2,...,n,j=1,2,...,m;
步骤2,求解可分任务多趟调度模型
求解可分任务多趟调度模型,得到最优调度趟数、参与计算的处理机数目和任务分配方案,从而得到任务的最短完成时间。
具体地,所述的步骤2的具体实现步骤如下:
步骤2.1:记Tbest为当前已找到的最优解对应的任务完成时间,初始化Tbest=∞,初始化参与计算的处理机数目n为N,初始化调度趟数m为2;
步骤2.2:将n和m带入式19,计算任务的分配方案αij,其中,i=1,2,...,n,j=1,2,...,m;
步骤2.3:若i=1,2,...,n,j=1,2,...,m,则令n=n-1,转向步骤2.2,否则,由公式计算出任务的完成时间T;
步骤2.4:若T<Tbest,则令Tbest=T,m=m+1,转向步骤2.2;否则,令m=m-1,算法终止,输出最优调度趟数m,参与调度的处理机数目n,任务分配方案αij和任务的最短完成时间Tbest
具体地,所述的步骤2.2具体实现步骤如下:
步骤2.2.1:令i=n,j=m,γnm=0,ηnm=1;
步骤2.2.2:令i=i-1;i≥1,计算 γ ij = Σ j = i n - 1 ( o j + 1 + s j + 1 - s j w j Π k = i j - 1 g k + 1 + w k + 1 w k ) , 重复步骤2.2.2;否则,若i<1,转到步骤2.2.3;
步骤2.2.3:令j=j-1;j<1,转到步骤2.2.5;否则,若j≥1,令i=n,转步骤2.2.4;
步骤2.2.4:计算 γ ij = Σ k = i + 1 n ( o k + g k γ kj ) + Σ k = 1 i - 1 ( o k + g k γ k , j + 1 ) - s i w i , i=i-1;i≥1,重复步骤2.2.4;否则,若i<1,转到步骤2.2.3;
步骤2.2.5:将γij和ηij代入公式从而得到处理机Pn在第m趟调度中被分配的任务量αnm
步骤2.2.6:令j=1,2,...,m,将γij,ηij和αnm带入公式从而得到任务的分配方案αij
一种用于上述方法的系统,包括依次连接的可分任务多趟调度模型建立模块和可分任务多趟调度模型求解模块;
所述的可分任务多趟调度模型建立模块包括子模块11和子模块12,其中子模块11用于实现以下功能:
给定调度趟数和处理机数目,构建可分任务的分配方案如下:
αij=γijijαnm,i=1,2,...,n,j=1,2,...,m   式19
其中,
α nm = W total - Σ i = 1 n Σ j = 1 m γ ij Σ i = 1 n Σ j = 1 m η ij    式22
P0为主处理机,{Pi|i∈{1,2,...,N}}为从处理机;{Li|i∈{1,2,...,N}}为P0连接到从处理机Pi的通信链路;si为从处理机Pi的计算启动开销;wi为计算单位任务所需的时间;oi为链路Li的通信启动开销记;gi为传输单位任务所花费的时间;m为调度趟数;n为参与调度的从处理机的数目,其中,0<n≤N;Wtotal为总任务量;
αij为调度主处理机P0在第j趟分配给从处理机Pi的任务大小;αnm为主处理机P0在第m趟分配给从处理机Pn的任务大小;oj+1为链路Lj+1的通信启动开销;sj为从处理机Pj的计算启动开销;gk+1为链路Lk+1传输单位任务所花费的时间;wk+1为从处理机Pk+1计算单位任务所需的时间;wj+1为从处理机Pj+1计算单位任务所需的时间;gj+1为链路Lj+1传输单位任务所花费的时间;ok为链路Lk的通信启动开销;
子模块12用于实现以下功能:
建立可分任务的多趟调度模型如下:
min m , n T = min m , n ( m Σ i = 1 n o i + Σ i = 1 n Σ j = 1 m g i α ij + s n + w n α nm )
此模型的约束条件为:
(I)0<n≤N;
(II)m≥2;
(III)αij=γijijαnm,其中,γij、ηij和αnm分别满足式20、式21和式22;
(IV)0<αij≤Wtotal,i=1,2,...,n,j=1,2,...,m;
所述的可分任务多趟调度模型求解模块用于实现以下功能:
求解可分任务多趟调度模型,得到最优调度趟数、参与计算的处理机数目和任务分配方案,从而得到任务的最短完成时间。
具体地,所述的可分任务多趟调度模型求解模块,包括子模块21、子模块22、子模块23和子模块24,其中,
所述的子模块21用于实现以下功能:
记Tbest为当前已找到的最优解对应的任务完成时间,初始化Tbest=∞,初始化参与计算的处理机数目n为N,初始化调度趟数m为2;
所述的子模块22用于实现以下功能:
将n和m带入式19,计算任务的分配方案αij,其中,j=1,2,...,m;
所述的子模块23用于实现以下功能:
i=1,2,...,n,j=1,2,...,m,则令n=n-1,进入子模块22,否则,由公式 T = m Σ i = 1 n o i + Σ i = 1 n Σ j = 1 m g i α ij + s n + w n α nm 计算出任务的完成时间T;
所述的子模块24用于实现以下功能:
若T<Tbest,则令Tbest=T,m=m+1,进入子模块22;否则,令m=m-1,算法终止,输出最优调度趟数m,参与调度的处理机数目n,任务分配方案αij和任务的最短完成时间Tbest
具体地,所述的子模块22包括子模块221、子模块222、子模块223、子模块224、子模块225和子模块226,其中,
所述的子模块221用于实现以下功能:
令i=n,j=m,γnm=0,ηnm=1;
所述的子模块222用于实现以下功能:
令i=i-1;i≥1,计算 γ ij = Σ j = i n - 1 ( o j + 1 + s j + 1 - s j w j Π k = i j - 1 g k + 1 + w k + 1 w k ) , 重复进入子模块222;否则,若i<1,进入子模块223;
所述的子模块223用于实现以下功能:
令j=j-1;j<1,进入子模块225;否则,若j≥1,令i=n,进入子模块224;
所述的子模块224用于实现以下功能:
计算 γ ij = Σ k = i + 1 n ( o k + g k γ kj ) + Σ k = 1 i - 1 ( o k + g k γ k , j + 1 ) - s i w i , i=i-1;i≥1,重复进入子模块224;否则,若i<1,进入子模块223;
所述的子模块225用于实现以下功能:
将γij和ηij代入公式从而得到处理机Pn在第m趟调度中被分配的任务量αnm
所述的子模块226用于实现以下功能:
令i=1,2,...,n,j=1,2,...,m,将γij,ηij和αnm带入公式αij=γijijαnm,从而得到任务的分配方案αij
与现有技术相比,本发明具有以下技术效果:
1、本发明针对大规模数据应用的任务调度问题,通过消除任意相邻两趟调度之间的时间间隔,推导得到任务分配方案关于调度趟数和处理机数目的解析解,建立了以任务的最短完成时间为目标的可分任务多趟调度模型。相比现有技术,该模型更加合理且有效。
2、本发明针对所提出的可分任务多趟调度模型,设计了一种智能优化算法对模型进行求解。该智能优化算法能够高效准确地求出最优的调度趟数和最优的参与计算的处理机数目,从而得到满足可分任务完成时间最短的最优任务分配方案,节省了时间开销,提高了效率。
附图说明
图1为满足问题描述的星型网络示意图;
图2为满足约束的可分任务多趟调度图;
图3为本发明的求解方法流程图;
图4为可分任务多趟调度模型的求解方法流程图;
图5为实现本发明的求解方法的系统框图;
下面结合附图和实施例对本发明的方案作进一步详细地解释和说明。
具体实施方式
实施例一
遵从上述技术方案,本实施例的可分任务多趟调度模型的求解方法,具体包括以下步骤:
步骤1,建立可分任务多趟调度模型
参见图1,记处理机的总数为N+1,P0为主处理机,{Pi|i∈{1,2,...,N}}为从处理机,{Li|i∈{1,2,...,N}}为P0连接到从处理机Pi的通信链路。从处理机Pi的计算启动开销记为si,计算单位任务所需的时间为wi。链路Li的通信启动开销记为oi,传输单位任务所花费的时间为gi,所述的单位任务的大小可根据需要确定,本发明中设为1MB。调度趟数记为m,参与调度的处理机数目记为n,其中,0<n≤N。Wtotal为总任务量。参见附图2,调度主处理机P0在第j趟分配给从处理机Pi的任务大小为αij,则任务分配方案αij满足下式:
Σ i = 1 n Σ j = 1 m α ij = W total , α ij > 0 . - - - ( 1 )
步骤1.1,由任务的完成时间最短,最后一趟调度中所有参与调度的处理机必须同时完成计算,以及除了最后一趟调度,每个处理机在任意相邻的两趟调度之间都不能存在时间间隔,得到任务的分配方案。
步骤1.1.1,为使任务的完成时间最短,最后一趟调度中所有参与调度的处理机必须同时完成计算。因此可得:
si+wiαim=oi+1+si+1+(gi+1+wi+1i+1,m,i=1,2,...,n-1   (2)
其中,αim表示主处理机P0在第m趟分配给从处理机Pi的任务大小;oi+1表示链路Li+1的通信启动开销;si+1表示从处理机Pi+1的计算启动开销;gi+1表示链路Li+1传输单位任务所花费的时间;wi+1表示从处理机Pi+1计算单位任务所需的时间;αi+1,m表示主处理机P0在第m趟分配给从处理机Pi+1的任务大小。
整理式(2),可得:
α im = o i + 1 + s i + 1 - s i w i + g i + 1 + w i + 1 w i α i + 1 , m . - - - ( 3 )
μ i = o i + 1 + s i + 1 - s i w i , λ i = g i + 1 + w i + 1 w i . 则公式(3)可以表示为:
αim=μiiαi+1,m,i=1,2,...,n-1.   (4)
由公式(4)可得,每个处理机在最后一趟调度所分配的任务量αim可以用αnm来表示,即:
αim=γimimαnm,i=1,2,...,n-1.   (5)
其中,
γ im = Σ j = i n - 1 ( μ j Π k = i j - 1 λ k ) = Σ j = i n - 1 ( o j + 1 + s j + 1 - s j w j × Π k = i j - 1 g k + 1 + w k + 1 w k ) - - - ( 6 )
η im = Π j = i n - 1 λ j = Π j = i n - 1 ( g j + 1 + w j + 1 w j ) - - - ( 7 )
αnm表示主处理机P0在第m趟分配给从处理机Pn的任务大小;oj+1表示链路Lj+1的通信启动开销;sj+1表示从处理机Pj+1的计算启动开销;sj表示从处理机Pj的计算启动开销;gk+1表示链路Lk+1传输单位任务所花费的时间;wk+1表示从处理机Pk+1计算单位任务所需的时间;wj+1表示从处理机Pj+1计算单位任务所需的时间;gj+1表示链路Lj+1传输单位任务所花费的时间。
步骤1.1.2,为使任务完成时间最短,除了最后一趟调度,每个处理机在任意相邻的两趟调度之间都不能存在时间间隔。参见附图2,在第j趟调度中从处理机Pi计算其任务分配量αij期间,主处理机P0需要分别向从处理机Pi+1,...,Pn传输完第j趟调度待计算的子任务αi+1,j,...,αn,j,并需要分别向处理机P1,...,Pi-1传输完第j+1趟调度待计算的子任务α1,j,...,αi-1,j。因此可以得到:
s i + w i α ij = Σ k = i + 1 n ( o k + g k α kj ) + Σ k = 1 i - 1 ( o k + g k α k , j + 1 ) - - - ( 8 )
其中,i=1,2,...,n,j=1,2,m-1,ok表示链路Lk的通信启动开销,gk表示链路Lk传输单位任务所花费的时间,αkj表示主处理机P0在第j趟分配给从处理机Pk的任务大小,αk,j+1表示主处理机P0在第j+1趟分配给从处理机Pk的任务大小。
将i=n和j=m-1代入公式(8),可以得到:
s n + w n α n , m - 1 = Σ k = 1 n - 1 ( o k + g k α km ) - - - ( 9 )
其中,sn表示从处理机Pn的计算启动开销;wn表示从处理机Pn计算单位任务所需的时间;αn,m-1表示主处理机P0在第m-1趟分配给从处理机Pn的任务大小;αkm表示主处理机P0在第m趟分配给从处理机Pk的任务大小。
整理公式(9),可得αn,m-1可以重新表示为:
α n , m - 1 = 1 w n [ Σ k = 1 n - 1 ( o k + g k α km ) - s n ] - - - ( 10 )
将公式(5)代入公式(10),可得:
α n , m - 1 = 1 w n { Σ k = 1 n - 1 [ o k + g k ( γ km + η km α nm ) ] - s n } = Σ k = 1 n - 1 ( o k + g k γ km ) - s n w n + Σ k = 1 n - 1 ( g k η km ) w n α nm - - - ( 11 )
γ n , m - 1 = Σ k = 1 n - 1 ( o k + g k γ km ) - s n w n , η n , m - 1 = Σ k = 1 n - 1 ( g k η km ) w n . 则公式(11)可以表示为:
αn,m-1=γn,m-1n,m-1αnm   (12)
同理,将i=n-1和j=m-1代入公式(8),可以得到:
s n - 1 + w n - 1 α n - 1 , m - 1 = o n + g n α n , m - 1 + Σ k = 1 n - 2 ( o k + g k α km ) - - - ( 13 )
将公式(5)和公式(11)代入公式(13)得:
α n - 1 , m - 1 = o n + g n γ n , m - 1 + Σ k = 1 n - 1 ( o k + g k γ km ) - s n - 1 w n - 1 + g n η n , m - 1 + Σ k = 1 n - 2 ( g k η km ) w n - 1 α nm - - - ( 14 )
γ n - 1 , m - 1 = o n + g n γ n , m - 1 + Σ k = 1 n - 1 ( o k + g k γ km ) - s n - 1 w n - 1 , η n - 1 , m - 1 = g n η n , m - 1 + Σ k = 1 n - 1 ( g n η km ) w n - 1 . 则公式(14)可以重新表示为:
αn-1,m-1=γn-1,m-1n-1,m-1αnm   (15)
因此,处理机Pi在第m-1趟调度分配的任务量αi,m-1可以用αnm表示为:
αi,m-1=γi,m-1i,m-1αnm,i=1,2,...,n-1   (16)其中, γ i , m - 1 = Σ k = i + 1 n ( o k + g k γ k , m - 1 ) + Σ k = 1 i - 1 ( o k + g k γ km ) - s i w i , η i , m - 1 = Σ k = i + 1 n ( g k η k , m - 1 ) + Σ k = 1 i - 1 ( g k η km ) w i .
同样地,处理机Pi在第m-2趟调度分配的任务量αi,m-2可以用αnm表示为:
αi,m-2=γi,m-2i,m-2αnm,i=1,2,...,n-1   (17)其中, γ i , m - 2 = Σ k = i + 1 n ( o k + g k γ k , m - 1 ) + Σ k = 1 i - 1 ( o k + g k γ km ) - s i w i , η i , m - 2 = Σ k = i + 1 n ( g k η k , m - 1 ) + Σ k = 1 i - 1 ( g k η km ) w i .
递推下去,处理机Pi(i=n-1,n-2,...,1)在第j趟调度(j=m-1,m-2,...,1)分配的任务量可以用αnm表示为:
αij=γijijαnm   (18)其中 γ ij = Σ k = i + 1 n ( o k + g k γ kj ) + Σ k = 1 i - 1 ( o k + g k γ k , j + 1 ) - s i w i , η ij = Σ k = i + 1 n ( g k η kj ) + Σ k = 1 i - 1 ( g k η k , j + 1 ) w i .
结合公式(5)和公式(18),当i=1,2,...,n,j=1,2,...,m时,任务分配方案αij可以表示为:
αij=γijijαnm   (19)
其中,
α nm = W total - Σ i = 1 n Σ j = 1 m γ ij Σ i = 1 n Σ j = 1 m η ij - - - ( 22 )
步骤1.2,建立可分任务的多趟调度模型如下:
min m , n T = min m , n ( m Σ i = 1 n o i + Σ i = 1 n Σ j = 1 m g i α ij + s n + w n α nm )
此模型的约束条件为:
(i)0<n≤N;
(ii)m≥2;
(iii)αij=γijijαnm,其中,γij、ηij和αnm分别满足公式(20)、(21)和(22);
(iv)0<αij≤Wtotal,i=1,2,...,n,j=1,2,...,m。
步骤2,求解可分任务多趟调度模型
步骤2.1:记Tbest为当前已找到的最优解对应的任务完成时间,初始化Tbest=∞,初始化参与计算的从处理机数目n为N,初始化调度趟数m为2;
步骤2.2:将n和m带入公式(19),计算任务的分配方案αij,其中,i=1,2,...,n,j=1,2,...,m。
步骤2.2.1:令i=n,j=m,γnm=0,ηnm=1;
步骤2.2.2:令i=i-1。若i≥1,计算 γ ij = Σ j = i n - 1 ( o j + 1 + s j + 1 - s j w j Π k = i j - 1 g k + 1 + w k + 1 w k ) , 重复步骤2.2.2;否则,若i<1,转到步骤2.2.3;
步骤2.2.3:令j=j-1。若j<1,转到步骤2.2.5;否则,若j≥1,令i=n,转步骤2.2.4;
步骤2.2.4:计算 γ ij = Σ k = i + 1 n ( o k + g k γ kj ) + Σ k = 1 i - 1 ( o k + g k γ k , j + 1 ) - s i w i , 令i=i-1。若i≥1,重复步骤2.2.4;否则,若i<1,转到步骤2.2.3;
步骤2.2.5:将γij和ηij代入公式从而得到从处理机Pn在第m趟调度中被分配的任务量αnm
步骤2.2.6:令,j=1,2,...,m,将γij,ηij和αnm带入公式从而得到任务的分配方案αij
步骤2.3:若i=1,2,...,n,j=1,2,...,m,则令n=n-1,转向步骤2.2,否则,由公式计算出任务的完成时间T;
步骤2.4:若T<Tbest,则令Tbest=T,m=m+1,转向步骤2.2;否则,令m=m-1,算法终止,输出最优调度趟数m,参与调度的处理机数目n,任务分配方案αij和任务的最短完成时间Tbest
实施例二
本实施例的用于实现可分任务多趟调度模型的求解方法的系统,包括依次连接的可分任务多趟调度模型建立模块和可分任务多趟调度模型求解模块;
所述的可分任务多趟调度模型建立模块包括子模块11和子模块12,其中子模块11用于实现以下功能:
给定调度趟数和处理机数目,构建可分任务的分配方案如下:
αij=γijijαnm,i=1,2,...,n,j=1,2,...,m   (19)
其中,
α nm = W total - Σ i = 1 n Σ j = 1 m γ ij Σ i = 1 n Σ j = 1 m η ij - - - ( 22 )
P0为主处理机,{Pi|i∈{1,2,...,N}}为从处理机;{Li|i∈{1,2,...,N}}为P0连接到从处理机Pi的通信链路;si为从处理机Pi的计算启动开销;wi为计算单位任务所需的时间;oi为链路Li的通信启动开销记;gi为传输单位任务所花费的时间;m为调度趟数;n为参与调度的从处理机的数目,其中,0<n≤N;Wtotal为总任务量;
αij为调度主处理机P0在第j趟分配给从处理机Pi的任务大小;αnm为主处理机P0在第m趟分配给从处理机Pn的任务大小;oj+1为链路Lj+1的通信启动开销;sj为从处理机Pj的计算启动开销;gk+1为链路Lk+1传输单位任务所花费的时间;wk+1为从处理机Pk+1计算单位任务所需的时间;wj+1为从处理机Pj+1计算单位任务所需的时间;gj+1为链路Lj+1传输单位任务所花费的时间;ok为链路Lk的通信启动开销;
子模块12用于实现以下功能:
建立可分任务的多趟调度模型如下:
min m , n T = min m , n ( m Σ i = 1 n o i + Σ i = 1 n Σ j = 1 m g i α ij + s n + w n α nm )
此模型的约束条件为:
(I)0<n≤N;
(II)m≥2;
(III)αij=γijijαnm,其中,γij、ηij和αnm分别满足式(20)、式(21)和式(22);
(IV)0<αij≤Wtotal,i=1,2,...,n,j=1,2,...,m;
所述的可分任务多趟调度模型求解模块用于实现以下功能:
求解可分任务多趟调度模型,得到最优调度趟数、参与计算的处理机数目和任务分配方案,从而得到任务的最短完成时间。
具体地,所述的分任务多趟调度模型求解模块,包括子模块21、子模块22、子模块23和子模块24,其中,
所述的子模块21用于实现以下功能:
记Tbest为当前已找到的最优解对应的任务完成时间,初始化Tbest=∞,初始化参与计算的处理机数目n为N,初始化调度趟数m为2;
所述的子模块22用于实现以下功能:
将n和m带入式19,计算任务的分配方案αij,其中,j=1,2,...,m;
所述的子模块23用于实现以下功能:
i=1,2,...,n,j=1,2,...,m,则令n=n-1,进入模块22,否则,由公式 T = m Σ i = 1 n o i + Σ i = 1 n Σ j = 1 m g i α ij + s n + w n α nm 计算出任务的完成时间T;
所述的子模块24用于实现以下功能:
若T<Tbest,则令Tbest=T,m=m+1,进入模块22;否则,令m=m-1,算法终止,输出最优调度趟数m,参与调度的处理机数目n,任务分配方案αij和任务的最短完成时间Tbest
具体地,所述的子模块22包括子模块221、子模块222、子模块223、子模块224、子模块225和子模块226,其中,
所述的子模块221用于实现以下功能:
令i=n,j=m,γnm=0,ηnm=1;
所述的子模块222用于实现以下功能:
令i=i-1;i≥1,计算 γ ij = Σ j = i n - 1 ( o j + 1 + s j + 1 - s j w j Π k = i j - 1 g k + 1 + w k + 1 w k ) , 重复进入子模块222;否则,若i<1,进入子模块223;
所述的子模块223用于实现以下功能:
令j=j-1;j<1,进入子模块225;否则,若j≥1,令i=n,进入子模块224;
所述的子模块224用于实现以下功能:
计算 γ ij = Σ k = i + 1 n ( o k + g k γ kj ) + Σ k = 1 i - 1 ( o k + g k γ k , j + 1 ) - s i w i , i=i-1;i≥1,重复进入子模块224;否则,若i<1,进入子模块223;
所述的子模块225用于实现以下功能:
将γij和ηij代入公式从而得到处理机Pn在第m趟调度中被分配的任务量αnm
所述的子模块226用于实现以下功能:
令i=1,2,...,n,j=1,2,...,m,将γij,ηij和αnm带入公式αij=γijijαnm,从而得到任务的分配方案αij
实验结果
针对提出的可分任务多趟调度模型和算法,进行了多组对比实验。实验参数设置如下:从处理机总数N=15。表1给出了异构并行与分布式系统下从处理机的相关参数。表2给出了三种算法关于不同任务量和不同调度顺序的实验结果。其中,MISA代表了参考文献[1]中提出的算法,RCGA代表了参考文献[2]中提出的多趟调度混合实数编码遗传算法,NMISA代表了本发明提出的求解可分任务多趟调度模型的算法。S1表示处理机按照通信链路传输单位任务所需时间gi渐增的顺序作为调度顺序,S2表示处理机按照其计算单位任务所需时间wi渐增的顺序作为调度顺序,S3表示处理机按照gi/(gi+wi)递增的顺序作为调度顺序。
表1.异构并行与分布式系统下从处理机的相关参数
P o s g w
p1 14.11 11.59 0.44 4.82
p2 6.04 1.28 0.65 12.68
p3 16.29 1.91 0.59 6.90
p4 17.25 7.47 0.66 15.04
p5 17.43 18.99 0.15 6.06
p6 10.50 2.07 0.64 9.90
p7 9.37 12.45 0.25 10.80
p8 5.28 16.60 0.23 13.64
p9 11.78 18.22 0.38 4.78
p10 13.90 5.88 0.62 9.92
p11 3.13 13.52 0.43 3.62
p12 11.50 3.06 0.08 13.32
p13 5.69 5.92 0.14 6.36
p14 6.02 19.60 0.69 6.68
p15 5.57 4.26 0.13 10.78
表2.三种算法关于不同任务量和不同调度顺序的实验结果
通过表2可以看出,处理机的调度顺序、参与调度的处理机数目和调度趟数都会较大程度地影响任务的最短完成时间。对于同样大小的任务,在相同的调度顺序下,本发明提出的算法求得的任务完成时间要明显小于其他两个对比算法,因此,本发明提出的算法在求解可分任务的多趟调度问题上比现有算法更加有效。
参考文献
[1]A.Shokripour,M.Othman,H.Ibrahim,S.Subramaniam.New method forscheduling heterogeneous multi-installment systems.Future GenerationComputer Systems,vol.28,no.8,pp.1205-1216,2012.
[2]S.Suresh,H.Huang,H.J.Kim.Hybrid real-coded genetic algorithm for datapartitioning in multi-round load distribution and scheduling in heterogeneoussystems.Applied Soft Computing,vol.24,pp.500-510,2014.

Claims (6)

1.一种可分任务多趟调度模型的求解方法,其特征在于,包括以下步骤:
步骤1,建立可分任务多趟调度模型
步骤1.1,给定调度趟数和处理机数目,构建可分任务的分配方案如下:
αij=γijijαnm,i=1,2,...,n,j=1,2,...,m           式19
其中,
α nm = W total - Σ i = 1 n Σ j = 1 m γ ij Σ i = 1 n Σ j = 1 m η ij          式22
P0为主处理机,{Pi|i∈{1,2,...,N}}为从处理机;{Li|i∈{1,2,...,N}}为P0连接到从处理机Pi的通信链路;si为从处理机Pi的计算启动开销;wi为计算单位任务所需的时间;oi为链路Li的通信启动开销记;gi为传输单位任务所花费的时间;m为调度趟数;n为参与调度的从处理机的数目,其中,0<n≤N;Wtotal为总任务量;
αij为调度主处理机P0在第j趟分配给从处理机Pi的任务大小;αnm为主处理机P0在第m趟分配给从处理机Pn的任务大小;oj+1为链路Lj+1的通信启动开销;sj为从处理机Pj的计算启动开销;gk+1为链路Lk+1传输单位任务所花费的时间;wk+1为从处理机Pk+1计算单位任务所需的时间;wj+1为从处理机Pj+1计算单位任务所需的时间;gj+1为链路Lj+1传输单位任务所花费的时间;ok为链路Lk的通信启动开销;
步骤1.2,建立可分任务的多趟调度模型如下:
min m , n T = min m , n ( m Σ i = 1 n o i + Σ i = 1 n Σ j = 1 m g i α ij + s n + w n α nm )
此模型的约束条件为:
(I)0<n≤N;
(II)m≥2;
(III)αij=γijijαnm,其中,γij、ηij和αnm分别满足式20、式21和式22;
(IV)0<αij≤Wtotal,i=1,2,...,n,j=1,2,...,m;
步骤2,求解可分任务多趟调度模型
求解可分任务多趟调度模型,得到最优调度趟数、参与计算的处理机数目和任务分配方案,从而得到任务的最短完成时间。
2.如权利要求1所述的可分任务多趟调度模型的求解方法,其特征在于,所述的步骤2的具体实现步骤如下:
步骤2.1:记Tbest为当前已找到的最优解对应的任务完成时间,初始化Tbest=∞,初始化参与计算的处理机数目n为N,初始化调度趟数m为2;
步骤2.2:将n和m带入式19,计算任务的分配方案αij,其中,i=1,2,...,n,j=1,2,...,m;
步骤2.3:若i=1,2,...,n,j=1,2,...,m,则令n=n-1,转向步骤2.2,否则,由公式 T = m Σ i = 1 n o i + Σ i = 1 n Σ j = 1 m g i α ij + s n + w n α nm 计算出任务的完成时间T;
步骤2.4:若T<Tbest,则令Tbest=T,m=m+1,转向步骤2.2;否则,令m=m-1,算法终止,输出最优调度趟数m,参与调度的处理机数目n,任务分配方案αij和任务的最短完成时间Tbest
3.如权利要求2所述的一种求解可分任务多趟调度模型的算法,其特征在于,所述的步骤2.2具体实现步骤如下:
步骤2.2.1:令i=n,j=m,γnm=0,ηnm=1;
步骤2.2.2:令i=i-1;i≥1,计算 γ ij = Σ j = i n - 1 ( o j + 1 + s j + 1 - s j w j Π k = i j - 1 g k + 1 + w k + 1 w k ) , 重复步骤2.2.2;否则,若i<1,转到步骤2.2.3;
步骤2.2.3:令j=j-1;j<1,转到步骤2.2.5;否则,若j≥1,令i=n,转步骤2.2.4;
步骤2.2.4:计算 γ ij = Σ k = i + 1 n ( o k + g k γ kj ) + Σ k = 1 i - 1 ( o k + g k γ k , j + 1 ) - s i w i , i=i-1;i≥1,重复步骤2.2.4;否则,若i<1,转到步骤2.2.3;
步骤2.2.5:将γij和ηij代入公式从而得到处理机Pn在第m趟调度中被分配的任务量αnm
步骤2.2.6:令i=1,2,...,n,j=1,2,...,m,将γij,ηij和αnm带入公式αij=γijijαnm,从而得到任务的分配方案αij
4.一种用于实现权利要求1所述方法的系统,其特征在于,包括依次连接的可分任务多趟调度模型建立模块和可分任务多趟调度模型求解模块;
所述的可分任务多趟调度模型建立模块包括子模块11和子模块12,其中子模块11用于实现以下功能:
给定调度趟数和处理机数目,构建可分任务的分配方案如下:
αij=γijijαnm,i=1,2,...,n,j=1,2,...,m         式19
其中,
α nm = W total - Σ i = 1 n Σ j = 1 m γ ij Σ i = 1 n Σ j = 1 m η ij               式22
P0为主处理机,{Pi|i∈{1,2,...,N}}为从处理机;{Li|i∈{1,2,...,N}}为P0连接到从处理机Pi的通信链路;si为从处理机Pi的计算启动开销;wi为计算单位任务所需的时间;oi为链路Li的通信启动开销记;gi为传输单位任务所花费的时间;m为调度趟数;n为参与调度的从处理机的数目,其中,0<n≤N;Wtotal为总任务量;
αij为调度主处理机P0在第j趟分配给从处理机Pi的任务大小;αnm为主处理机P0在第m趟分配给从处理机Pn的任务大小;oj+1为链路Lj+1的通信启动开销;sj为从处理机Pj的计算启动开销;gk+1为链路Lk+1传输单位任务所花费的时间;wk+1为从处理机Pk+1计算单位任务所需的时间;wj+1为从处理机Pj+1计算单位任务所需的时间;gj+1为链路Lj+1传输单位任务所花费的时间;ok为链路Lk的通信启动开销;
子模块12用于实现以下功能:
建立可分任务的多趟调度模型如下:
min m , n T = min m , n ( m Σ i = 1 n o i + Σ i = 1 n Σ j = 1 m g i α ij + s n + w n α nm )
此模型的约束条件为:
(I)0<n≤N;
(II)m≥2;
(III)αij=γijijαnm,其中,γij、ηij和αnm分别满足式20、式21和式22;
(IV)0<αij≤Wtotal,i=1,2,...,n,j=1,2,...,m;
所述的可分任务多趟调度模型求解模块用于实现以下功能:
求解可分任务多趟调度模型,得到最优调度趟数、参与计算的处理机数目和任务分配方案,从而得到任务的最短完成时间。
5.如权利要求4所述用于实现权利要求1所述方法的系统,其特征在于,所述的可分任务多趟调度模型求解模块,包括子模块21、子模块22、子模块23和子模块24,其中,
所述的子模块21用于实现以下功能:
记Tbest为当前已找到的最优解对应的任务完成时间,初始化Tbest=∞,初始化参与计算的处理机数目n为N,初始化调度趟数m为2;
所述的子模块22用于实现以下功能:
将n和m带入式19,计算任务的分配方案αij,其中,i=1,2,...n,,j=1,2,...,m;
所述的子模块23用于实现以下功能:
i=1,2,...,n,j=1,2,...,m,则令n=n-1,进入子模块22,否则,由公式 T = m Σ i = 1 n o i + Σ i = 1 n Σ j = 1 m g i α ij + s n + w n α nm 计算出任务的完成时间T;
所述的子模块24用于实现以下功能:
若T<Tbest,则令Tbest=T,m=m+1,进入子模块22;否则,令m=m-1,算法终止,输出最优调度趟数m,参与调度的处理机数目n,任务分配方案αij和任务的最短完成时间Tbest
6.如权利要求5所述用于实现权利要求1所述方法的系统,其特征在于,所述的子模块22包括子模块221、子模块222、子模块223、子模块224、子模块225和子模块226,其中,
所述的子模块221用于实现以下功能:
令i=n,j=m,γnm=0,ηnm=1;
所述的子模块222用于实现以下功能:
令i=i-1;i≥1,计算 γ ij = Σ j = i n - 1 ( o j + 1 + s j + 1 - s j w j Π k = i j - 1 g k + 1 + w k + 1 w k ) , 重复进入子模块222;否则,若i<1,进入子模块223;
所述的子模块223用于实现以下功能:
令j=j-1;j<1,进入子模块225;否则,若j≥1,令i=n,进入子模块224;
所述的子模块224用于实现以下功能:
计算 γ ij = Σ k = i + 1 n ( o k + g k γ kj ) + Σ k = 1 i - 1 ( o k + g k γ k , j + 1 ) - s i w i , i=i-1;i≥1,重复进入子模块224;否则,若i<1,进入子模块223;
所述的子模块225用于实现以下功能:
将γij和ηij代入公式从而得到处理机Pn在第m趟调度中被分配的任务量αnm
所述的子模块226用于实现以下功能:
令i=1,2,...,n,j=1,2,...,m,将γij,ηij和αnm带入公式αij=γijijαnm,从而得到任务的分配方案αij
CN201510256211.6A 2015-05-19 2015-05-19 一种可分任务多趟调度模型的求解方法及系统 Expired - Fee Related CN104915255B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510256211.6A CN104915255B (zh) 2015-05-19 2015-05-19 一种可分任务多趟调度模型的求解方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510256211.6A CN104915255B (zh) 2015-05-19 2015-05-19 一种可分任务多趟调度模型的求解方法及系统

Publications (2)

Publication Number Publication Date
CN104915255A true CN104915255A (zh) 2015-09-16
CN104915255B CN104915255B (zh) 2018-07-06

Family

ID=54084336

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510256211.6A Expired - Fee Related CN104915255B (zh) 2015-05-19 2015-05-19 一种可分任务多趟调度模型的求解方法及系统

Country Status (1)

Country Link
CN (1) CN104915255B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111124629A (zh) * 2019-11-12 2020-05-08 周口师范学院 一种带结果收集的多趟调度模型的求解方法及系统
CN111628686A (zh) * 2020-05-28 2020-09-04 上海中科深江电动车辆有限公司 纯电动汽车用永磁同步电机时序任务调度和空间状态调度协同控制系统
CN114610462A (zh) * 2022-03-21 2022-06-10 中国电子科技集团公司第二十研究所 无冲突的周期性多趟调度模型的求解方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120197625A1 (en) * 2011-01-28 2012-08-02 National Tsing Hua University Data-dependency-Oriented Modeling Approach for Efficient Simulation of OS Preemptive Scheduling
CN102736955A (zh) * 2012-05-21 2012-10-17 北京工业大学 基于可靠性和非合作博弈的计算网格任务调度方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120197625A1 (en) * 2011-01-28 2012-08-02 National Tsing Hua University Data-dependency-Oriented Modeling Approach for Efficient Simulation of OS Preemptive Scheduling
CN102736955A (zh) * 2012-05-21 2012-10-17 北京工业大学 基于可靠性和非合作博弈的计算网格任务调度方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111124629A (zh) * 2019-11-12 2020-05-08 周口师范学院 一种带结果收集的多趟调度模型的求解方法及系统
CN111124629B (zh) * 2019-11-12 2023-05-26 周口师范学院 一种带结果收集的多趟调度模型的求解方法及系统
CN111628686A (zh) * 2020-05-28 2020-09-04 上海中科深江电动车辆有限公司 纯电动汽车用永磁同步电机时序任务调度和空间状态调度协同控制系统
CN111628686B (zh) * 2020-05-28 2023-06-16 上海中科深江电动车辆有限公司 永磁同步电机时序任务调度和空间状态调度协同控制系统
CN114610462A (zh) * 2022-03-21 2022-06-10 中国电子科技集团公司第二十研究所 无冲突的周期性多趟调度模型的求解方法及系统
CN114610462B (zh) * 2022-03-21 2024-05-14 中国电子科技集团公司第二十研究所 无冲突的周期性多趟调度模型的求解方法及系统

Also Published As

Publication number Publication date
CN104915255B (zh) 2018-07-06

Similar Documents

Publication Publication Date Title
CN105094970B (zh) 一种求解分布式系统下可分任务多趟调度模型的方法
WO2016169287A1 (zh) 一种混流生产线产能分配方法
CN111756653B (zh) 基于图神经网络深度强化学习的多coflow调度方法
CN108182109B (zh) 一种云环境下的工作流调度与数据分配方法
CN107403296B (zh) 运力配置方法及装置
Liou et al. A hybrid algorithm for the multi-stage flow shop group scheduling with sequence-dependent setup and transportation times
CN107092981B (zh) 紧密衔接工序组优先加工的二车间综合调度方法
CN104915255B (zh) 一种可分任务多趟调度模型的求解方法及系统
CN105825303A (zh) 一种甩挂运输的任务分配方法
CN104331321A (zh) 基于禁忌搜索和负载均衡的云计算任务调度方法
CN102866912A (zh) 一种单指令集异构多核系统静态任务调度方法
Zhang et al. Edge-to-edge cooperative artificial intelligence in smart cities with on-demand learning offloading
CN102256369A (zh) 基于能量和通信开销的无线传感器网格任务调度方法
CN103914754A (zh) 一种工作流的任务调度方法、多工作流调度方法及其系统
Chan et al. A genetic algorithm-based scheduler for multiproduct parallel machine sheet metal job shop
Yang et al. Job shop scheduling based on earliness and tardiness penalties with due dates and deadlines: an enhanced genetic algorithm
CN106934539A (zh) 一种带有期限和费用约束的工作流调度方法
CN103685492B (zh) Hadoop集群系统的调度方法、调度装置及其应用
CN105550825B (zh) 云计算环境下的基于MapReduce并行化的柔性工厂作业调度方法
CN116027741A (zh) 一种用于复杂制造场景的边云协同人工智能框架
CN104965762B (zh) 一种面向混合任务的调度系统
CN113256125A (zh) 异构机器人集群任务分配方法、系统、设备及存储介质
CN103927433A (zh) 基于流控制的多源点多出口人群应急疏散调度方法
Li et al. Scheduling rules for two-stage flexible flow shop scheduling problem subject to tail group constraint
CN104461720B (zh) 一种可分任务调度模型的求解方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into 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: 20180706

Termination date: 20190519