CN114691327A - 面向两阶段任务调度的多目标群智能优化方法与系统 - Google Patents

面向两阶段任务调度的多目标群智能优化方法与系统 Download PDF

Info

Publication number
CN114691327A
CN114691327A CN202210286438.5A CN202210286438A CN114691327A CN 114691327 A CN114691327 A CN 114691327A CN 202210286438 A CN202210286438 A CN 202210286438A CN 114691327 A CN114691327 A CN 114691327A
Authority
CN
China
Prior art keywords
task
cells
solution
scheduling
optimization
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
Application number
CN202210286438.5A
Other languages
English (en)
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.)
South China University of Technology SCUT
Original Assignee
South China University of Technology SCUT
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 South China University of Technology SCUT filed Critical South China University of Technology SCUT
Priority to CN202210286438.5A priority Critical patent/CN114691327A/zh
Publication of CN114691327A publication Critical patent/CN114691327A/zh
Pending legal-status Critical Current

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
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • 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]

Landscapes

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

Abstract

本发明公开了一种面向两阶段任务调度的多目标群智能优化方法与系统,包括:1)解析收集到的用户请求信息和集群的状态信息;2)设置入侵肿瘤生长优化算法ITGO(Invasive Tumor Growth Optimization)的关键参数,将解析得到的信息输入算法并初始化;3)执行算法迭代计算过程,每轮迭代依次进行IPOX细胞交叉操作、双向莱维飞行操作、seqMutate细胞变异操作和根据拥挤度阈值判定进行剪枝操作,直至迭代次数达到最大迭代次数;4)生成批处理计算任务组的调度方案。本发明基于帕累托模型改进设计了ITGO的算法迭代计算操作,提出两阶段的调度架构结合ITGO求解多目标任务调度问题,显著提高了收敛速度和增强了解的多样性。

Description

面向两阶段任务调度的多目标群智能优化方法与系统
技术领域
本发明涉及云计算与智能计算的技术领域,尤其是指一种面向两阶段任务调度的多目标群智能优化方法与系统。
背景技术
随着新一代技术革命和产业革命的大踏步前进,云数据中心的结构也在不断的优化。目前的趋势是,为了提高数据中心的资源利用率和降低电力和能源成本,企业将在线服务和批处理作业共同放在其数据中心的同一个集群上。那在这种云数据中心的混部集群中,就存在在线服务的容器和批处理作业的计算任务这两种类型的工作负载。本章聚焦计算任务的调度场景,传统的调度算法通常利用计算任务与云环境中的相关信息,如计算节点的CPU、Memory、磁盘容量,或是任务依赖关系等,提供可接受的近似最优解。
在任务分配过程中,最大完工时间是云计算的重要优化目标。除了时间维度上的优化目标之外,还有能耗、成本、负载平衡等常见的优化目标。随着云计算的不断发展,由于云的动态性以及多个利益相关者多方面的需求,云计算中的调度问题变得更加复杂和具有挑战性。但是,不同需求之间经常存在冲突和矛盾。云服务提供商希望最大限度地维护自己的利益,在为用户提供必要服务的同时,能够最大限度地减少不必要的损失。云服务用户希望以可承受的成本获得尽可能好的用户体验。同时,云数据中心也在集群的资源容量和相关质量服务协定方面存在限制。所以最终如何做出一个科学合理的决策就成为一个关键的问题,这是一个可靠的调度方法与系统必须实现的事情。
传统的多目标优化方法是通过特定手段将多目标优化问题转化为单目标问题。例如加权方法,它为多个优化目标赋予不同的权重,将多个优化目标函数转化为单一优化目标函数,进而使用单目标优化方法进行求解。但是在实际应用场景中,由于用户偏好的变化,权重的值大多是不可预测的。对于基于帕累托最优的多目标优化问题,解决方案通常是一组非支配解。在帕累托最优模型中,对于所有目标,与其他解决方案相比,帕累托解集中非支配解的目标冲突最少,可以为决策者提供更好的选择,因此,基于非支配解的帕累托最优模型被更广泛地使用。
综上所述,发明一种面向两阶段任务调度的多目标群智能优化方法与系统具有很好的实用价值。
发明内容
本发明的第一目的在于针对多目标优化问题的冲突性和任务调度优化的解空间搜索不充分的问题,提供一种面向两阶段任务调度的多目标群智能优化方法,可以有效提高调度效率和优化解的多样性。
本发明的第二目的在于提供一种面向两阶段任务调度的多目标群智能优化系统。
本发明的第一目的通过下述技术方案实现:面向两阶段任务调度的多目标群智能优化方法,包括以下步骤:
1)解析收集到的用户提交的请求和集群状态信息,用户提交的请求包含计算任务的CPU计算资源需求量、工作持续时间和任务实例数,集群状态信息包括机器节点的数量和机器节点的CPU计算资源容量;
2)设置入侵肿瘤生长优化算法的关键参数,包括内部种群G的规模Q、双向莱维飞行的次数SN、帕累托解集的拥挤度阈值C和算法最大的迭代计算次数P;入侵肿瘤生长优化算法ITGO是一种通过模拟肿瘤的生长和入侵行为,从而在解空间中搜索可行解的群智能算法;在ITGO中,内部种群G有四类肿瘤细胞,分别是入侵细胞、生长细胞、休眠细胞和死亡细胞,四类肿瘤细胞根据各自的繁殖特性会执行不同的操作,并且根据细胞的活跃度不同,最活跃的入侵细胞会首先进行操作,生长细胞、休眠细胞、死亡细胞依次进行操作;
3)将解析出的信息输入ITGO,完成调度方案的输出;首先将云数据中心的任务调度过程分为机器分配和时间分配两个阶段,第一阶段的解空间为待调度的任务实例在机器节点上的分配方案,即确定待调度的任务实例分配至哪个机器节点上运行;第二阶段的解空间为分配至机器节点的任务实例的执行顺序,即确定机器节点上每个任务实例开始执行的时间点;在第一阶段的解空间中,入侵细胞通过IPOX细胞交叉操作进行搜索,生长细胞通过双向莱维飞行操作进行搜索;入侵细胞通过IPOX细胞交叉操作生成新的入侵细胞后进行非支配解比较,保留最新的非支配解;生长细胞通过双向莱维飞行操作生成新的生长细胞后进行非支配解比较,保留最新的非支配解;
4)第二阶段的解空间根据经过步骤3)生成的任务调度过程第一阶段的解展开;在第二阶段的解空间中,休眠细胞通过细胞变异操作进行搜索,休眠细胞通过细胞变异操作生成新的休眠细胞后进行非支配解比较,保留最新的非支配解;任务调度过程两个阶段的解空间搜索完成后得到一个帕累托解集;
5)死亡细胞计算步骤4)中得到的帕累托解集的拥挤度,与步骤2)中设置的帕累托解集的拥挤度阈值C进行比较,若超出了拥挤度阈值C,则执行剪枝策略删除帕累托解集中冗余的非支配解;如果当前迭代次数达到算法设定的最大迭代次数则结束优化,否则返回步骤3)继续执行。
进一步,在步骤1)中,收集到的用户提交的请求和集群状态信息来自阿里巴巴集群跟踪数据集Alibaba cluster-trace-v2018,这个数据集包含了4000台服务器、相应的在线应用容器和离线计算任务长达8天的运行情况,分别对应于machine、container和batchtask三个数据文件;使用数据集中批处理工作负载部分batch task数据文件中的数据来模拟基于云数据中心批处理模式的任务调度场景;数据解析的过程包括:首先根据machine数据文件中的数据特征和数值类型,提取集群中机器节点的CPU计算资源容量,设定集合M为集群中的N个机器节点:M=(m1,m2,...,mj,...,mN),其中第j个机器节点mj={capCPUj},mj的CPU计算资源容量为:capCPUj;基于批处理模式的任务调度将若干计算任务划分为独立的组进行处理,每轮调度仅考虑当前的批处理计算任务组,因此,每轮调度模拟用户提交的请求时,提取batch task数据文件中L个计算任务的数据,包括CPU计算资源需求量、工作持续时间和实例数三项,设定集合T为一个有L个计算任务的批处理计算任务组,T=(t1,t2,...,ti,...,tL),其中第i个计算任务ti={durationi,planCPUi,insNumi},durationi表示计算任务ti的工作持续时间,planCPUi表示执行计算任务ti所需的CPU计算资源,insNumi表示属于这个计算任务ti的任务实例的数量;由于每个计算实例都拥有若干任务实例,则一个有L个计算任务的批处理计算任务组所拥有的任务实例总数
Figure BDA0003560124550000031
设定TI为批处理计算任务组的所有任务实例,TI=(ti1,ti2,...,tik,...,tiK),其中tik={durationk,requiredCPUk,tidk},durationk表示第k个任务实例tik的工作持续时间,requiredCPUk表示第k个任务实例tik的CPU计算资源需求,tidk表示其所属任务实例的序号。
进一步,在步骤2)中,内部种群G中有Q个细胞,每个细胞记录的信息有细胞的位置信息和适应度值;使用帕累托最优模型来处理多目标优化问题,最终得到的所有非支配解组成帕累托解集;内部种群G用于保存迭代计算过程中具有非支配解的细胞,每个非支配解都是一个具体的调度方案,细胞的位置信息包括所有任务实例在机器节点上的分配方案和每个机器节点上任务实例的执行顺序,细胞的适应度值为优化目标的函数值,优化目标是找到一组任务调度方式,使得整个批处理计算任务组的最大完工时间
Figure BDA0003560124550000041
调度过程中的集群能耗
Figure BDA0003560124550000042
以及资源损耗成本
Figure BDA0003560124550000043
这三个优化目标函数的值最小化,其中stk表示第k个任务实例tik开始执行的时间戳,durationk表示第k个任务实例tik需要执行的持续时间,xkj是决策变量,xkj值为1时表示任务实例tik部署在第j个机器节点mj上,Pmax为机器节点满载时的最大功率,Pidle为机器节点开启但空载时的闲置功率,mkespanj的值是在第j个机器节点mj上最后一个执行结束的任务实例的时间戳,utilCPUj表示机器节点在调度过程中的资源利用率,cl是集群中CPU计算资源使用的单位费用。
进一步,在步骤3)中,将云数据中心的任务调度过程分为机器分配和时间分配两个阶段,在第一阶段的解空间搜索得到结果为调度序列AS,在第二阶段的解空间搜索得到结果为一个执行序列ES;在第一阶段的解空间中,入侵细胞通过IPOX细胞交叉操作进行搜索,生长细胞通过双向莱维飞行操作进行搜索;入侵细胞通过IPOX细胞交叉操作生成新的入侵细胞后进行非支配解比较,保留最新的非支配解;生长细胞通过双向莱维飞行操作生成新的生长细胞后进行非支配解比较,保留最新的非支配解;细胞的编码方式为一维解向量,用数值表示某个任务实例分配给了某个序号的机器节点;
所述的双向莱维飞行过程如下:
针对内部种群G的生长细胞gcellgi,在各个优化目标的极点上分别进行正向莱维飞行和反向莱维飞行,得到两个新解
Figure BDA0003560124550000044
Figure BDA0003560124550000045
其中u表示第u个优化目标,pole[u]为当前帕累托解集中第u个优化目标的极点,该极点不唯一,可能存在多个第u个优化目标值相同但是其它优化目标值不同且互不支配的点,因此对内部种群G中的每个生长细胞都产生若干个后代,父代和子代同存入内部种群G中求得帕累托最优解集;双向莱维飞行的过程如下公式所示:
Figure BDA0003560124550000046
Figure BDA0003560124550000051
式中,SP表示莱维飞行的步长,pole[u]1表示第u个优化目标的第1个极点。
进一步,在步骤4)中,第二阶段的解空间根据经过步骤3)生成的任务调度过程第一阶段的解展开,针对内部种群G进行备份得到种群G2,并重新计算种群G2的各个休眠细胞dorcelldi的解,其中调度过程的第二阶段计算中采用seqMutate细胞变异操作对机器节点上的待调度任务实例序列进行重新排序,内部种群G和种群G2合并后通过非支配比较求得帕累托解集,从而更新内部种群G;
所述的seqMutate细胞变异操作如下:
1)将一个非支配解依照机器节点序号分为H={H1,H2,...,Hi,...,HN},H为每个机器节点上部署任务实例序号的集合,其中,N为机器节点数量,第i个集合Hi=(ti1,ti2,...,tiS);即,集合Hi中记录着分配到第i个机器节点上的S个任务实例的序号,tiS代表第S个任务实例;
2)初始化变异概率F=1/fes,其中fes为当前迭代轮数,集合Hi大小为S,初始化当前处理维度s为0,并创建空集合W;
3)初始目标下标j为0,检查集合Hi中第s维对应的任务实例的序号,记为q;
4)随机产生一个数值,若满足该数值大于变异概率F或集合W中已存在第j维的任务实例的序号tij,则j=j+1,重复步骤4);若不满足该数值大于变异概率F或集合W中已存在第j维的任务实例的序号tij,则执行步骤5);
5)令j=j%S,集合W的第j维对应的任务实例的序号设为q;
6)令s=s+1,若s达到S重新排序结束,将集合转化为新的任务实例序列M,否则返回步骤3);
根据机器节点上任务实例序列M确定任务实例的开始执行时间,即得到第二阶段的解—执行序列ES,经过非支配解排序后更新帕累托解集。
进一步,在步骤5)中,针对内部种群G当前保存的非支配解,如果数量不超过C则内部种群G直接作为下一轮迭代的初始种群,如果数量超过C,就将内部种群G的细胞的解依照拥挤度距离从大到小排列,保留C个拥挤距离最大的解的细胞,更新内部种群G再进入下一轮迭代,如果当前迭代次数达到算法设定的最大迭代次数则结束优化,否则返回步骤3)继续执行。
本发明的第二目的通过下述技术方案实现:面向两阶段任务调度的多目标群智能优化系统,包括:
信息处理模块,用于解析收集到的用户提交的请求和集群状态信息,用户提交的请求包含着计算任务的CPU计算资源需求量、工作持续时间和任务实例数,集群状态信息包括机器节点的数量和机器节点的CPU计算资源容量;
算法初始化模块,用于设置ITGO的关键参数,包括内部种群G的规模Q、双向莱维飞行的次数SN、帕累托解集的拥挤度阈值C和算法最大的迭代计算次数P;根据信息处理模块中解析出的信息随机产生Q个可行解作为算法迭代计算初始的内部种群G;
算法迭代计算模块,基于入侵肿瘤生长优化算法ITGO,得到的帕累托解集中的非支配解;其中ITGO是一种通过模拟肿瘤的生长和入侵行为,从而在解空间中搜索可行解的群智能算法,在ITGO中,内部种群G有四类肿瘤细胞,分别是入侵细胞、生长细胞、休眠细胞和死亡细胞,四类肿瘤细胞根据各自的繁殖特性会执行不同的操作,并且根据细胞的活跃度不同,最活跃的入侵细胞会首先进行操作,生长细胞、休眠细胞、死亡细胞依次进行操作;
调度方案生成模块,将算法迭代计算模块得到的帕累托解集中的非支配解进行解析,得到第一阶段调度的调度序列AS和第二阶段调度的执行序列ES,并将集群中的任务实例按照调度方案分配至相应机器节点并在相应时间点启动执行。
进一步,在信息处理模块中,收集到的用户提交的请求和集群状态信息来自阿里巴巴集群跟踪数据集Alibaba cluster-trace-v2018,这个数据集包含了4000台服务器、相应的在线应用容器和离线计算任务长达8天的运行情况,分别对应于machine、container和batch task三个数据文件;使用数据集中批处理工作负载部分batch task数据文件中的数据来模拟基于云数据中心批处理模式的任务调度场景;数据解析的过程包括:首先根据machine数据文件中的数据特征和数值类型,提取集群中机器节点的CPU计算资源容量,集群中的N个机器节点M表示为:M=(m1,m2,...,mj,...,mN),其中第j个机器节点mj={capCPUj},mj的CPU计算资源容量为:capCPUj;基于批处理模式的任务调度将若干计算任务划分为独立的组进行处理,每轮调度仅考虑当前的批处理计算任务组,因此,每轮调度模拟用户提交的请求时,提取batch task数据文件中L个计算任务的数据,包括CPU计算资源需求量、工作持续时间和实例数三项,则一个有L个计算任务的批处理计算任务组T表示为T=(t1,t2,...,ti,...,tL),其中第i个计算任务ti={durationi,planCPUi,insNumi},durationi表示计算任务ti的工作持续时间,planCPUi表示执行计算任务ti所需的CPU计算资源,insNumi表示属于这个计算任务ti的任务实例的数量;由于每个计算实例都拥有若干任务实例,则一个有L个计算任务的批处理计算任务组所拥有的任务实例总数
Figure BDA0003560124550000071
设定TI为批处理计算任务组的所有任务实例,TI=(ti1,ti2,...,tik,...,tiK),其中tik={durationk,requiredCPUk,tidk},durationk表示第k个任务实例tik的工作持续时间,requiredCPUk表示第k个任务实例tik的CPU计算资源需求,tidk表示其所属任务实例的序号。
进一步,在算法初始化模块中,内部种群G中有Q个细胞,每个细胞记录的信息有细胞的位置信息和适应度值;使用帕累托最优模型来处理多目标优化问题,最终得到的所有非支配解组成帕累托解集;内部种群G用于保存迭代计算过程中具有非支配解的细胞,每个非支配解都是一个具体的调度方案,细胞的位置信息包括所有任务实例在机器节点上的分配方案和每个机器节点上任务实例的执行顺序,细胞的适应度值为优化目标的函数值,优化目标是找到一组任务调度方式,使得整个批处理计算任务组的最大完工时间
Figure BDA0003560124550000072
调度过程中的集群能耗
Figure BDA0003560124550000073
以及资源损耗成本
Figure BDA0003560124550000074
这三个优化目标函数的值最小化,其中stk表示第k个任务实例tik开始执行的时间戳,durationk表示第k个任务实例tik需要执行的持续时间,xkj是决策变量,xkj值为1时表示任务实例tik部署在第j个机器节点mj上,Pmax为机器节点满载时的最大功率,Pidle为机器节点开启但空载时的闲置功率,mkespanj的值是在第j个机器节点mj上最后一个执行结束的任务实例的时间戳,utilCPUj表示机器节点在调度过程中的资源利用率,cl是集群中CPU计算资源使用的单位费用;根据信息处理模块中解析出的信息随机产生Q个可行解作为算法迭代计算初始的内部种群G,种群中的每个细胞的编码方式为一维解向量,调度序列AS=(as1,as2,...,asK),asK的数值表示第K个任务实例部署到机器节点的序号,执行序列ES=(st1,st2,...,stK),stK的数值表示第K个任务实例开始执行的时间点。
进一步,在算法迭代计算模块中,根据细胞的活跃度不同,最活跃的入侵细胞会首先进行操作,生长细胞、休眠细胞、死亡细胞依次进行操作;内部种群G中的入侵细胞首先通过IPOX细胞交叉操作产生新的入侵细胞,通过非支配解比较,更新帕累托解集;
内部种群G中的生长细胞通过双向莱维飞行操作产生新的生长细胞,通过非支配解比较,更新帕累托解集,所述双向莱维飞行操作如下:
针对内部种群G的生长细胞gcellgi,在各个优化目标的极点上分别进行正向莱维飞行和反向莱维飞行,得到两个新解
Figure BDA0003560124550000081
Figure BDA0003560124550000082
其中u表示第u个优化目标,pole[u]为当前帕累托解集中第u个优化目标的极点,该极点不唯一,可能存在多个第u个优化目标值相同但是其他优化目标值不同且互不支配的点,因此对内部种群G中的每个生长细胞都产生若干个后代,父代和子代同存入内部种群G中求得帕累托最优解集;双向莱维飞行的过程如下公式所示:
Figure BDA0003560124550000083
Figure BDA0003560124550000084
式中,SP表示莱维飞行的步长,pole[u]1表示第u个优化目标的第1个极点;
内部种群G中的休眠细胞,通过seqMutate细胞变异操作对各个机器上的任务实例进行重新排序以求解目标函数,生成新的休眠细胞后更新帕累托解集,针对内部种群G进行备份得到种群G2,并重新计算种群G2的各个休眠细胞dorcelldi的解,其中调度过程的第二阶段计算中采用seqMutate细胞变异操作对机器节点上的待调度任务实例序列进行重新排序,内部种群G和种群G2合并后通过非支配比较求得帕累托解集,从而更新内部种群G;
所述的seqMutate细胞变异操作如下:
step1:将一个非支配解依照机器节点序号分为H={H1,H2,...,Hi,...,HN},H为每个机器节点上部署任务实例序号的集合,其中,N为机器节点数量,第i个集合Hi=(ti1,ti2,...,tiS);即,集合Hi中记录着分配到第i个机器节点上的S个任务实例的序号,tiS代表第S个任务实例;
step 2:初始化变异概率F=1/fes,其中fes为当前迭代轮数,集合Hi大小为S,初始化当前处理维度s为0,并创建空集合W;
step 3:初始目标下标j为0,检查集合Hi中第s维对应的任务实例的序号,记为q;
step 4:随机产生一个数值,若满足该数值大于变异概率F或集合W中已存在第j维的任务实例的序号tij,则j=j+1,重复此步骤;若不满足该数值大于变异概率F或集合W中已存在第j维的任务实例的序号tij,则执行步骤step 5;
step 5:令j=j%S,集合W的第j维对应的任务实例的序号设为q;
step 6:令s=s+1,若s达到S重新排序结束,将集合转化为新的任务实例序列M,否则返回步骤step 3;
根据机器节点上任务实例序列M确定任务实例的开始执行时间,即得到第二阶段的解—执行序列ES,经过非支配解排序后更新帕累托解集;
内部种群G中的死亡细胞采用拥挤度阈值筛选的更新策略进行更新,针对内部种群G当前保存的非支配解,如果数量不超过C则内部种群G直接作为下一轮迭代的初始种群,如果数量超过C,就将内部种群G的细胞的解依照拥挤度距离从大到小排列,保留C个拥挤距离最大的解的细胞,更新内部种群G再进入下一轮迭代,如果当前迭代次数达到算法设定的最大迭代次数P,则结束优化,否则返回入侵细胞的操作继续执行;
算法迭代计算完成后得到帕累托解集,经解析后完成调度方案的输出。
本发明与现有技术相比,具有如下优点与有益效果:
1、本发明对云数据中心的任务调度过程进一步细化,分为机器分配和时间分配两个阶段,能够有效改善调度解空间搜索不充分不完全和调度不合理分配的问题。
2、本发明基于帕累托最优模型进行多目标优化,更好完成对批处理计算任务组的最大完工时间、调度过程中集群的能耗和资源损耗成本这三个存在相互约束关系的共同目标的协同优化。
3、本发明相较于其它多目标任务调度的方法,收敛速度快、解的多样性更为丰富,因而在实际应用场景中具有广泛的使用空间,具有广阔的应用前景。
附图说明
图1为本发明提出两阶段任务调度的第一阶段图。
图2为本发明提出两阶段任务调度的第二阶段图。
图3为本发明提出的面向两阶段任务调度的多目标群智能优化方法的流程图。
图4为本发明提出的面向两阶段任务调度的多目标群智能优化系统的架构图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例1
如图1至图3所示,本实施例公开了一种面向两阶段任务调度的多目标群智能优化方法,其具体情况如下:
1)首先解析收集到的用户提交的请求和集群的状态信息,设定集合T为一个有L个计算任务的批处理计算任务组,T=(t1,t2,...,ti,...,tL),其中第i个计算任务ti={durationi,planCPUi,insNumi},durationi表示计算任务ti的工作持续时间,planCPUi表示执行计算任务ti所需的CPU计算资源,insNumi表示属于这个计算任务ti的任务实例的数量;由于每个计算实例都拥有若干任务实例,则一个有L个计算任务的批处理计算任务组所拥有的任务实例总数
Figure BDA0003560124550000101
设定TI为批处理计算任务组的所有任务实例,TI=(ti1,ti2,...,tik,...,tiK),其中tik={durationk,requiredCPUk,tidk},durationk表示第k个任务实例tik的工作持续时间,requiredCPUk表示第k个任务实例tik的CPU计算资源需求,tidk表示其所属任务实例的序号。本实施例从阿里巴巴集群跟踪数据集Alibabacluster-trace-v2018的batch task数据文件中提取3个计算任务的信息T=(t1,t2,t3),根据每个计算任务的请求信息解析出TI=(ti1,ti2,ti3,ti4,ti5,ti6,ti7,ti8),从machine数据文件中提取3个机器节点的信息M=(m1,m2,m3)。
2)设置入侵肿瘤生长优化算法ITGO(Invasive Tumor Growth Optimization)的关键参数,内部种群G的规模Q=100,双向莱维飞行的次数SN=5,帕累托解集的拥挤度阈值C=20,算法最大的迭代计算次数P=200。三个优化目标函数分别为最小化整个批处理计算任务组的最大完工时间
Figure BDA0003560124550000102
调度过程中的集群能耗
Figure BDA0003560124550000103
以及资源损耗成本
Figure BDA0003560124550000104
其中stk表示任务实例tik开始执行的时间戳,durationk表示任务实例tik需要执行的工作持续时间,xkj是决策变量,xkj值为1时表示任务实例tik部署在机器节点mj上。Pmax为机器节点满载时的最大功率,Pidle为机器节点开启但空载时的闲置功率。mkespanj的值是在机器节点mj上最后一个执行结束的任务实例的时间戳。utilCPUj表示机器节点在调度过程中的资源利用率,capCPUj为mj的CPU计算资源容量,cl是集群中CPU计算资源使用的单位费用。根据信息处理模块中解析出的信息随机产生Q=100个可行解作为算法迭代计算初始的内部种群G。
3)将步骤1)解析出的信息输入ITGO。在第一阶段的解空间中,入侵细胞通过IPOX细胞交叉操作进行搜索,生长细胞通过双向莱维飞行操作进行搜索。
针对内部种群G的生长细胞gcellgi,在各个优化目标的极点上分别进行正向莱维飞行和反向莱维飞行,得到两个新解
Figure BDA0003560124550000111
Figure BDA0003560124550000112
其中u表示第u个优化目标,pole[u]为当前帕累托解集中第u个优化目标的极点,该极点不唯一,可能存在多个第u个优化目标值相同但是其他优化目标值不同且互不支配的点,因此对内部种群G中的每个生长细胞都产生若干个后代,父代和子代同存入内部种群G中求得帕累托最优解集。双向莱维飞行的过程如下公式所示:
Figure BDA0003560124550000113
Figure BDA0003560124550000114
其中,SP表示莱维飞行的步长,pole[u]1表示第u个优化目标的第1个极点。
如图1所示,经过IPOX细胞交叉操作和双向莱维飞行之后,更新帕累托最优解集,其中一个非支配解的第一阶段的分配序列AS=(1 1 2 1 3 2 2 2 3 3),表示任务实例ti1、ti2、ti4被分配到了机器节点m1上,任务实例ti3、ti6、ti7、ti8被分配到了机器节点m2上,任务实例ti5、ti9、ti10被分配到了机器节点m3上。
4)第二阶段的解空间根据经过步骤3)生成的任务调度过程第一阶段的解展开。针对内部种群G进行备份得到种群G2,并重新计算种群G2的各个休眠细胞dorcelldi的解,其中调度过程的第二阶段计算中采用seqMutate细胞变异操作对机器节点上的待调度任务实例序列进行重新排序,内部种群G和种群G2合并后通过非支配比较求得帕累托解集,从而更新内部种群G。
进一步地,所述的seqMutate细胞变异操作如下:
step1:将一个非支配解依照机器节点序号分为H={H1,H2,...,Hi,...,HN},其中,N为机器节点数量,第i个集合Hi=(ti1,ti2,...,tiS);即,集合Hi中记录着分配到第i个机器节点上的S个任务实例的序号,tiS代表第S个任务实例。
step 2:初始化变异概率F=1/fes,其中fes为当前迭代轮数,集合Hi大小为S,初始化当前处理维度s为0,并创建空集合W;
step 3:初始目标下标j为0,检查集合Hi中第s维对应的任务实例的序号,记为q;
step 4:随机产生一个数值,若满足该数值大于变异概率F或集合W中已存在第j维的任务实例的序号tij,则j=j+1,重复此步骤;若不满足该数值大于变异概率F或集合W中已存在第j维的任务实例的序号tij,则执行步骤step 5;
step 5:令j=j%S,集合W的第j维对应的任务实例的序号设为q;
step 6:令s=s+1,若s达到S重新排序结束,将集合转化为新的任务实例序列M,否则返回步骤step 3;
根据机器节点上任务实例序列M确定任务实例的开始执行时间,即得到第二阶段的解—执行序列ES。经过非支配解排序后更新帕累托解集。
经过seqMutate细胞变异操作后,分配至机器节点上的任务实例都获得了开始执行的时间点,如图2所示,机器节点m2上最后一个执行完成的任务实例为ti8,因此,机器节点m2上的最大完工时间makespan2值为et8所表示的时间戳,也就是duration8与st8的值之和。
5)针对内部种群G当前保存的非支配解,如果数量不超过C则内部种群G直接作为下一轮迭代的初始种群,如果数量超过C,就将内部种群G的细胞的解依照拥挤度距离从大到小排列,保留C个拥挤距离最大的解的细胞,更新内部种群G再进入下一轮迭代。如果当前迭代次数达到算法设定的最大迭代次数则结束优化,否则返回步骤3)继续执行。
算法迭代计算完成后得到帕累托解集,经解析后完成调度方案的输出。
实施例2
参见图4所示,本实施例公开了一种面向两阶段任务调度的多目标群智能优化系统,包括以下功能模块:
信息处理模块,用于解析收集到的用户提交的请求和集群的状态信息,用户提交的请求包含着计算任务的CPU计算资源需求量、工作持续时间和任务实例数,集群状态信息包括机器节点的数量和机器节点的CPU计算资源容量。
算法初始化模块,用于设置ITGO的关键参数,包括内部种群G的规模Q、双向莱维飞行的步长D、帕累托解集的拥挤度阈值C、算法最大的迭代计算次数P。根据信息处理模块中解析出的信息随机产生Q个可行解作为算法迭代计算初始的内部种群G。
算法迭代计算模块,基于入侵肿瘤生长优化算法ITGO(Invasive Tumor GrowthOptimization),得到的帕累托解集中的非支配解;其中ITGO是一种通过模拟肿瘤的生长和入侵行为,从而在解空间中搜索可行解的群智能算法。在ITGO中,内部种群G有四类肿瘤细胞,分别是入侵细胞、生长细胞、休眠细胞和死亡细胞,四类肿瘤细胞根据各自的繁殖特性会执行不同的操作,并且根据细胞的活跃度不同,最活跃的入侵细胞会首先进行操作,生长细胞、休眠细胞、死亡细胞依次进行操作。
调度方案生成模块,将算法迭代计算模块得到的帕累托解集中的非支配解进行解析,得到第一阶段调度的调度序列AS和第二阶段调度的执行序列ES,并将集群中的任务实例按照调度方案分配至相应机器节点并在相应时间点启动执行。
进一步,在信息处理模块中,收集到的用户提交的请求和集群状态信息来自阿里巴巴集群跟踪数据集Alibaba cluster-trace-v2018,这个数据集中包含了4000台服务器、相应的在线应用容器和离线计算任务长达8天的运行情况,分别对应于machine、container和batch task三个数据文件。我们使用数据集中批处理工作负载部分batch task数据文件中的数据来模拟基于云数据中心批处理模式的任务调度场景。数据解析的过程包括:首先根据machine数据文件中的数据特征和数值类型,提取集群中机器节点的CPU计算资源容量,集群中的N个机器节点表示为M=(m1,m2,...,mj,...,mN)其中第j个机器节点mj={capCPUj},mj的计算资源容量为capCPUj;基于批处理模式的任务调度将若干计算任务划分为独立的组进行处理,每轮调度仅考虑当前的批处理计算任务组,因此,每轮调度模拟用户提交的请求时,提取batch task数据文件中L个计算任务的数据,包括CPU计算资源需求量、工作持续时间和实例数三项,则一个有L个计算任务的批处理计算任务组表示为T=(t1,t2,...,ti,...,tL),其中第i个计算任务ti={durationi,planCPUi,insNumi},durationi表示计算任务ti的工作持续时间,planCPUi表示执行计算任务ti所需的CPU计算资源,insNumi表示属于这个计算任务ti的任务实例的数量。由于每个计算实例都拥有若干任务实例,则一个有L个计算任务的批处理计算任务组所拥有的任务实例总数
Figure BDA0003560124550000141
TI=(ti1,ti2,...,tik,...,tiK),其中tik={durationk,requiredCPUk,tidk},durationk表示第k个任务实例tik的工作持续时间,requiredCPUk表示其CPU计算资源需求,tidk表示其所属任务实例的序号。
进一步,在算法初始化模块中,ITGO的关键参数,包括内部种群G的规模Q、双向莱维飞行的次数SN、帕累托解集的拥挤度阈值C、算法最大的迭代计算次数P。其中,内部种群G中有Q个细胞,每个细胞记录的信息有细胞的位置信息和适应度值。面向两阶段任务调度的多目标群智能优化方法使用帕累托最优模型来处理多目标优化问题。假设解A对应的优化目标函数值优越于其它任何解,则称解A为最优解,如果找不到其它的解能够完全优越于解A,则解A为一个非支配解。在帕累托模型中,不同解之间通过非支配比较,即比较各个解优化目标函数值之间的优越性,最终得到的所有非支配解组成帕累托解集。内部种群G用于保存迭代计算过程中具有非支配解的细胞,每个非支配解都是一个具体的调度方案,细胞的位置信息包括所有任务实例在机器节点上的分配方案和每个机器节点上任务实例的执行顺序,细胞的适应度值信息为任务调度优化目标的函数值,其中任务调度优化目标是找到一组任务资源调度方式,使得整个批处理任务的最大完工时间
Figure BDA0003560124550000142
调度过程中的集群能耗
Figure BDA0003560124550000143
以及资源损耗成本
Figure BDA0003560124550000144
这三个优化目标函数的值最小化,其中stk表示任务实例tik开始执行的时间戳,durationk表示任务实例tik需要执行的持续时间,xkj是决策变量,xkj值为1时表示任务实例tik部署在机器节点mj上。Pmax为机器节点满载时的最大功率,Pidle为机器节点开启但空载时的闲置功率。mkespanj的值是在机器节点mj上最后一个执行结束的任务实例的时间戳。utilCPUj表示机器节点在调度过程中的资源利用率,cl是集群中CPU计算资源使用的单位费用。根据信息处理模块中解析出的信息随机产生Q个可行解作为算法迭代计算初始的内部种群G,种群中的每个细胞的编码方式为一维解向量,调度序列AS=(as1,as2,...,asK),asK的数值表示第K个任务实例部署到机器节点的序号,例如,若as1=3则表示第1个任务实例分配至序号为3的机器节点上;执行序列ES=(st1,st2,...,stK),stK的数值表示第K个任务实例开始执行的时间点。
进一步,在算法迭代计算模块中,根据细胞的活跃度不同,最活跃的入侵细胞会首先进行操作,生长细胞、休眠细胞、死亡细胞依次进行操作。内部种群G中的入侵细胞首先通过IPOX细胞交叉操作产生新的入侵细胞,通过非支配解比较,更新帕累托解集。
内部种群G中的生长细胞通过双向莱维飞行操作产生新的生长细胞,通过非支配解比较,更新帕累托解集,所述双向莱维飞行操作如下:
针对内部种群G的生长细胞gcellgi,在各个优化目标的极点上分别进行正向莱维飞行和反向莱维飞行,得到两个新解
Figure BDA0003560124550000151
Figure BDA0003560124550000152
其中u表示第u个优化目标,pole[u]为当前帕累托解集中第u个优化目标的极点,该极点不唯一,可能存在多个第u个优化目标值相同但是其他优化目标值不同且互不支配的点,因此对内部种群G中的每个生长细胞都产生若干个后代,父代和子代同存入内部种群G中求得帕累托最优解集。双向莱维飞行的过程如下公式所示:
Figure BDA0003560124550000153
Figure BDA0003560124550000154
其中,SP表示莱维飞行的步长,pole[u]1表示第u个优化目标的第1个极点。
内部种群G中的休眠细胞,通过seqMutate细胞变异操作对各个机器上的任务实例进行重新排序以求解目标函数,生成新的休眠细胞后更新帕累托解集,针对内部种群G进行备份得到种群G2,并重新计算种群G2的各个休眠细胞dorcelldi的解,其中调度过程的第二阶段计算中采用seqMutate细胞变异操作对机器节点上的待调度任务实例序列进行重新排序,内部种群G和种群G2合并后通过非支配比较求得帕累托解集,从而更新内部种群G。
进一步地,所述的seqMutate细胞变异操作如下:
step1:将一个非支配解依照机器节点序号分为H={H1,H2,...,Hi,...,HN},H为每个机器节点上部署任务实例序号的集合,其中,N为机器节点数量,Hi=(ti1,ti2,...,tiS);即,集合Hi中记录着分配到第i个机器节点上的任务实例ti的序号。
step 2:初始化变异概率F=1/fes,其中fes为当前迭代轮数,Hi集合大小为S,初始化当前处理维度s为0,并创建空集合W;
step 3:初始目标下标j为0,检查集合Hi中第s维对应的任务实例的序号,记为q;
step 4:随机产生一个数值,若满足该数值大于变异概率F或集合W中已存在第j维的任务实例的序号tij,则j=j+1,重复此步骤;若不满足该数值大于变异概率F或集合W中已存在第j维的任务实例的序号tij,则执行步骤step 5;
step 5:令j=j%S,集合W的第j维对应的任务实例的序号设为q;
step 6:令s=s+1,若s达到S重新排序结束,将集合转化为新的任务实例序列M,否则返回步骤step 3;
根据机器节点上任务实例序列M确定任务实例的开始执行时间,即得到第二阶段的解—执行序列ES。经过非支配解排序后更新帕累托解集。
内部种群G中的死亡细胞采用拥挤度阈值筛选的更新策略进行更新,针对内部种群G当前保存的非支配解,如果数量不超过C则内部种群G直接作为下一轮迭代的初始种群,如果数量超过C,就将内部种群G的细胞的解依照拥挤度距离从大到小排列,保留C个拥挤距离最大的解的细胞,更新内部种群G再进入下一轮迭代。如果当前迭代次数达到算法设定的最大迭代次数P,则结束优化,否则返回入侵细胞的操作继续执行。
算法迭代计算完成后得到帕累托解集,经解析后完成调度方案的输出。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (10)

1.面向两阶段任务调度的多目标群智能优化方法,其特征在于,包括以下步骤:
1)解析收集到的用户提交的请求和集群状态信息,用户提交的请求包含计算任务的CPU计算资源需求量、工作持续时间和任务实例数,集群状态信息包括机器节点的数量和机器节点的CPU计算资源容量;
2)设置入侵肿瘤生长优化算法的关键参数,包括内部种群G的规模Q、双向莱维飞行的次数SN、帕累托解集的拥挤度阈值C和算法最大的迭代计算次数P;入侵肿瘤生长优化算法ITGO是一种通过模拟肿瘤的生长和入侵行为,从而在解空间中搜索可行解的群智能算法;在ITGO中,内部种群G有四类肿瘤细胞,分别是入侵细胞、生长细胞、休眠细胞和死亡细胞,四类肿瘤细胞根据各自的繁殖特性会执行不同的操作,并且根据细胞的活跃度不同,最活跃的入侵细胞会首先进行操作,生长细胞、休眠细胞、死亡细胞依次进行操作;
3)将解析出的信息输入ITGO,完成调度方案的输出;首先将云数据中心的任务调度过程分为机器分配和时间分配两个阶段,第一阶段的解空间为待调度的任务实例在机器节点上的分配方案,即确定待调度的任务实例分配至哪个机器节点上运行;第二阶段的解空间为分配至机器节点的任务实例的执行顺序,即确定机器节点上每个任务实例开始执行的时间点;在第一阶段的解空间中,入侵细胞通过IPOX细胞交叉操作进行搜索,生长细胞通过双向莱维飞行操作进行搜索;入侵细胞通过IPOX细胞交叉操作生成新的入侵细胞后进行非支配解比较,保留最新的非支配解;生长细胞通过双向莱维飞行操作生成新的生长细胞后进行非支配解比较,保留最新的非支配解;
4)第二阶段的解空间根据经过步骤3)生成的任务调度过程第一阶段的解展开;在第二阶段的解空间中,休眠细胞通过细胞变异操作进行搜索,休眠细胞通过细胞变异操作生成新的休眠细胞后进行非支配解比较,保留最新的非支配解;任务调度过程两个阶段的解空间搜索完成后得到一个帕累托解集;
5)死亡细胞计算步骤4)中得到的帕累托解集的拥挤度,与步骤2)中设置的帕累托解集的拥挤度阈值C进行比较,若超出了拥挤度阈值C,则执行剪枝策略删除帕累托解集中冗余的非支配解;如果当前迭代次数达到算法设定的最大迭代次数则结束优化,否则返回步骤3)继续执行。
2.根据权利要求1所述的面向两阶段任务调度的多目标群智能优化方法,其特征在于,在步骤1)中,收集到的用户提交的请求和集群状态信息来自阿里巴巴集群跟踪数据集Alibaba cluster-trace-v2018,这个数据集包含了4000台服务器、相应的在线应用容器和离线计算任务长达8天的运行情况,分别对应于machine、container和batch task三个数据文件;使用数据集中批处理工作负载部分batch task数据文件中的数据来模拟基于云数据中心批处理模式的任务调度场景;数据解析的过程包括:首先根据machine数据文件中的数据特征和数值类型,提取集群中机器节点的CPU计算资源容量,设定集合M为集群中的N个机器节点:M=(m1,m2,...,mj,...,mN),其中第j个机器节点mj={capCPUj},mj的CPU计算资源容量为:capCPUj;基于批处理模式的任务调度将若干计算任务划分为独立的组进行处理,每轮调度仅考虑当前的批处理计算任务组,因此,每轮调度模拟用户提交的请求时,提取batch task数据文件中L个计算任务的数据,包括CPU计算资源需求量、工作持续时间和实例数三项,设定集合T为一个有L个计算任务的批处理计算任务组,T=(t1,t2,...,ti,...,tL),其中第i个计算任务ti={durationi,planCPUi,insNumi},durationi表示计算任务ti的工作持续时间,planCPUi表示执行计算任务ti所需的CPU计算资源,insNumi表示属于这个计算任务ti的任务实例的数量;由于每个计算实例都拥有若干任务实例,则一个有L个计算任务的批处理计算任务组所拥有的任务实例总数
Figure FDA0003560124540000021
设定TI为批处理计算任务组的所有任务实例,TI=(ti1,ti2,...,tik,...,tiK),其中tik={durationk,requiredCPUk,tidk},durationk表示第k个任务实例tik的工作持续时间,requiredCPUk表示第k个任务实例tik的CPU计算资源需求,tidk表示其所属任务实例的序号。
3.根据权利要求2所述的面向两阶段任务调度的多目标群智能优化方法,其特征在于,在步骤2)中,内部种群G中有Q个细胞,每个细胞记录的信息有细胞的位置信息和适应度值;使用帕累托最优模型来处理多目标优化问题,最终得到的所有非支配解组成帕累托解集;内部种群G用于保存迭代计算过程中具有非支配解的细胞,每个非支配解都是一个具体的调度方案,细胞的位置信息包括所有任务实例在机器节点上的分配方案和每个机器节点上任务实例的执行顺序,细胞的适应度值为优化目标的函数值,优化目标是找到一组任务调度方式,使得整个批处理计算任务组的最大完工时间
Figure FDA0003560124540000022
调度过程中的集群能耗
Figure FDA0003560124540000023
以及资源损耗成本
Figure FDA0003560124540000024
这三个优化目标函数的值最小化,其中stk表示第k个任务实例tik开始执行的时间戳,durationk表示第k个任务实例tik需要执行的持续时间,xkj是决策变量,xkj值为1时表示任务实例tik部署在第j个机器节点mj上,Pmax为机器节点满载时的最大功率,Pidle为机器节点开启但空载时的闲置功率,mkespanj的值是在第j个机器节点mj上最后一个执行结束的任务实例的时间戳,utilCPUj表示机器节点在调度过程中的资源利用率,cl是集群中CPU计算资源使用的单位费用。
4.根据权利要求1所述的面向两阶段任务调度的多目标群智能优化方法,其特征在于,在步骤3)中,将云数据中心的任务调度过程分为机器分配和时间分配两个阶段,在第一阶段的解空间搜索得到结果为调度序列AS,在第二阶段的解空间搜索得到结果为一个执行序列ES;在第一阶段的解空间中,入侵细胞通过IPOX细胞交叉操作进行搜索,生长细胞通过双向莱维飞行操作进行搜索;入侵细胞通过IPOX细胞交叉操作生成新的入侵细胞后进行非支配解比较,保留最新的非支配解;生长细胞通过双向莱维飞行操作生成新的生长细胞后进行非支配解比较,保留最新的非支配解;细胞的编码方式为一维解向量,用数值表示某个任务实例分配给了某个序号的机器节点;
所述的双向莱维飞行过程如下:
针对内部种群G的生长细胞gcellgi,在各个优化目标的极点上分别进行正向莱维飞行和反向莱维飞行,得到两个新解
Figure FDA0003560124540000031
Figure FDA0003560124540000032
其中u表示第u个优化目标,pole[u]为当前帕累托解集中第u个优化目标的极点,该极点不唯一,可能存在多个第u个优化目标值相同但是其它优化目标值不同且互不支配的点,因此对内部种群G中的每个生长细胞都产生若干个后代,父代和子代同存入内部种群G中求得帕累托最优解集;双向莱维飞行的过程如下公式所示:
Figure FDA0003560124540000033
Figure FDA0003560124540000034
式中,SP表示莱维飞行的步长,pole[u]1表示第u个优化目标的第1个极点。
5.根据权利要求1所述的面向两阶段任务调度的多目标群智能优化方法,其特征在于,在步骤4)中,第二阶段的解空间根据经过步骤3)生成的任务调度过程第一阶段的解展开,针对内部种群G进行备份得到种群G2,并重新计算种群G2的各个休眠细胞dorcelldi的解,其中调度过程的第二阶段计算中采用seqMutate细胞变异操作对机器节点上的待调度任务实例序列进行重新排序,内部种群G和种群G2合并后通过非支配比较求得帕累托解集,从而更新内部种群G;
所述的seqMutate细胞变异操作如下:
1)将一个非支配解依照机器节点序号分为H={H1,H2,...,Hi,...,HN},H为每个机器节点上部署任务实例序号的集合,其中,N为机器节点数量,第i个集合Hi=(ti1,ti2,...,tiS);即,集合Hi中记录着分配到第i个机器节点上的S个任务实例的序号,tiS代表第S个任务实例;
2)初始化变异概率F=1/fes,其中fes为当前迭代轮数,集合Hi大小为S,初始化当前处理维度s为0,并创建空集合W;
3)初始目标下标j为0,检查集合Hi中第s维对应的任务实例的序号,记为q;
4)随机产生一个数值,若满足该数值大于变异概率F或集合W中已存在第j维的任务实例的序号tij,则j=j+1,重复步骤4);若不满足该数值大于变异概率F或集合W中已存在第j维的任务实例的序号tij,则执行步骤5);
5)令j=j%S,集合W的第j维对应的任务实例的序号设为q;
6)令s=s+1,若s达到S重新排序结束,将集合转化为新的任务实例序列M,否则返回步骤3);
根据机器节点上任务实例序列M确定任务实例的开始执行时间,即得到第二阶段的解—执行序列ES,经过非支配解排序后更新帕累托解集。
6.根据权利要求1所述的面向两阶段任务调度的多目标群智能优化方法,其特征在于,在步骤5)中,针对内部种群G当前保存的非支配解,如果数量不超过C则内部种群G直接作为下一轮迭代的初始种群,如果数量超过C,就将内部种群G的细胞的解依照拥挤度距离从大到小排列,保留C个拥挤距离最大的解的细胞,更新内部种群G再进入下一轮迭代,如果当前迭代次数达到算法设定的最大迭代次数则结束优化,否则返回步骤3)继续执行。
7.面向两阶段任务调度的多目标群智能优化系统,其特征在于,包括:
信息处理模块,用于解析收集到的用户提交的请求和集群状态信息,用户提交的请求包含着计算任务的CPU计算资源需求量、工作持续时间和任务实例数,集群状态信息包括机器节点的数量和机器节点的CPU计算资源容量;
算法初始化模块,用于设置ITGO的关键参数,包括内部种群G的规模Q、双向莱维飞行的次数SN、帕累托解集的拥挤度阈值C和算法最大的迭代计算次数P;根据信息处理模块中解析出的信息随机产生Q个可行解作为算法迭代计算初始的内部种群G;
算法迭代计算模块,基于入侵肿瘤生长优化算法ITGO,得到的帕累托解集中的非支配解;其中ITGO是一种通过模拟肿瘤的生长和入侵行为,从而在解空间中搜索可行解的群智能算法,在ITGO中,内部种群G有四类肿瘤细胞,分别是入侵细胞、生长细胞、休眠细胞和死亡细胞,四类肿瘤细胞根据各自的繁殖特性会执行不同的操作,并且根据细胞的活跃度不同,最活跃的入侵细胞会首先进行操作,生长细胞、休眠细胞、死亡细胞依次进行操作;
调度方案生成模块,将算法迭代计算模块得到的帕累托解集中的非支配解进行解析,得到第一阶段调度的调度序列AS和第二阶段调度的执行序列ES,并将集群中的任务实例按照调度方案分配至相应机器节点并在相应时间点启动执行。
8.根据权利要求7所述的面向两阶段任务调度的多目标群智能优化系统,其特征在于,在信息处理模块中,收集到的用户提交的请求和集群状态信息来自阿里巴巴集群跟踪数据集Alibaba cluster-trace-v2018,这个数据集包含了4000台服务器、相应的在线应用容器和离线计算任务长达8天的运行情况,分别对应于machine、container和batch task三个数据文件;使用数据集中批处理工作负载部分batch task数据文件中的数据来模拟基于云数据中心批处理模式的任务调度场景;数据解析的过程包括:首先根据machine数据文件中的数据特征和数值类型,提取集群中机器节点的CPU计算资源容量,集群中的N个机器节点M表示为:M=(m1,m2,...,mj,...,mN),其中第j个机器节点mj={capCPUj},mj的CPU计算资源容量为:capCPUj;基于批处理模式的任务调度将若干计算任务划分为独立的组进行处理,每轮调度仅考虑当前的批处理计算任务组,因此,每轮调度模拟用户提交的请求时,提取batch task数据文件中L个计算任务的数据,包括CPU计算资源需求量、工作持续时间和实例数三项,则一个有L个计算任务的批处理计算任务组T表示为T=(t1,t2,...,ti,...,tL),其中第i个计算任务ti={durationi,planCPUi,insNumi},durationi表示计算任务ti的工作持续时间,planCPUi表示执行计算任务ti所需的CPU计算资源,insNumi表示属于这个计算任务ti的任务实例的数量;由于每个计算实例都拥有若干任务实例,则一个有L个计算任务的批处理计算任务组所拥有的任务实例总数
Figure FDA0003560124540000051
设定TI为批处理计算任务组的所有任务实例,TI=(ti1,ti2,...,tik,...,tiK),其中tik={durationk,requiredCPUk,tidk},durationk表示第k个任务实例tik的工作持续时间,requiredCPUk表示第k个任务实例tik的CPU计算资源需求,tidk表示其所属任务实例的序号。
9.根据权利要求7所述的面向两阶段任务调度的多目标群智能优化系统,其特征在于,在算法初始化模块中,内部种群G中有Q个细胞,每个细胞记录的信息有细胞的位置信息和适应度值;使用帕累托最优模型来处理多目标优化问题,最终得到的所有非支配解组成帕累托解集;内部种群G用于保存迭代计算过程中具有非支配解的细胞,每个非支配解都是一个具体的调度方案,细胞的位置信息包括所有任务实例在机器节点上的分配方案和每个机器节点上任务实例的执行顺序,细胞的适应度值为优化目标的函数值,优化目标是找到一组任务调度方式,使得整个批处理计算任务组的最大完工时间
Figure FDA0003560124540000061
调度过程中的集群能耗
Figure FDA0003560124540000062
以及资源损耗成本
Figure FDA0003560124540000063
这三个优化目标函数的值最小化,其中stk表示第k个任务实例tik开始执行的时间戳,durationk表示第k个任务实例tik需要执行的持续时间,xkj是决策变量,xkj值为1时表示任务实例tik部署在第j个机器节点mj上,Pmax为机器节点满载时的最大功率,Pidle为机器节点开启但空载时的闲置功率,mkespanj的值是在第j个机器节点mj上最后一个执行结束的任务实例的时间戳,utilCPUj表示机器节点在调度过程中的资源利用率,cl是集群中CPU计算资源使用的单位费用;根据信息处理模块中解析出的信息随机产生Q个可行解作为算法迭代计算初始的内部种群G,种群中的每个细胞的编码方式为一维解向量,调度序列AS=(as1,as2,...,asK),asK的数值表示第K个任务实例部署到机器节点的序号,执行序列ES=(st1,st2,...,stK),stK的数值表示第K个任务实例开始执行的时间点。
10.根据权利要求7所述的面向两阶段任务调度的多目标群智能优化系统,其特征在于,在算法迭代计算模块中,根据细胞的活跃度不同,最活跃的入侵细胞会首先进行操作,生长细胞、休眠细胞、死亡细胞依次进行操作;内部种群G中的入侵细胞首先通过IPOX细胞交叉操作产生新的入侵细胞,通过非支配解比较,更新帕累托解集;
内部种群G中的生长细胞通过双向莱维飞行操作产生新的生长细胞,通过非支配解比较,更新帕累托解集,所述双向莱维飞行操作如下:
针对内部种群G的生长细胞gcellgi,在各个优化目标的极点上分别进行正向莱维飞行和反向莱维飞行,得到两个新解
Figure FDA0003560124540000071
Figure FDA0003560124540000072
其中u表示第u个优化目标,pole[u]为当前帕累托解集中第u个优化目标的极点,该极点不唯一,可能存在多个第u个优化目标值相同但是其他优化目标值不同且互不支配的点,因此对内部种群G中的每个生长细胞都产生若干个后代,父代和子代同存入内部种群G中求得帕累托最优解集;双向莱维飞行的过程如下公式所示:
Figure FDA0003560124540000073
Figure FDA0003560124540000074
式中,SP表示莱维飞行的步长,pole[u]1表示第u个优化目标的第1个极点;
内部种群G中的休眠细胞,通过seqMutate细胞变异操作对各个机器上的任务实例进行重新排序以求解目标函数,生成新的休眠细胞后更新帕累托解集,针对内部种群G进行备份得到种群G2,并重新计算种群G2的各个休眠细胞dorcelldi的解,其中调度过程的第二阶段计算中采用seqMutate细胞变异操作对机器节点上的待调度任务实例序列进行重新排序,内部种群G和种群G2合并后通过非支配比较求得帕累托解集,从而更新内部种群G;
所述的seqMutate细胞变异操作如下:
step1:将一个非支配解依照机器节点序号分为H={H1,H2,...,Hi,...,HN},H为每个机器节点上部署任务实例序号的集合,其中,N为机器节点数量,第i个集合Hi=(ti1,ti2,...,tiS);即,集合Hi中记录着分配到第i个机器节点上的S个任务实例的序号,tiS代表第S个任务实例;
step2:初始化变异概率F=1/fes,其中fes为当前迭代轮数,集合Hi大小为S,初始化当前处理维度s为0,并创建空集合W;
step3:初始目标下标j为0,检查集合Hi中第s维对应的任务实例的序号,记为q;
step4:随机产生一个数值,若满足该数值大于变异概率F或集合W中已存在第j维的任务实例的序号tij,则j=j+1,重复此步骤;若不满足该数值大于变异概率F或集合W中已存在第j维的任务实例的序号tij,则执行步骤step5;
step5:令j=j%S,集合W的第j维对应的任务实例的序号设为q;
step6:令s=s+1,若s达到S重新排序结束,将集合转化为新的任务实例序列M,否则返回步骤step3;
根据机器节点上任务实例序列M确定任务实例的开始执行时间,即得到第二阶段的解—执行序列ES,经过非支配解排序后更新帕累托解集;
内部种群G中的死亡细胞采用拥挤度阈值筛选的更新策略进行更新,针对内部种群G当前保存的非支配解,如果数量不超过C则内部种群G直接作为下一轮迭代的初始种群,如果数量超过C,就将内部种群G的细胞的解依照拥挤度距离从大到小排列,保留C个拥挤距离最大的解的细胞,更新内部种群G再进入下一轮迭代,如果当前迭代次数达到算法设定的最大迭代次数P,则结束优化,否则返回入侵细胞的操作继续执行;
算法迭代计算完成后得到帕累托解集,经解析后完成调度方案的输出。
CN202210286438.5A 2022-03-23 2022-03-23 面向两阶段任务调度的多目标群智能优化方法与系统 Pending CN114691327A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210286438.5A CN114691327A (zh) 2022-03-23 2022-03-23 面向两阶段任务调度的多目标群智能优化方法与系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210286438.5A CN114691327A (zh) 2022-03-23 2022-03-23 面向两阶段任务调度的多目标群智能优化方法与系统

Publications (1)

Publication Number Publication Date
CN114691327A true CN114691327A (zh) 2022-07-01

Family

ID=82139276

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210286438.5A Pending CN114691327A (zh) 2022-03-23 2022-03-23 面向两阶段任务调度的多目标群智能优化方法与系统

Country Status (1)

Country Link
CN (1) CN114691327A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116860419A (zh) * 2023-09-04 2023-10-10 北京大学 一种服务器无感知数据分析的并行调度方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104239213A (zh) * 2014-09-29 2014-12-24 北京航空航天大学 一种面向航天器自动化测试的并行测试任务两阶段调度方法
CN108279647A (zh) * 2017-12-06 2018-07-13 吉林大学 一种两阶段装配流水车间调度方法
CN110909787A (zh) * 2019-11-18 2020-03-24 安徽大学 基于聚类的进化算法进行多目标批调度优化的方法和系统
WO2021036658A1 (zh) * 2019-08-29 2021-03-04 华中科技大学 用于铸造并行车间主生产计划的多目标优化方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104239213A (zh) * 2014-09-29 2014-12-24 北京航空航天大学 一种面向航天器自动化测试的并行测试任务两阶段调度方法
CN108279647A (zh) * 2017-12-06 2018-07-13 吉林大学 一种两阶段装配流水车间调度方法
WO2021036658A1 (zh) * 2019-08-29 2021-03-04 华中科技大学 用于铸造并行车间主生产计划的多目标优化方法及系统
CN110909787A (zh) * 2019-11-18 2020-03-24 安徽大学 基于聚类的进化算法进行多目标批调度优化的方法和系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116860419A (zh) * 2023-09-04 2023-10-10 北京大学 一种服务器无感知数据分析的并行调度方法及系统
CN116860419B (zh) * 2023-09-04 2023-11-24 北京大学 一种服务器无感知数据分析的并行调度方法及系统

Similar Documents

Publication Publication Date Title
CN112016812B (zh) 多无人机任务调度方法、系统及存储介质
CN110632907A (zh) 一种分布式装配式置换流水车间调度优化方法及系统
CN112685138B (zh) 云环境下基于多种群混合智能优化的多工作流调度方法
CN106371924B (zh) 一种最小化MapReduce集群能耗的任务调度方法
CN109491761A (zh) 基于eda-ga混合算法的云计算多目标任务调度方法
CN110008023B (zh) 基于遗传算法的云计算系统预算约束随机任务调度方法
Pooranian et al. Hybrid metaheuristic algorithm for job scheduling on computational grids
CN109840551B (zh) 一种用于机器学习模型训练的优化随机森林参数的方法
Chandra et al. Web service selection using modified artificial bee colony algorithm
CN110119399A (zh) 基于机器学习的业务流程优化方法
CN114461368A (zh) 一种基于协同果蝇算法的多目标云工作流调度方法
CN114691327A (zh) 面向两阶段任务调度的多目标群智能优化方法与系统
Azari et al. A data replication algorithm for groups of files in data grids
Dong et al. A hybrid algorithm for workflow scheduling in cloud environment
Awad et al. A swarm intelligence-based approach for dynamic data replication in a cloud environment
CN113157381B (zh) 基于非支配排序和猫头鹰搜索的多工作流调度方法
CN110119268A (zh) 基于人工智能的工作流优化方法
CN114138494B (zh) 一种结合节点计算能力的负载均衡方法
CN112818198B (zh) 一种高度解耦可动态管理爬虫的方法
CN114980216A (zh) 基于移动边缘计算的依赖型任务卸载系统及方法
CN106970840A (zh) 一种结合任务调度的软硬件划分方法
Maashi et al. Elevating Survivability in Next-Gen IoT-Fog-Cloud Networks: Scheduling Optimization With the Metaheuristic Mountain Gazelle Algorithm
Dong et al. Accelerating skycube computation with partial and parallel processing for service selection
Liu et al. Task scheduling model of edge computing for AI flow computing in Internet of Things
CN110928670A (zh) 云计算环境下基于偏序自适应遗传算法的工作流优化方法

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