CN111124629A - 一种带结果收集的多趟调度模型的求解方法及系统 - Google Patents

一种带结果收集的多趟调度模型的求解方法及系统 Download PDF

Info

Publication number
CN111124629A
CN111124629A CN201911100054.4A CN201911100054A CN111124629A CN 111124629 A CN111124629 A CN 111124629A CN 201911100054 A CN201911100054 A CN 201911100054A CN 111124629 A CN111124629 A CN 111124629A
Authority
CN
China
Prior art keywords
scheduling
pass
task
mid
optimal
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
CN201911100054.4A
Other languages
English (en)
Other versions
CN111124629B (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
Hon Hai Precision Industry Co Ltd
Original Assignee
Xidian University
Hon Hai Precision Industry Co Ltd
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, Hon Hai Precision Industry Co Ltd filed Critical Xidian University
Priority to CN201911100054.4A priority Critical patent/CN111124629B/zh
Publication of CN111124629A publication Critical patent/CN111124629A/zh
Application granted granted Critical
Publication of CN111124629B publication Critical patent/CN111124629B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • 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
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S10/00Systems supporting electrical power generation, transmission or distribution
    • Y04S10/50Systems or methods supporting the power network operation or management, involving a certain degree of interaction with the load-side end user applications

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Software Systems (AREA)
  • Biophysics (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • General Physics & Mathematics (AREA)
  • Molecular Biology (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Physiology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Genetics & Genomics (AREA)
  • Multi Processors (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明属于信息处理技术领域,公开了一种带结果收集的多趟调度模型的求解方法及系统,给定处理机调度顺序、调度趟数和处理机数目,构建的任务分配方案;建立带结果收集的多趟可分任务调度模型;求解带结果收集的多趟调度模型:求解带结果收集的多趟调度模型,得到最优处理机调度顺序、最优调度趟数和最优任务分配方案,从而得到任务的最短完成时间。本发明的带结果收集的多趟调度模型以任务的最短完成时间为目标,推导得到了任务分配方案关于调度趟数和处理机数目的解析解。本发明提出的求解该模型的智能优化算法能够高效准确地求出最优的调度趟数和最优的处理机调度顺序。

Description

一种带结果收集的多趟调度模型的求解方法及系统
技术领域
本发明属于信息技术领域,尤其涉及一种带结果收集的多趟调度模型的求解方法及系统。
背景技术
目前,最接近的现有技术:
随着科学技术的蓬勃发展,数据规模呈爆炸式增长。目前存在大量大数据相关应用,例如大规模雷达图像的快速处理、大数据检索和分类、生物数据的快速分析、高清视频的快速格式转换、大规模矩阵的快速运算和数据流的实时处理等,这些大规模应用都需要在分布式计算平台上进行并行处理以便减少任务的处理时间。任务的处理效率很大程度上取决于任务调度方案的优劣。
已有的任务调度模型主要分为两类:单趟调度和多趟调度。在单趟调度模型中,主处理机将任务分成同从处理机数目相等的份数,并按照处理机调度顺序依次为从处理机传输任务,每个从处理机仅接收并计算一次任务。由于单趟调度分配给每台从处理机的任务量较大,因此后参与计算的处理机可能存在较长的等待时间。鉴于此,多趟调度通过将任务多批次的分配给每个从处理机来减少处理机的等待时间,从而提高任务的处理效率。然而,已有多趟调度模型均假设任务计算后得到的结果数据量很小,且结果的收集相对于任务的传输和计算时间可以忽略不计。但是,这一假设与大数据应用的实际情况不符,如清视频的快速格式转换和大规模矩阵的快速运算等。可见,多趟调度模型必须考虑结果的收集才能使模型更符合实际应用的需求。
综上所述,现有技术存在的问题是:
(1)单趟调度模型每个从处理机仅接收并计算一次任务。单趟调度分配给每台从处理机的任务量较大,因此后参与计算的处理机可能存在较长的等待时间,导致单趟调度模型的任务完成时间较长。
(2)已有多趟调度模型均假设任务计算后得到的结果数据量很小,且结果的收集相对于任务的传输和计算时间可以忽略不计。但是,这一假设与大数据应用的实际情况不符。
解决上述技术问题的难度:
已有的调度模型与大数据应用的实际情况不符,需要建立新的带结果收集的多趟调度模型,并设计求解新模型的高效算法,包括求解得到最优的任务分配方案,最优的调度趟数和最优的处理机调度顺序。
解决上述技术问题的意义:
所建立的新的带结果收集的多趟调度模型能够适用于大规模分布式环境下的大数据应用任务,可以加快任务的完成时间,提高任务的完成效率。
发明内容
针对现有技术存在的问题,本发明提供了一种带结果收集的多趟调度模型的求解方法及系统。
本发明是这样实现的,一种带结果收集的多趟调度模型的求解方法,针对大数据应用的任务调度问题,结合实际情况将结果收集的过程融合到调度过程中统一进行优化,通过严格的数学推导,得到每个处理机的最优任务分配方案的解析解,建立以总任务最短完成时间为目标的带结果收集的可分任务多趟调度模型。
针对所提出的带结果收集的多趟任务调度模型,设计一种启发式算法和进化算法分别得到调度的最优趟数和最优处理机调度顺序,从而得到最短的任务完成时间,提高任务的处理效率。
进一步,所述带结果收集的多趟调度模型的求解方法包括以下步骤:
步骤1,给定处理机调度顺序、调度趟数和处理机数目,构建的任务分配方案;建立带结果收集的多趟可分任务调度模型;
步骤2,求解带结果收集的多趟调度模型:求解带结果收集的多趟调度模型,得到最优处理机调度顺序、最优调度趟数和最优任务分配方案,从而得到任务的最短完成时间。
进一步,步骤1中,所述给定处理机调度顺序、调度趟数和处理机数目,构建的任务分配方案包括:
Figure BDA0002269567720000031
其中,
Figure BDA0002269567720000032
Figure BDA0002269567720000033
Figure BDA0002269567720000041
p0为主处理机,{p1,p2,…,pn}为从处理机;{l1,l2,…,ln}为p0连接至从处理机{p1,p2,…,pn}的通信链路;Λ=(λ12,…,λn)为从处理机的调度顺序,其中(λ12,…,λn)为(1,2,…,n)的排列;m为调度趟数,n为参与调度的从处理机的数目,其中,W为总任务量,V为每一趟的调度任务大小。
αiii分别表示从处理机
Figure BDA0002269567720000042
在第一趟调度、内部调度以及最后一趟调度所分配的任务大小;βi是β1的线性函数,μi是该函数的斜率,vi是该函数的截距;αi是α1和β1的线性函数,Δi是α1的系数,Hi是β1的系数,φi是该函数的截距;γi是γ1和β1的线性函数,Γi是γ1的系数,-Ei是β1的系数,ψi是该函数的截距。oi为链路li的通信启动开销;zi为li传输单位任务所花费的时间;si为从处理机pi的计算启动开销;wi为从处理机pi的计算单位任务所花费的时间;θ为总结果收集量与总任务量的比率。
进一步,步骤1中,所述建立的带结果收集的多趟可分任务调度模型包括:
Figure BDA0002269567720000043
此模型的约束条件为:
0<αiii<V,i=1,2,…,n;
m≥3;
其中,α1、β1、γ1满足式1。
进一步,所述步骤2的具体实现步骤包括:
步骤2.1:设种群规模为N,交叉概率为pcross,变异概率为pmut,精英数量为E,最大遗传代数为MaxGen。
步骤2.2:产生从N个1到n的n位随机排列数作为初始种群Pop(0)。对于任意的个体Λ∈Pop(0),通过设计一种算法计算出最优趟数m,根据公式5计算任务的最短完成时间T(m,Λ),将1/T作为个体Λ的适应度值;令代数t=0。
步骤2.3:对父代中的每对个体,依交叉概率进行交叉,交叉算子为:随机选取两个切点X和Y,交换这对父代两个切点之间的顺序值,并为这两个切点之间的顺序值建立映射关系,将所建立的映射化为最简映射,基于这个映射关系将父代中除这两个切点之间的其他顺序值按最简映射关系转换,生成两个子代个体。令交叉生成的所有子代个体为O1(t)。
步骤2.4:对O1(t)中的所有个体,依变异概率进行变异,变异算子为:令当前个体被选中的个体Λ={λ12,…,λn},对
Figure BDA0002269567720000051
生成一个0到1的随机数r,若r≤pmut,则随机交换λi与Λ中的其他基因。令变异生成的所有子代个体为O2(t)。
步骤2.5:求得O1(t)∪O2(t)中每个个体对应的最优调度趟数,根据公式5得到任务完成时间。个体的适应度为任务完成时间的倒数。
步骤2.6:从Pop(t)∪O1(t)∪O2(t)中选出E个精英个体直接保留到下一代,再用轮盘赌从Pop(t)∪O1(t)∪O2(t)选择Popsize-E个个体组成下一代,并令t=t+1。
步骤2.7:若t≤MaxGen,则转至步骤2.3继续执行,否则停止该算法,得到当前种群的最好的解,即为该算法得到的最优处理机调度顺序Λ*
步骤2.8:由种群的最优个体Λ*={λ12,…,λn}求得最优调度趟数m*,根据公式5计算出最优的任务调度时间T(m**)。
进一步,步骤2中,所述步骤2.2、2.5、2.8求解最优趟数算法具体实现步骤包括:
步骤2.2.1:记调度顺序为Λ,处理机数量为n,任务量为W,令趟数下界lower=3,步长step=2。
步骤2.2.2:令上界upper=lower+step,当前趟数m=upper,根据公式1计算αiii,其中i=1,2,…,n。
步骤2.2.3:当i=1,2,…,n时,若
Figure BDA0002269567720000061
Figure BDA0002269567720000062
Figure BDA0002269567720000063
则说明(upper,Λ)为不可行解,令upper=upper-1,转至步骤2.2.5,否则执行步骤2.2.4。
步骤2.2.4:令mid=(lower+upper)/2,计算T(mid,Λ)和T(upper,Λ)。若T(mid,Λ)>T(upper,Λ),则令step=step×2,lower=mid,转至步骤2.2.2,否则执行步骤2.2.5。
步骤2.2.5:若lower≥upper,则最优趟数m*=upper,程序终止输出m*,否则转至步骤2.2.6。
步骤2.2.6:令mid=(lower+upper)/2,m=mid,计算αiii,i=1,2,…,n
步骤2.2.7:当i=1,2,…,n时,若
Figure BDA0002269567720000064
Figure BDA0002269567720000065
Figure BDA0002269567720000066
则说明(mid,Λ)为不可行解,令upper=mid-1,转至步骤2.2.5.否则执行步骤2.2.8。
步骤2.2.8:计算T(mid-1,Λ)和T(mid,Λ),若T(mid-1,Λ)<T(mid,Λ),则令lower=mid,否则令upper=mid-1;若lower≥upper,则最优趟数m*=upper,程序终止,输出m*,若lower<upper,则转至步骤2.2.6。
本发明的另一目的在于提供一种带结果收集的多趟调度模型的求解系统,所述求解系统包括依次连接带结果收集的多趟调度模型建立模块和带结果收集的多趟调度模型求解模块。
所述带结果收集的多趟调度模型建立模块,用于给定处理机调度顺序、调度趟数和处理机数目,构建的任务分配方案;建立带结果收集的多趟可分任务调度模型;
带结果收集的多趟调度模型求解模块,用于求解带结果收集的多趟调度模型,得到最优处理机调度顺序、最优调度趟数和最优任务分配方案,得到任务的最短完成时间。
所述带结果收集的多趟调度模型建立模块包括:
任务分配方案子模块,用于实现给定处理机调度顺序、调度趟数和处理机数目,构建的任务分配方案;
多趟可分任务调度模型子模块,用于建立带结果收集的多趟可分任务调度模型。
进一步,所述带结果收集的多趟调度模型求解模块包括;
第一子模块,用于设种群规模为N,交叉概率为pcross,变异概率为pmut,精英数量为E,最大遗传代数为MaxGen;
第二子模块,用于产生从N个1到n的n位随机排列数作为初始种群Pop(0);对于任意的个体Λ∈Pop(0),通过设计一种算法计算出最优趟数m,根据公式5计算任务的最短完成时间T(m,Λ),将1/T作为个体Λ的适应度值;令代数t=0;
第三子模块,对父代中的每对个体,依交叉概率进行交叉,交叉算子为:随机选取两个切点X和Y,交换这对父代两个切点之间的顺序值,并为这两个切点之间的顺序值建立映射关系,将所建立的映射化为最简映射,基于这个映射关系将父代中除这两个切点之间的其他顺序值按最简映射关系转换,生成两个子代个体;令交叉生成的所有子代个体为O1(t);
第四子模块,对O1(t)中的所有个体,依变异概率进行变异,变异算子为:令当前个体被选中的个体Λ={λ12,…,λn},对
Figure BDA0002269567720000071
生成一个0到1的随机数r,若r≤pmut,则随机交换λi与Λ中的其他基因;令变异生成的所有子代个体为O2(t);
第五子模块,用于求得O1(t)∪O2(t)中每个个体对应的最优调度趟数,根据多趟可分任务调度模型公式得到任务完成时间;个体的适应度为任务完成时间的倒数;
第六子模块,用于从Pop(t)∪O1(t)∪O2(t)中选出E个精英个体直接保留到下一代,再用轮盘赌从Pop(t)∪O1(t)∪O2(t)选择Popsize-E个个体组成下一代,并令t=t+1;
第七子模块,若t≤MaxGen,则转至模块23继续执行,否则停止该算法,得到当前种群的最好的解,为该算法得到的最优处理机调度顺序Λ*;
第八子模块,由种群的最优个体Λ*={λ12,…,λn}求得最优调度趟数m*,根据多趟可分任务调度模型公式计算出最优的任务调度时间T(m*,Λ*)。
进一步,所述第二子模块包括:
第九子模块,用于实现记调度顺序为Λ,该网络规模为n,任务量为W,令趟数下界lower=3,步长step=2;
第十子模块,用于令上界upper=lower+step,当前趟数m=upper,根据任务分配方案公式计算αiii,i=1,2,…,n;
第十一子模块,用于当i=1,2,…,n时,若
Figure BDA0002269567720000081
Figure BDA0002269567720000082
Figure BDA0002269567720000083
则说明(upper,Λ)为不可行解,令upper=upper-1,进入模块225,否则进入模块224;
第十二子模块,用于令mid=(lower+upper)/2,计算T(mid,Λ)和T(upper,Λ);若T(mid,Λ)>T(upper,Λ),则令step=step×2,lower=mid,转至第十子模块222,否则进入第十三字模块;
第十三子模块,用于实现若lower≥upper,则最优趟数m*=upper,程序终止输出m*,否则进入第十四模块;
第十四子模块,用于实现令mid=(lower+upper)/2,m=mid,计算αiii,i=1,2,…,n;
第十五子模块,用当i=1,2,…,n时,若
Figure BDA0002269567720000084
Figure BDA0002269567720000085
Figure BDA0002269567720000086
则说明(mid,Λ)为不可行解,令upper=mid-1,转至第十三子模块,否则执行第十六模块功能;
第十六子模块,用于计算T(mid-1,Λ)和T(mid,Λ),若T(mid-1,Λ)<T(mid,Λ),则令lower=mid,否则令upper=mid-1;若lower≥upper,则最优趟数m*=upper,程序终止,输出m*,若lower<upper,则转至第十四子模块。
本发明另一目的在于提供一种实施所述带结果收集的多趟调度模型的求解方法的信息处理终端。
综上所述,本发明的优点及积极效果为:
本发明提供的一种带结果收集的多趟调度模型的求解方法及系统,针对大数据应用的任务调度问题,结合实际情况将结果收集的过程融合到调度过程中统一进行优化,通过严格的数学推导,得到了每个处理机的最优任务分配方案的解析解,建立了以总任务最短完成时间为目标的带结果收集的可分任务多趟调度模型。相比现有技术,该模型更加合理、有效并具有实际的工程意义。
本发明针对所提出的带结果收集的多趟任务调度模型,设计一种启发式算法和进化算法分别得到了调度的最优趟数和最优处理机调度顺序,从而得到最短的任务完成时间,提高了任务的处理效率。
附图说明
图1是本发明实施例提供的带结果收集的多趟调度模型的求解方法流程图。
图2是本发明实施例提供的带结果收集的多趟调度模型的求解系统示意图。
图3是本发明实施例提供的带结果收集的多趟调度模型建立模块示意图。
图4是本发明实施例提供的带结果收集的多趟调度模型求解模块示意图。
图5是本发明实施例提供的第二子模块示意图。
图中:1、带结果收集的多趟调度模型建立模块;11、任务分配方案子模块;12、多趟可分任务调度模型子模块;2、带结果收集的多趟调度模型求解模块;21、第一子模块;22、第二子模块;23、第三子模块;24、第四子模块;25、第五子模块;26、第六子模块;27、第七子模块;28、第八子模块;221、第九子模块;222、第十子模块;223、第十一子模块;224、第十二子模块;225、第十三子模块;226、第十四子模块;227、第十五子模块;228、第十六子模块。
图6是本发明实施例提供的大规模分布式系统的网络拓扑图。
图7是本发明实施例提供的带结果收集的多趟调度甘特图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
针对现有技术存在的问题,本发明提供了一种带结果收集的多趟调度模型的求解方法及系统,下面结合附图对本发明作详细的描述。
本发明实施例提供的一种带结果收集的多趟调度模型的求解方法,针对大数据应用的任务调度问题,结合实际情况将结果收集的过程融合到调度过程中统一进行优化,通过严格的数学推导,得到每个处理机的最优任务分配方案的解析解,建立以总任务最短完成时间为目标的带结果收集的可分任务多趟调度模型。针对所提出的带结果收集的多趟任务调度模型,设计一种启发式算法和进化算法分别得到调度的最优趟数和最优处理机调度顺序,从而得到最短的任务完成时间,提高任务的处理效率。
下面结合实施例对本发明作进一步描述。
如图1所示,本发明实施例提供的带结果收集的多趟调度模型的求解方法包括:
S101,给定处理机调度顺序、调度趟数和处理机数目,构建的任务分配方案;建立带结果收集的多趟可分任务调度模型。
S102,求解带结果收集的多趟调度模型:求解带结果收集的多趟调度模型,得到最优处理机调度顺序、最优调度趟数和最优任务分配方案,从而得到任务的最短完成时间。
如图2所示,本发明提供一种带结果收集的多趟调度模型的求解系统,包括依次连接带结果收集的多趟调度模型建立模块1和带结果收集的多趟调度模型求解模块2。
所述带结果收集的多趟调度模型建立模块1,用于给定处理机调度顺序、调度趟数和处理机数目,构建的任务分配方案;建立带结果收集的多趟可分任务调度模型。
带结果收集的多趟调度模型求解模块2,用于求解带结果收集的多趟调度模型,得到最优处理机调度顺序、最优调度趟数和最优任务分配方案,得到任务的最短完成时间。
如图3所示,所述带结果收集的多趟调度模型建立模块1包括:
任务分配方案子模块11,用于实现给定处理机调度顺序、调度趟数和处理机数目,构建的任务分配方案。
多趟可分任务调度模型子模块12,用于建立带结果收集的多趟可分任务调度模型。
如图4所示,所述带结果收集的多趟调度模型求解模块2包括;
第一子模块21,用于设种群规模为N,交叉概率为pcross,变异概率为pmut,精英数量为E,最大遗传代数为MaxGen。
第二子模块22,用于产生从N个1到n的n位随机排列数作为初始种群Pop(0);对于任意的个体Λ∈Pop(0),通过设计一种算法计算出最优趟数m,根据公式5计算任务的最短完成时间T(m,Λ),将1/T作为个体Λ的适应度值;令代数t=0。
第三子模块23,对父代中的每对个体,依交叉概率进行交叉,交叉算子为:随机选取两个切点X和Y,交换这对父代两个切点之间的顺序值,并为这两个切点之间的顺序值建立映射关系,将所建立的映射化为最简映射,基于这个映射关系将父代中除这两个切点之间的其他顺序值按最简映射关系转换,生成两个子代个体;令交叉生成的所有子代个体为O1(t)。
第四子模块24,对O1(t)中的所有个体,依变异概率进行变异,变异算子为:令当前个体被选中的个体Λ={λ12,…,λn},对
Figure BDA0002269567720000111
生成一个0到1的随机数r,若r≤pmut,则随机交换λi与Λ中的其他基因;令变异生成的所有子代个体为O2(t)。
第五子模块25,用于求得O1(t)∪O2(t)中每个个体对应的最优调度趟数,根据多趟可分任务调度模型公式得到任务完成时间;个体的适应度为任务完成时间的倒数。
第六子模块26,用于从Pop(t)∪O1(t)∪O2(t)中选出E个精英个体直接保留到下一代,再用轮盘赌从Pop(t)∪O1(t)∪O2(t)选择Popsize-E个个体组成下一代,并令t=t+1。
第七子模块27,若t≤MaxGen,则转至模块23继续执行,否则停止该算法,得到当前种群的最好的解,为该算法得到的最优处理机调度顺序Λ*。
第八子模块28,由种群的最优个体Λ*={λ12,…,λn}求得最优调度趟数m*,根据多趟可分任务调度模型公式计算出最优的任务调度时间T(m*,Λ*)。
如图5所示,第二子模块22包括:
第九子模块221,用于实现记调度顺序为Λ,该网络规模为n,任务量为W,令趟数下界lower=3,步长step=2。
第十子模块222,用于令上界upper=lower+step,当前趟数m=upper,根据任务分配方案公式计算αiii,i=1,2,…,n。
第十一子模块223,用于当i=1,2,…,n时,若
Figure BDA0002269567720000121
Figure BDA0002269567720000122
Figure BDA0002269567720000123
则说明(upper,Λ)为不可行解,令upper=upper-1,进入第十三子模块225,否则进入第十二子模块224。
第十二子模块224,用于令mid=(lower+upper)/2,计算T(mid,Λ)和T(upper,Λ);若T(mid,Λ)>T(upper,Λ),则令step=step×2,lower=mid,转至第十子模块222,否则进入第十三子模块225。
第十三子模块225,用于实现若lower≥upper,则最优趟数m*=upper,程序终止输出m*,否则进入第十四模块226。
第十四子模块226,用于实现令mid=(lower+upper)/2,m=mid,计算αiii,i=1,2,…,n。
第十五子模块227,用当i=1,2,…,n时,若
Figure BDA0002269567720000132
Figure BDA0002269567720000133
Figure BDA0002269567720000134
则说明(mid,Λ)为不可行解,令upper=mid-1,转至第十三子模块226,否则执行第十六模块228功能。
第十六子模块228,用于计算T(mid-1,Λ)和T(mid,Λ),若T(mid-1,Λ)<T(mid,Λ),则令lower=mid,否则令upper=mid-1;若lower≥upper,则最优趟数m*=upper,程序终止,输出m*,若lower<upper,则转至第十四子模块226。
下面结合具体实施例对本发明作进一步描述。
实施例1
本发明实施例提供的一种带结果收集的多趟调度模型的求解方法包括以下步骤:
步骤1:建立带结果收集的多趟调度模型。
记处理机的总数为N+1,p0为主处理机,{pi|i∈1,2,…,N}为从处理机,{li|i∈{1,2,…,N}}为p0连接到从处理机pi的通信链路。从处理机pi的计算启动开销记为si,计算单位任务所花费的时间记作wi。链路li的通信启动开销记作oi,传输单位任务所花费的时间为zi,所述单位任务的大小本发明中设为1MB。调度趟数记为m,参与调度的处理机数目记为n,其中,0<n≤N,W为总任务量,V为每一趟的调度任务大小。将整个调度过程分成三个部分:第一趟调度(在图6中j=1),内部调度(在图6中j=2,…,m-1)和最后一趟调度j=m。参见附图6。Λ={λ12,…,λn}为从处理机的调度顺序,其中(λ12,…,λn)为1,2,…,n的排列。αiii分别为从处理机
Figure BDA0002269567720000131
在第一趟,中间趟和最后一趟分配的任务大小,则分配方案满足下式:
Figure BDA0002269567720000141
步骤2求解带结果收集的多趟调度模型。
求解带结果收集的多趟调度模型,得到最优处理机调度顺序、最优调度趟数和最优任务分配方案,从而得到任务的最短完成时间。
在本发明实施例中,步骤1具体包括:
步骤1.1:总任务完成时间取决于最后一个服务器完成结果收集的时间。为了使得总时间最短,将调度过程分为三个部分:第一趟调度、内部调度和最后一趟调度。总任务量平均分配到每一趟调度。
步骤1.1.1:对于内部调度,由每个处理机在任意相邻的两趟调度之间不存在时间间隔,可得:
Figure BDA0002269567720000142
其中(λ12,…,λn)表示从处理机的调度顺序,
Figure BDA0002269567720000143
表示链路
Figure BDA0002269567720000144
的通信启动开销,
Figure BDA0002269567720000145
表示处理机
Figure BDA0002269567720000146
的计算启动开销,
Figure BDA0002269567720000147
为计算单位任务所花费的时间,
Figure BDA0002269567720000148
表示传输单位任务所花费的时间,θ表示输出结果与输入数据量的比率。
整理式(2),βi(i=2,…,n)可以表示为β1的函数:
Figure BDA0002269567720000149
令:
Figure BDA00022695677200001410
则通过公式(4)可以简化公式(3)为:
βi=μiβ1+vi,i=2,3,…,n (5)
将公式(5)带入
Figure BDA00022695677200001411
可得:
Figure BDA0002269567720000151
整理公式(6)可得内部调度的最优任务分配:
Figure BDA0002269567720000152
其中,任务分配方案需满足0<βi<V,i=1,2,…,n
步骤1.1.2对于第一趟调度,为了保证每个处理机在第一趟和第二趟调度之间没有空闲时间,必须满足:
Figure BDA0002269567720000153
重新排列上面的等式,可以将αi(i=2,…,n)用αi-1表示为:
Figure BDA0002269567720000154
令:
Figure BDA0002269567720000155
通过公式(10)可以简化公式(9)为:
αi=δiαi-1iβi-1i (11)
通过分析表达式αi和αi-1的关系,迭代可得αi关于α1的表达式:
αi=Δiα1+Hiβ1i (12)
其中,
Figure BDA0002269567720000156
将公式(12)带入
Figure BDA0002269567720000157
可以得到第一趟调度的最优任务分配:
Figure BDA0002269567720000158
其中,任务分配方案需要满足0<αi<V,i=1,2,…,n。
步骤1.1.3对于最后一趟调度,服务器
Figure BDA0002269567720000161
计算其分配的任务γi直到p0完成从
Figure BDA0002269567720000162
上的结果收集,那么以下等式必须满足:
Figure BDA0002269567720000163
重新排列上面的等式,可以将γi(i=2,…,n)用γi-1表示为:
Figure BDA0002269567720000164
Figure BDA0002269567720000165
通过公式(17)将公式(16)简化为:
Figure BDA0002269567720000166
通过分析表达式γi和γi-1的关系,迭代可得γi关于γ1的表达式:
γi=Γiγ1-Eiβ1i,i=2,…,n (19)
其中
Figure BDA0002269567720000167
将公式(12)带入
Figure BDA0002269567720000168
可以得到最后一趟调度的最优任务分配:
Figure BDA0002269567720000169
其中,任务分配方案需要满足0<γi<V,i=1,2,…,n。
步骤1.2建立的带结果收集的多趟可分任务调度模型包括:
Figure BDA00022695677200001610
此模型的约束条件为:
0<αiii<V,i=1,2,…,n
m≥3
其中,α1、β1、γ1满足式(7)、式(14)和式(21)。
在本发明实施例中,步骤2具体包括:
步骤2.1:设种群规模为N,交叉概率为pcross,变异概率为pmut,精英数量为E,最大遗传代数为MaxGen。
步骤2.2:产生从N个1到n的n位随机排列数作为初始种群Pop(0)。对于任意的个体Λ∈Pop(0),通过设计一种算法计算出最优趟数m,根据公式5计算任务的最短完成时间T(m,Λ),将1/T作为个体Λ的适应度值;令代数t=0。
步骤2.3:对父代中的每对个体,依交叉概率进行交叉,交叉算子为:随机选取两个切点X和Y,交换这对父代两个切点之间的顺序值,并为这两个切点之间的顺序值建立映射关系,将所建立的映射化为最简映射,基于这个映射关系将父代中除这两个切点之间的其他顺序值按最简映射关系转换,生成两个子代个体。令交叉生成的所有子代个体为O1(t)。
步骤2.4:对O1(t)中的所有个体,依变异概率进行变异,变异算子为:令当前个体被选中的个体Λ={λ12,…,λn},对
Figure BDA0002269567720000171
生成一个0到1的随机数r,若r≤pmut,则随机交换λi与Λ中的其他基因。令变异生成的所有子代个体为O2(t)。
步骤2.5:求得O1(t)∪O2(t)中每个个体对应的最优调度趟数,根据公式5得到任务完成时间。个体的适应度为任务完成时间的倒数。
步骤2.6:从Pop(t)∪O1(t)∪O2(t)中选出E个精英个体直接保留到下一代,再用轮盘赌从Pop(t)∪O1(t)∪O2(t)选择Popsize-E个个体组成下一代,并令t=t+1。
步骤2.7:若t≤MaxGen,则转至步骤2.3继续执行,否则停止该算法,得到当前种群的最好的解,即为该算法得到的最优处理机调度顺序Λ*
步骤2.8:由种群的最优个体Λ*={λ12,…,λn}求得最优调度趟数m*,根据公式5计算出最优的任务调度时间T(m*,Λ*)。
所述的步骤2.2、2.5、2.8的求解最优趟数算法具体实现步骤包括:
步骤2.2.1:记调度顺序为Λ,处理机数量为n,任务量为W,令趟数下界lower=3,步长step=2。
步骤2.2.2:令上界upper=lower+step,当前趟数m=upper,根据公式1计算αiii,其中i=1,2,…,n。
步骤2.2.3:当i=1,2,…,n时,若
Figure BDA0002269567720000181
Figure BDA0002269567720000182
Figure BDA0002269567720000183
则说明(upper,Λ)为不可行解,令upper=upper-1,转至步骤2.2.5,否则执行步骤2.2.4。
步骤2.2.4:令mid=(lower+upper)/2,计算T(mid,Λ)和T(upper,Λ)。若T(mid,Λ)>T(upper,Λ),则令step=step×2且lower=mid,转至步骤2.2.2,否则执行步骤2.2.5。
步骤2.2.5:若lower≥upper,则最优趟数m*=upper,程序终止输出m*,否则转至步骤2.2.6。
步骤2.2.6:令mid=(lower+upper)/2且m=mid,计算αiii,i=1,2,...,n;
步骤2.2.7:当i=1,2,…,n时,若
Figure BDA0002269567720000184
Figure BDA0002269567720000185
Figure BDA0002269567720000186
则说明(mid,Λ)为不可行解,令upper=mid-1,转至步骤2.2.5.否则执行步骤2.2.8。
步骤2.2.8:计算T(mid-1,Λ)和T(mid,Λ),若T(mid-1,Λ)<T(mid,Λ),则令lower=mid,否则令upper=mid-1;若lower≥upper,则最优趟数m*=upper,程序终止,输出m*,若lower<upper,则转至步骤2.2.6。
实施例2
本发明实施例提供一种带结果收集的多趟调度模型的求解系统,包括带结果收集的多趟调度模型的建立和求解该模型。
所述的带结果收集的多趟调度模型建立模块1包括子模块11和子模块12,其中子模块11用于实现以下功能:
给定处理机调度顺序、调度趟数和处理机数目,构建的任务分配方案包括:
Figure BDA0002269567720000191
其中,
Figure BDA0002269567720000192
Figure BDA0002269567720000193
Figure BDA0002269567720000194
p0为主处理机,{p1,p2,…,pn}为从处理机;{l1,l2,…,ln}为p0连接至从处理机{p1,p2,…,pn}的通信链路;Λ=(λ12,…,λn)为从处理机的调度顺序,其中(λ12,…,λn)为(1,2,…,n)的排列;m为调度趟数,n为参与调度的从处理机的数目,其中,W为总任务量,V为每一趟的调度任务大小。
αiii分别表示从处理机
Figure BDA0002269567720000201
在第一趟调度、内部调度以及最后一趟调度所分配的任务大小;βi是β1的线性函数,μi是该函数的斜率,vi是该函数的截距;αi是α1和β1的线性函数,Δi是α1的系数,Hi是β1的系数,φi是该函数的截距;γi是γ1和β1的线性函数,Γi是γ1的系数,-Ei是β1的系数,ψi是该函数的截距。oi为链路li的通信启动开销;zi为li传输单位任务所花费的时间;si为从处理机pi的计算启动开销;wi为从处理机pi的计算单位任务所花费的时间;θ为总结果收集量与总任务量的比率。
子模块12用于实现以下功能:
建立的带结果收集的多趟可分任务调度模型包括:
Figure BDA0002269567720000202
此模型的约束条件为:
0<αiii<V,i=1,2,…,n;
m≥3;
其中,α1、β1、γ1满足式1。
所述的带结果收集的多趟调度模型求解模块2,包括子模块21、子模块22、子模块23、子模块24、子模块25、子模块26、子模块27和子模块28,其中,
所述的子模块21用于实现以下功能:
设种群规模为N,交叉概率为pcross,变异概率为pmut,精英数量为E,最大遗传代数为MaxGen。
所述的子模块22用于实现以下功能:
产生从N个1到n的n位随机排列数作为初始种群Pop(0)。对于任意的个体Λ∈Pop(0),通过设计一种算法计算出最优趟数m,根据公式5计算任务的最短完成时间T(m,Λ),将1/T作为个体Λ的适应度值;令代数t=0。
所述的子模块23用于实现以下功能:
对父代中的每对个体,依交叉概率进行交叉,交叉算子为:随机选取两个切点X和Y,交换这对父代两个切点之间的顺序值,并为这两个切点之间的顺序值建立映射关系,将所建立的映射化为最简映射,基于这个映射关系将父代中除这两个切点之间的其他顺序值按最简映射关系转换,生成两个子代个体。令交叉生成的所有子代个体为O1(t)。
所述的子模块24用于实现以下功能:
对O1(t)中的所有个体,依变异概率进行变异,变异算子为:令当前个体被选中的个体Λ={λ12,…,λn},对
Figure BDA0002269567720000211
生成一个0到1的随机数r,若r≤pmut,则随机交换λi与Λ中的其他基因。令变异生成的所有子代个体为O2(t)。
所述的子模块25用于实现以下功能:
求得O1(t)∪O2(t)中每个个体对应的最优调度趟数,根据公式5得到任务完成时间。个体的适应度为任务完成时间的倒数。
所述的子模块26用于实现以下功能:
从Pop(t)∪O1(t)∪O2(t)中选出E个精英个体直接保留到下一代,再用轮盘赌从Pop(t)∪O1(t)∪O2(t)选择Popsize-E个个体组成下一代,并令t=t+1。
所述的子模块27用于实现以下功能:
若t≤MaxGen,则转至模块23继续执行,否则停止该算法,得到当前种群的最好的解,即为该算法得到的最优处理机调度顺序Λ*
所述的子模块28用于实现以下功能:
由种群的最优个体Λ*={λ12,…,λn}求得最优调度趟数m*,根据公式5计算出最优的任务调度时间T(m**)。
所述子模块22中的算法实现子模块包括子模块221、子模块222、子模块223、子模块224、子模块225、子模块226、子模块227和子模块228,其中,
所述的子模块221用于实现以下功能:
记调度顺序为Λ,该网络规模为n,任务量为W,令趟数下界lower=3,步长step=2。
所述的子模块222用于实现以下功能:
令上界upper=lower+step,当前趟数m=upper,根据公式1计算αiii,i=1,2,…,n。
所述的子模块223用于实现以下功能:
当i=1,2,…,n时,若
Figure BDA0002269567720000221
Figure BDA0002269567720000222
Figure BDA0002269567720000223
则说明(upper,Λ)为不可行解,令upper=upper-1,进入模块225,否则进入模块224。
所述的子模块224用于实现以下功能:
令mid=(lower+upper)/2,计算T(mid,Λ)和T(upper,Λ);若T(mid,Λ)>T(upper,Λ),则令step=step×2且lower=mid,转至模块222,否则进入模块225。
所述的子模块225用于实现以下功能:
若lower≥upper,则最优趟数m*=upper,程序终止输出m*,否则进入模块226。
所述的子模块226用于实现以下功能:
令mid=(lower+upper)/2且m=mid,计算αiii,i=1,2,…,n,
所述的子模块227用于实现以下功能:
当i=1,2,…,n时,若
Figure BDA0002269567720000224
Figure BDA0002269567720000225
Figure BDA0002269567720000226
则说明(mid,Λ)为不可行解,令upper=mid-1,转至模块225,否则执行模块228。
所述的子模块228用于实现以下功能:
计算T(mid-1,Λ)和T(mid,Λ),若T(mid-1,Λ)<T(mid,Λ),则令lower=mid,否则令upper=mid-1;若lower≥upper,则最优趟数m*=upper,程序终止,输出m*,若lower<upper,则转至模块226。
下面结合实验对本发明作进一步描述。
针对提出的一种带结果收集的多趟调度模型的求解方法,本发明进行了多组对比实验。实验参数设置包括:处理机数N=15。表1给出了异构分布式网络下从处理机的相关实验参数。
[1]Shokripour A,Othman M,Ibrahim H,and Subramaniam S.New method forscheduling heterogeneous multi-installment systems,Future Generation ComputerSystems,2012,28(8):1205{1216,2012.
[2]Wang X,Veeravalli B.Performance characterization on handlinglarge-scalepartitionable workloads on heterogeneous networked computeplatforms,IEEE Transactions onParallel and Distributed Systems,2017,28(10):2925-2938.
[3]Barlas G D.An Analytical Approach to Optimizing Parallel ImageRegistration/Retrieval.IEEE Transactions on Parallel&Distributed Systems,2009,21(8):1074-1088.
表2给出了三种算法的任务完成时间随着W变化的实验结果,其中PMIS是周期性多趟调度模型,由参考文献[1]提出,并在参考文献[2]中得到改进。SIS是单趟调度模型,由参考文献[3]提出并成功应用于大规模图像问题。令θ=0.3,总任务量W从3000到7000。表3给出了三种算法在不同调度顺序下的任务完成时间,其中IZ表示处理机按通信速度递减的顺序排列,IW表示处理机按计算速度递减排列。
IZ:Λ=(13,5,12,15,8,7,11,14,1,10,3,6,2,4,9)
IW:Λ=(9,4,2,6,3,10,1,14,11,7,8,15,12,5,13)
表1异构分布式网络下从处理机的相关实验参数
Figure BDA0002269567720000231
Figure BDA0002269567720000241
表2三种算法在不同任务量下的完成时间
W 本发明 PMIS SIS
3000 5391.018 5636.09 5888.55
4000 7129.683 7456.3 7810.09
5000 8864.857 9274.39 9731.62
6000 10597.978 11091.07 11653.16
7000 12329.729 12907.17 13574.70
通过表2可以看出,任务量越大,本发明提出的算法与其它两种算法的时间差距越大。因此,在大数据相关的任务调度问题中,采取本发明的算法能极大的提高任务的执行效率,是非常有必要的。
通过表3可以看出本发明所提算法能求得最优的处理机调度顺序,使得任务的总完成时间最短。
表3三种算法关于不同调度顺序的实验结果
Figure BDA0002269567720000242
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种带结果收集的多趟调度模型的求解方法,其特征在于,所述带结果收集的多趟调度模型的求解方法包括以下步骤:
步骤1,给定处理机调度顺序、调度趟数和处理机数目,构建的任务分配方案;建立带结果收集的多趟可分任务调度模型;
步骤2,求解带结果收集的多趟调度模型,得到最优处理机调度顺序、最优调度趟数和最优任务分配方案,得到任务的最短完成时间。
2.如权利要求1所述带结果收集的多趟调度模型的求解方法,其特征在于,步骤1中,所述给定处理机调度顺序、调度趟数和处理机数目,构建的任务分配方案:
Figure FDA0002269567710000011
其中,
Figure FDA0002269567710000012
Figure FDA0002269567710000013
Figure FDA0002269567710000021
p0为主处理机,{p1,p2,…,pn}为从处理机;{l1,l2,…,ln}为p0连接至从处理机{p1,p2,…,pn}的通信链路;Λ=(λ12,…,λn)为从处理机的调度顺序,其中(λ12,…,λn)为(1,2,…,n)的排列;m为调度趟数,n为参与调度的从处理机的数目,其中,W为总任务量,V为每一趟的调度任务大小;
αiii分别表示从处理机
Figure FDA0002269567710000023
在第一趟调度、内部调度以及最后一趟调度所分配的任务大小;βi是β1的线性函数,μi是该函数的斜率,vi是该函数的截距;αi是α1和β1的线性函数,Δi是α1的系数,Hi是β1的系数,φi是该函数的截距;γi是γ1和β1的线性函数,Γi是γ1的系数,-Ei是β1的系数,ψi是该函数的截距;oi为链路li的通信启动开销;zi为li传输单位任务所花费的时间;si为从处理机pi的计算启动开销;wi为从处理机pi的计算单位任务所花费的时间;θ为总结果收集量与总任务量的比率。
3.如权利要求1所述带结果收集的多趟调度模型的求解方法,其特征在于,步骤1中,建立的带结果收集的多趟可分任务调度模型:
Figure FDA0002269567710000022
此模型的约束条件为:
0<αiii<V,i=1,2,…,n;
m≥3;
其中,α1、β1、γ1满足任务分配方案公式。
4.如权利要求1所述带结果收集的多趟调度模型的求解方法,其特征在于,所述步骤2具体步骤包括:
步骤2.1:设种群规模为N,交叉概率为pcross,变异概率为pmut,精英数量为E,最大遗传代数为MaxGen;
步骤2.2:产生从N个1到n的n位随机排列数作为初始种群Pop(0);对于任意的个体Λ∈Pop(0),通过设计一种算法计算出最优趟数m,根据多趟可分任务调度模型公式计算任务的最短完成时间T(m,Λ),将1/T作为个体Λ的适应度值;令代数t=0;
步骤2.3:对父代中的每对个体,依交叉概率进行交叉,交叉算子为:随机选取两个切点X和Y,交换这对父代两个切点之间的顺序值,并为这两个切点之间的顺序值建立映射关系,将所建立的映射化为最简映射,基于这个映射关系将父代中除这两个切点之间的其他顺序值按最简映射关系转换,生成两个子代个体;令交叉生成的所有子代个体为O1(t);
步骤2.4:对O1(t)中的所有个体,依变异概率进行变异,变异算子为:令当前个体被选中的个体Λ={λ12,…,λn},对
Figure FDA0002269567710000031
生成一个0到1的随机数r,若r≤pmut,则随机交换λi与Λ中的其他基因;令变异生成的所有子代个体为O2(t);
步骤2.5:求得O1(t)∪O2(t)中每个个体对应的最优调度趟数,根据多趟可分任务调度模型公式得到任务完成时间;个体的适应度为任务完成时间的倒数;
步骤2.6:从Pop(t)∪O1(t)∪O2(t)中选出E个精英个体直接保留到下一代,再用轮盘赌从Pop(t)∪O1(t)∪O2(t)选择Popsize-E个个体组成下一代,并令t=t+1;
步骤2.7:若t≤MaxGen,则转至步骤2.3继续执行,否则停止该算法,得到当前种群的最好的解,即为该算法得到的最优处理机调度顺序Λ*
步骤2.8:由种群的最优个体Λ*={λ12,…,λn}求得最优调度趟数m*,根据多趟可分任务调度模型公式计算出最优的任务调度时间T(m**)。
5.如权利要求4所述带结果收集的多趟调度模型的求解方法,其特征在于,所述步骤2.2求解最优趟数算法具体实现步骤包括:
步骤2.2.1:记调度顺序为Λ,处理机数量为n,任务量为W,令趟数下界lower=3,步长step=2;
步骤2.2.2:令上界upper=lower+step,当前趟数m=upper,根据任务分配方案公式计算αiii,其中i=1,2,…,n;
步骤2.2.3:当i=1,2,…,n时,若
Figure FDA0002269567710000041
Figure FDA0002269567710000042
Figure FDA0002269567710000043
则说明(upper,Λ)为不可行解,令upper=upper-1,转至步骤2.2.5,否则执行步骤2.2.4;
步骤2.2.4:令mid=(lower+upper)/2,计算T(mid,Λ)和T(upper,Λ);若T(mid,Λ)>T(upper,Λ),则令step=step×2,lower=mid,转至步骤2.2.2,否则执行步骤2.2.5;
步骤2.2.5:若lower≥upper,则最优趟数m*=upper,程序终止输出m*,否则转至步骤2.2.6;
步骤2.2.6:令mid=(lower+upper)/2,m=mid,计算αiii,i=1,2,…,n;
步骤2.2.7:当i=1,2,…,n时,若
Figure FDA0002269567710000044
Figure FDA0002269567710000045
Figure FDA0002269567710000046
则说明(mid,Λ)为不可行解,令upper=mid-1,转至步骤2.2.5,否则执行步骤2.2.8;
步骤2.2.8:计算T(mid-1,Λ)和T(mid,Λ),若T(mid-1,Λ)<T(mid,Λ),则令lower=mid,否则令upper=mid-1;若lower≥upper,则最优趟数m*=upper,程序终止,输出m*,若lower<upper,则转至步骤2.2.6。
6.一种应用如权利要求1所述带结果收集的多趟调度模型的求解方法的带结果收集的多趟调度模型的求解系统,其特征在于,所述求解系统包括依次连接的带结果收集的多趟调度模型建立模块和带结果收集的多趟调度模型求解模块;
所述带结果收集的多趟调度模型建立模块,用于给定处理机调度顺序、调度趟数和处理机数目,构建的任务分配方案;建立带结果收集的多趟可分任务调度模型;
带结果收集的多趟调度模型求解模块,用于求解带结果收集的多趟调度模型,得到最优处理机调度顺序、最优调度趟数和最优任务分配方案,得到任务的最短完成时间。
7.如权利要求6所述带结果收集的多趟调度模型的求解系统,其特征在于,所述带结果收集的多趟调度模型建立模块包括:
任务分配方案子模块,用于实现给定处理机调度顺序、调度趟数和处理机数目,构建的任务分配方案;
多趟可分任务调度模型子模块,用于建立带结果收集的多趟可分任务调度模型。
8.如权利要求6所述带结果收集的多趟调度模型的求解系统,其特征在于,所述带结果收集的多趟调度模型求解模块包括;
第一子模块,用于设种群规模为N,交叉概率为pcross,变异概率为pmut,精英数量为E,最大遗传代数为MaxGen;
第二子模块,用于产生从N个1到n的n位随机排列数作为初始种群Pop(0);对于任意的个体Λ∈Pop(0),通过设计一种算法计算出最优趟数m,根据公式5计算任务的最短完成时间T(m,Λ),将1/T作为个体Λ的适应度值;令代数t=0;
第三子模块,对父代中的每对个体,依交叉概率进行交叉,交叉算子为:随机选取两个切点X和Y,交换这对父代两个切点之间的顺序值,并为这两个切点之间的顺序值建立映射关系,将所建立的映射化为最简映射,基于这个映射关系将父代中除这两个切点之间的其他顺序值按最简映射关系转换,生成两个子代个体;令交叉生成的所有子代个体为O1(t);
第四子模块,对O1(t)中的所有个体,依变异概率进行变异,变异算子为:令当前个体被选中的个体Λ={λ12,…,λn},对
Figure FDA0002269567710000051
生成一个0到1的随机数r,若r≤pmut,则随机交换λi与Λ中的其他基因;令变异生成的所有子代个体为O2(t);
第五子模块,用于求得O1(t)∪O2(t)中每个个体对应的最优调度趟数,根据多趟可分任务调度模型公式得到任务完成时间;个体的适应度为任务完成时间的倒数;
第六子模块,用于从Pop(t)∪O1(t)∪O2(t)中选出E个精英个体直接保留到下一代,再用轮盘赌从Pop(t)∪O1(t)∪O2(t)选择Popsize-E个个体组成下一代,并令t=t+1;
第七子模块,若t≤MaxGen,则转至模块23继续执行,否则停止该算法,得到当前种群的最好的解,为该算法得到的最优处理机调度顺序Λ*
第八子模块,由种群的最优个体Λ*={λ12,…,λn}求得最优调度趟数m*,根据多趟可分任务调度模型公式计算出最优的任务调度时间T(m**)。
9.如权利要求8所述带结果收集的多趟调度模型的求解系统,其特征在于,所述第二子模块包括:
第九子模块,用于实现记调度顺序为Λ,该网络规模为n,任务量为W,令趟数下界lower=3,步长step=2;
第十子模块,用于令上界upper=lower+step,当前趟数m=upper,根据任务分配方案公式计算αiii,i=1,2,…,n;
第十一子模块,用于当i=1,2,…,n时,若
Figure FDA0002269567710000061
Figure FDA0002269567710000062
Figure FDA0002269567710000063
则说明(upper,Λ)为不可行解,令upper=upper-1,进入模块225,否则进入模块224;
第十二子模块,用于令mid=(lower+upper)/2,计算T(mid,Λ)和T(upper,Λ);若T(mid,Λ)>T(upper,Λ),则令step=step×2,lower=mid,转至第十子模块222,否则进入第十三字模块;
第十三子模块,用于实现若lower≥upper,则最优趟数m*=upper,程序终止输出m*,否则进入第十四模块;
第十四子模块,用于实现令mid=(lower+upper)/2,m=mid,计算αiii,i=1,2,…,n;
第十五子模块,用当i=1,2,…,n时,若
Figure FDA0002269567710000071
Figure FDA0002269567710000072
Figure FDA0002269567710000073
则说明(mid,Λ)为不可行解,令upper=mid-1,转至第十三子模块,否则执行第十六模块功能;
第十六子模块,用于计算T(mid-1,Λ)和T(mid,Λ),若T(mid-1,Λ)<T(mid,Λ),则令lower=mid,否则令upper=mid-1;若lower≥upper,则最优趟数m*=upper,程序终止,输出m*,若lower<upper,则转至第十四子模块。
10.一种实施权利要求1~5任意一项所述带结果收集的多趟调度模型的求解方法的信息处理终端。
CN201911100054.4A 2019-11-12 2019-11-12 一种带结果收集的多趟调度模型的求解方法及系统 Active CN111124629B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911100054.4A CN111124629B (zh) 2019-11-12 2019-11-12 一种带结果收集的多趟调度模型的求解方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911100054.4A CN111124629B (zh) 2019-11-12 2019-11-12 一种带结果收集的多趟调度模型的求解方法及系统

Publications (2)

Publication Number Publication Date
CN111124629A true CN111124629A (zh) 2020-05-08
CN111124629B CN111124629B (zh) 2023-05-26

Family

ID=70495191

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911100054.4A Active CN111124629B (zh) 2019-11-12 2019-11-12 一种带结果收集的多趟调度模型的求解方法及系统

Country Status (1)

Country Link
CN (1) CN111124629B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114610462A (zh) * 2022-03-21 2022-06-10 中国电子科技集团公司第二十研究所 无冲突的周期性多趟调度模型的求解方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140277599A1 (en) * 2013-03-13 2014-09-18 Oracle International Corporation Innovative Approach to Distributed Energy Resource Scheduling
CN104915255A (zh) * 2015-05-19 2015-09-16 西安电子科技大学 一种可分任务多趟调度模型的求解方法及系统
CN105094970A (zh) * 2015-07-13 2015-11-25 西安电子科技大学 一种求解分布式系统下可分任务多趟调度模型的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140277599A1 (en) * 2013-03-13 2014-09-18 Oracle International Corporation Innovative Approach to Distributed Energy Resource Scheduling
CN104915255A (zh) * 2015-05-19 2015-09-16 西安电子科技大学 一种可分任务多趟调度模型的求解方法及系统
CN105094970A (zh) * 2015-07-13 2015-11-25 西安电子科技大学 一种求解分布式系统下可分任务多趟调度模型的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
尚明生;孙世新;傅彦;: "周期性的多趟可分任务调度算法研究" *
朱海;王晓丽;马海明;: "分布式计算系统下可分任务的周期性多趟调度" *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114610462A (zh) * 2022-03-21 2022-06-10 中国电子科技集团公司第二十研究所 无冲突的周期性多趟调度模型的求解方法及系统
CN114610462B (zh) * 2022-03-21 2024-05-14 中国电子科技集团公司第二十研究所 无冲突的周期性多趟调度模型的求解方法及系统

Also Published As

Publication number Publication date
CN111124629B (zh) 2023-05-26

Similar Documents

Publication Publication Date Title
CN107122243B (zh) 用于cfd仿真计算的异构集群系统及计算cfd任务的方法
CN108182109B (zh) 一种云环境下的工作流调度与数据分配方法
Tapkan et al. Modeling and solving constrained two-sided assembly line balancing problem via bee algorithms
CN105718479A (zh) 跨idc大数处理架构下执行策略生成方法、装置
CN109669768A (zh) 一种面向边云结合架构的资源分配和任务调度方法
CN100394416C (zh) 并行处理方法中的作业分配方法及并行处理方法
Zhang et al. Edge-to-edge cooperative artificial intelligence in smart cities with on-demand learning offloading
Lin et al. Simulation-based optimization approach for simultaneous scheduling of vehicles and machines with processing time uncertainty in FMS
CN111556516B (zh) 面向时延和能效敏感业务的分布式无线网络任务协同分配方法
CN111082971B (zh) 一种面向云负载测试的共享式资源分配方法
Sing et al. A whale optimization algorithm based resource allocation scheme for cloud-fog based iot applications
CN108427602B (zh) 一种分布式计算任务的协同调度方法及装置
CN110928261B (zh) 分布式异构流水车间的分布估计调度方法及系统
CN113553146A (zh) 一种基于云边协同计算任务并合调度方法
CN113221475A (zh) 一种用于高精度流场分析的网格自适应方法
CN116263681A (zh) 移动边缘计算任务卸载方法、装置、设备及存储介质
CN111124629A (zh) 一种带结果收集的多趟调度模型的求解方法及系统
He Optimization of edge delay sensitive task scheduling based on genetic algorithm
CN112560392B (zh) 用于处理电路版图的方法、设备和存储介质
CN113205128A (zh) 基于无服务器计算的分布式深度学习性能保证方法
CN111026534B (zh) 云计算环境下基于多种群遗传算法的工作流执行优化方法
Shenassa et al. A novel intelligent method for task scheduling in multiprocessor systems using genetic algorithm
CN115238995A (zh) 一种复杂过程的智能调度优化方法
Javadi-Moghaddam et al. Resource allocation in cloud computing using advanced imperialist competitive algorithm.
Ng et al. Deep-learning based auction resource allocation in coded computation offloading for Internet-of-Things

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