CN107357652A - 一种基于分段排序及标准差调整因子的云计算任务调度方法 - Google Patents

一种基于分段排序及标准差调整因子的云计算任务调度方法 Download PDF

Info

Publication number
CN107357652A
CN107357652A CN201710458109.3A CN201710458109A CN107357652A CN 107357652 A CN107357652 A CN 107357652A CN 201710458109 A CN201710458109 A CN 201710458109A CN 107357652 A CN107357652 A CN 107357652A
Authority
CN
China
Prior art keywords
task
mrow
msub
time
standard deviation
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
CN201710458109.3A
Other languages
English (en)
Other versions
CN107357652B (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.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
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 Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN201710458109.3A priority Critical patent/CN107357652B/zh
Publication of CN107357652A publication Critical patent/CN107357652A/zh
Application granted granted Critical
Publication of CN107357652B publication Critical patent/CN107357652B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • 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
    • 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
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/484Precedence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multi Processors (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明实施例提供了一种基于分段排序及标准差调整因子的云计算任务调度方法,包括:基于任务的独立性和异构的硬件计算节点,建立任务调度数学模型,确定预期执行矩阵ETC;利用动态规划的多阶段决策组合优化方法,计算各个任务的平均预期执行时间,并以此为依据将任务进行分段,使长时间执行的任务可以优先执行,缩短执行时间;在各个分段中,计算每个任务在各个计算节点下运行时间的标准差,然后根据其大小,将标准差大的任务优先调度到最短完成时间的计算节点上,从而减少任务等待时间。根据本发明实施例提供的技术方案,可以实现提高任务调度的效率,缩短时间跨度,确保负载均衡。

Description

一种基于分段排序及标准差调整因子的云计算任务调度方法
【技术领域】
本发明涉及数据处理技术领域,尤其涉及一种基于分段排序及标准差调整因子的云计算任务调度方法。
【背景技术】
任务调度算法是云计算技术的核心,它直接决定着整个系统的运行效率。一般意义上调度是任务与任务处理器的一种映射。云计算系统中资源种类众多,提供服务效率不一,规模巨大,怎样更有效利用云计算系统中的资源一直是一个核心关注热点。选择合适的任务调度算法有助于提高云计算的处理效率、减少成本等。
传统调度算法包括轮询、随机、hash算法等,但由于算法简单,操作方便,比较适用于短任务,任务数较少的同构环境,对于异构计算环境来说有许多不足,从而造成时间跨度(makespan)增大。经典启发式算法包括min-min算法、sufferage算法、遗传、蚁群法。遗传、蚁群算法的复杂度较高,min-min算法以最快的速度减少调度中的任务,以尽量缩短所有任务的完成时间,但min-min算法会使系统负载不均衡,并导致makespan较大。Max-min算法首先调度长任务,一定程度上能够使负载平衡趋于均衡,但该算法缺陷是,没有考虑任务的执行频率。与min-min算法先调度短任务不同的是,seg-min-min算法在调度前先对任务按长度排序,执行时间长的任务段较早被调度,且被调度到处理能力强的机器上在执行长任务的同时能执行若干短任务,这样任务的整体执行时间可能只由长任务来决定,而长任务又被分配到了执行该任务的最佳资源上,所以会使总的任务执行时间缩短,但是一味地优先调度长任务,会造成短任务停滞等待,甚至负载均衡度大大降低。
【发明内容】
基于上述,本发明提出一种基于分段排序及标准差调整因子的云计算任务调度方法。基于任务的独立性和异构的硬件计算节点,建立任务调度数学模型,确定预期执行矩阵ETC;利用动态规划的多阶段决策组合优化方法,计算各个任务的平均预期执行时间,并以此为依据将任务进行分段,使长时间执行的任务可以优先执行,缩短执行时间;在各个分段中,计算每个任务在各个计算节点下预期运行时间的标准差,然后根据其大小,将标准差大的任务优先调度到最短完成时间的计算节点上,从而减少任务等待时间。
以往算法对任务执行时间考虑不足,单纯追求当前局部最优,给全局性能带来了负面影响。在一个给定的计算环境上任务执行时间是存在差异的。有的在不同的计算环境上差异大些,有的差异小些。对执行时间差异大的任务,差异越大按以往的算法带来的负面影响越大。针对表1的一个示例,对以往算法进行改进,可以一定程度上提高性能,弥补不足,结果对比如图2所示。本发明的优点在于:从任务之间相互独立、长度长短不一等特点出发,根据ETC矩阵,采取相应的调度策略。基于动态规划思想,利用多阶段决策的组合优化方法,根据分段和标准差来规划每个任务的调度问题,从全局角度出发,不仅考虑当前任务,也考虑下一步的调度,使得总体的时间跨度缩短,同时也兼顾提高了负载均衡性,提高对计算资源的利用率。
表1任务与机器执行时间示例
T0 T1 T2
H0 2 4 6
H1 4 8 13
H2 7 14 18
Ti代表第i个任务,i=0,1,…,n
Hj代表第j个处理器节点,j=0,1,…,m
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍。
图1为本发明实施例所提供的基于分段排序及标准差调整因子的云计算任务调度方法的流程示意图;
图2为本发明对传统min-min算法的缺点分析;
图3为本发明中改进算法的详细实施步骤图;
图4为本发明中改进算法与原有算法时间跨度对比与差值趋势图;
图5为本发明中改进算法与原有算法负载均衡对比与差值趋势图。
【具体实施方式】
为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。
(一)实施步骤
本发明主要分为三大步骤:(1)基于任务的独立性和异构的硬件计算节点,建立任务调度数学模型,确定预期执行矩阵ETC;(2)利用动态规划的多阶段决策组合优化方法,计算各个任务的平均预期执行时间,并以此为依据将任务进行分段,使长时间执行的任务可以优先执行,缩短执行时间;(3)在各个分段中,计算每个任务在各个计算节点下运行时间的标准差,然后根据其大小,将标准差大的任务优先调度到最短完成时间的计算节点上,从而减少任务等待时间。具体的流程示意图如图3。
任务调度目的是合理分配任务,实现最佳调度策略并且有效地完成任务。利用动态规划算法进行任务调度研究,以任务运行时间最少为优化目标,把任务与计算集群中的异构计算机匹配看成多阶段决策的组合优化。
1.基于任务的独立性和异构的硬件计算节点,建立任务调度数学模型,确定预期执行矩阵ETC:
1-1)根据用户提交的任务数生成任务列表T={t1,t2,t3,...},其中ti代表编号为i的任务,它们都是相互独立的任务。利用当前可利用计算节点生成计算资源列表(m个计算资源的集合),由于考虑到多个用户、多个任务调度的情况,这里设定任务数量n远远大于计算机节点数量m;
1-2)根据任务数、任务规模和资源计算能力,计算出每一个任务在不同计算节点上的运行时间etcij,构建ETC矩阵。ETC矩阵可以用来表达任务和计算节点的异构性,它是一种性能预测模型;n个任务在m个计算节点上的预测执行时间ETC是一个n×m的矩阵,矩阵的第i行表示任务i在每一个计算节点的预测执行时间;第j列则表示在第j项计算机上的各个任务的预测执行时间:
1≤i≤n;1≤j≤m
上述公式中,etcij代表任务i在第j计算资源上的预期执行时间,tij代表附加通信时间,eij代表任务i在计算节点j的运行指令时间,inputsizei代表任务i额外附加信息,作为扩展使用,lengthi代表任务i的任务长度,bandwidthj代表计算节点j的通信带宽,mipsj代表计算节点j的处理速度;
1-3)确定任务调度的目标和评价性能的标准-时间跨度和负载均衡,时间跨度是指从提交的任务列表中最后一个执行的任务时间与第一个任务开始执行的时间的差值,负载均衡可以使得全局获得较高的性能,避免计算资源出现一部分超重负载而发生崩溃,然而另一部分资源却闲置,不得利用的情况发生;任务调度的目标是使得最慢完成的计算机的处理时间最短,也就是最小的时间跨度,该算法不仅利用历史的调度信息,也使用预测信息,以期达到最终完成时间最短的目的(如下公式中的λi代表任务i是否被调度到计算节点j,它的值为0或1,0代表没有,1代表有):
负载均衡可以体现一个系统的各个服务器上的负载是否均衡,利用各个服务器的负载值的标准方差来衡量:首先需要先根据每个计算节点的负载量求出所有负载的平均值,然后再根据标准差公式求得负载的标准差:
其中,m代表计算节点数,xi代表第i个计算节点的负载量,代表所有负载的平均值,σ代表所有负载的标准差。
2.利用动态规划的多阶段决策组合优化方法,计算各个任务的平均预期执行时间,并以此为依据将任务进行分段,使长时间执行的任务可以优先执行,缩短执行时间:
2-1)鉴于任务的异构性,这里将每个任务的平均执行时间ei作为排序的标准:
2-2)将平均执行时间的长短作为排序标准,利用快速排序方法对任务排序。快速排序方法适用于大数据,且速度比较快,时间复杂度为O(nlogn),不同于以往排序过程,该排序过程需要任务和执行时间保持一致,在排序过程中需要对任务和执行时间的对应关系进行记录。排序过程大致如下:
2-2-1)先从待排序的数组中取出一个数作为基准数;
2-2-2)以此基准数为基准,将无序数组中比基准数大的数全放到它的右子区间,小于或等于基准数的全放到它的左子区间;
2-2-3)分别对左右两个子区间进行排序;
2-2-4)递归调用快速排序这个过程,直到整个数组变为有序数列;
2-3)根据快速排序后的排序结果,按照平均执行时间值ei大小对任务进行均匀分段,分为4-5段;分段值的设置会影响算法性能。分段值越大负载越趋于均衡,但分段值过大会降低算法的计算效率。多次实验得出分段值为4-5的算法在时间跨度和负载均衡方面最为合适。
3.计算每个任务在各个计算节点下运行时间的标准差,然后根据其大小,将标准差大的任务优先调度到最短完成时间的计算节点上,从而减少任务等待时间,缩短时间跨度。
标准差用以反映各个任务在各个计算节点上执行时间的离散程度。标准差较小的任务就说明其在各个计算节点上的执行时间基本一致,无论将它调度到哪个计算节点都不会对整个测试执行时间造成大的波动,对时间跨度影响不会很大;而标准差较大说明该任务在各个计算节点上的执行时间具有明显的不同,随机地将它分配到某个计算节点,将会对总体的时间跨度造成很大的影响,当标准差较大的任务率先进行调度时,可以全局性地缩短所有任务的时间跨度。从而减少任务等待时间,缩短时间跨度。
3-1)段内任务进行标准差优先级调整。标准差可以反映任务在每个计算节点上执行时间的离散程度,将此作为调整因子来缩短执行时间是具有意义的。利用之前求得的平均执行时间求得每个任务预期执行时间的标准差σ;
3-2)根据每个任务执行时间的标准差按照大小降序排列,在每段任务序列中将标准差大的任务优先调度到最小完成时间的计算节点上,从而减少任务等待时间,缩短时间跨度;并且当多个计算节点与将要分配的任务相匹配时,优先选择最小资源利用率的计算节点来执行任务;
3-3)计算每次调度中任务的mctij,构建MCT矩阵,MCT为n×m的预测最短完成时间矩阵,rj为已调度的计算资源等待时间,mctij为第i行第j列所在任务的预测最短的完成时间:
mctij=etcij+rj
3-4)针对每个任务,选择mctij最小的进行任务与计算节点的匹配;
3-5)最后完成所有任务的调度,计算总的调度时间和负载均衡度、任务调度列表等。
本发明实施例所提出的一种基于分段排序及标准差调整因子的云计算任务调度方法的伪代码如下:
(二)性能分析
将本发明所提出的基于分段排序及标准差调整因子的智能电表云测试任务调度算法的性能分析主要从时间跨度、负载均衡两个方面与任务调度算法min-min相比较。
1.时间跨度:从用户第一个任务开始执行到最后一个任务执行完毕的时间跨度;
2.负载均衡:衡量一个系统的负载是否平衡,可以采用各个计算节点负载的标准方差来判断,标准方差就是用来判断一组数据波动性大小的一个指标,其值越小,波动性就越小,也就是各个计算节点之间的负载更均衡,差别更小。
本发明算法与原有min-min算法对比分析如表2所示,在这组实验中,保持计算节点的数量和属性不变,通过改变任务的数量来对比分析:
(1)计算节点:设置3台服务器,设置虚拟节点为每台10个,处理速度也就是为100到500的随机数,单位为mips;
(2)任务:设置任务的数量不断增加:3,6,30,60,100,200,300,400,500,800,1000不等;任务长度即任务大小,用指令数表示,指定任务的长度为1000到10000之间的随机数。
表2不同任务数量对时间跨度和负载平衡的影响
从对比分析来看出本发明提出的算法在时间跨度和负载均衡方面都有所提高。从表2和图4、5中可以看出:
(1)随着任务数的增长,改进算法的时间跨度较之原有算法得到显著提高,提高百分比基本保持在13-16%之间;并且随着任务量的增加,改进算法与原有算法之间的时间跨度的差距越来越大,这说明任务量越大,改进算法的时间跨度方面的性能越好。
(2)改进后的算法的负载均衡,虽然提高百分比相较原有Min-min算法有高有低,但随着任务量的增加可以看出负载均衡度的标准差都非常小,这说明改进后算法的负载均衡程度仍是比较高,计算节点负载量差别较小;且随着任务量的增加差距几乎保持在2以内。
本发明提出的算法主要将长任务优先执行,兼顾将标准差较大的分配给执行最快的机器,一定程度上缩短了总的调度时间;同时利用“分组”和“标准差”来调整任务调度分配情况,可以使得各个任务得到更适合的处理器,从而缩短任务调度跨度时间和提高负载均衡性,验证该算法的可行性和合理性。

Claims (4)

1.一种基于分段排序及标准差调整因子的云计算任务调度方法,其特征在于包括以下步骤:
步骤1:基于任务的独立性和异构的硬件计算节点,建立任务调度数学模型,确定预期执行矩阵ETC;
步骤2:利用动态规划的多阶段决策组合优化方法,计算各个任务的平均预期执行时间,并以此为依据将任务进行分段,使长时间执行的任务可以优先执行,缩短执行时间;
步骤3:在各个分段中,计算每个任务在各个计算节点下运行时间的标准差,然后根据其大小,将标准差大的任务优先调度到最短完成时间的计算节点上,从而减少任务等待时间。
2.权利要求1所述的基于分段排序及标准差调整因子的云计算任务调度方法,其特征在于:
所述步骤1中基于任务的独立性和异构的硬件计算节点,建立任务调度数学模型,确定预期执行矩阵ETC,具体步骤如下:
2-1根据任务数、任务规模和资源计算能力,得出任务列表和计算资源列表,计算出每一个任务在不同资源上的运行时间,构建ETC矩阵;ETC矩阵可以用来表达任务和机器的异构性,它是一种性能预测模型;n个任务在m个资源上的预测执行时间ETC是一个n×m的矩阵,矩阵的第i行表示任务i在每一个计算节点的预测执行时间;第j列则表示在第j项计算机上的各个任务的预测执行时间:
<mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mi>etc</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>=</mo> <msub> <mi>t</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>e</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>t</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>=</mo> <msub> <mi>inputsize</mi> <mi>i</mi> </msub> <mo>/</mo> <msub> <mi>bandwidth</mi> <mi>j</mi> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>e</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>=</mo> <msub> <mi>length</mi> <mi>i</mi> </msub> <mo>/</mo> <msub> <mi>mips</mi> <mi>j</mi> </msub> </mrow> </mtd> </mtr> </mtable> </mfenced>
1≤i≤n;1≤j≤m
上述公式中,etcij代表任务i在第j计算资源上的预期执行时间,tij代表附加通信时间,eij代表任务i在计算节点j的运行指令时间,inputsizei代表任务i额外附加信息,作为扩展使用,lengthi代表任务i的任务长度,bandwidthj代表计算节点j的通信带宽,mipsj代表计算节点j的处理速度;
2-2确定并计算任务调度的目标和评价性能的标准-时间跨度和负载均衡;任务调度的目标是使得最慢完成的计算机的处理时间最短,也就是最小的时间跨度(如下公式中的λi代表任务i是否被调度到计算节点j,它的值为0或1,0代表没有,1代表有):
<mrow> <mi>m</mi> <mi>i</mi> <mi>n</mi> <mo>&amp;lsqb;</mo> <munder> <mrow> <mi>m</mi> <mi>a</mi> <mi>x</mi> </mrow> <mi>j</mi> </munder> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <msub> <mi>&amp;lambda;</mi> <mi>i</mi> </msub> <msub> <mi>etc</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>&amp;rsqb;</mo> </mrow>
态规划的多阶段决策组合优化方法,计算各个任务的平均预期执行时间,并以此为依据将负载均衡衡量一个系统的负载是否平衡,这里用各个计算节点负载的标准方差来判断:
<mrow> <mi>&amp;sigma;</mi> <mo>=</mo> <msqrt> <mfrac> <mrow> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>m</mi> </munderover> <msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>-</mo> <mover> <mi>x</mi> <mo>&amp;OverBar;</mo> </mover> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> <mi>m</mi> </mfrac> </msqrt> </mrow>
其中,m代表计算节点数,xi代表第i个计算节点的负载量,代表所有负载的平均值,σ代表所有负载的标准差。
3.权利要求1所述的基于分段排序及标准差调整因子的云计算任务调度方法,其特征在于:
所述步骤2中利用动任务进行分段,使长时间执行的任务可以优先执行,缩短执行时间,具体步骤为:
3-1根据任务独立和计算节点异构的特点,计算将每个任务的平均执行时间ei,将其作为排序的标准:
<mrow> <msub> <mi>e</mi> <mi>i</mi> </msub> <mo>=</mo> <mfrac> <mrow> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>m</mi> </munderover> <msub> <mi>etc</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> </mrow> <mi>m</mi> </mfrac> </mrow>
3-2将平均执行时间的长短作为排序标准,利用快速排序方法对任务排序;快速排序方法采用分治的策略,适用于大数据,且速度比较快,可以达到O(nlogn),其步骤分为三步:
3-2-1先从带排序的数组中取出一个数作为基准数;
3-2-2分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边;
3-2-3再对左右区间重复第二步,直到各区间只有一个数;
3-3根据快速排序后的排序结果,按照平均执行时间值ei大小顺序对任务进行均匀分段,分为4-5段;分段主要是为了将长任务优先调度,同时也是提高负载均衡度。
4.权利要求1所述的基于分段排序及标准差调整因子的云计算任务调度方法,其特征在于:
所述步骤3中在各个分段中,计算每个任务在各个计算节点下运行时间的标准差,然后根据其大小,将标准差大的任务优先调度到最短完成时间的计算节点上,从而减少任务等待时间;具体步骤为:
4-1段内任务进行标准差优先级调整;标准差可以反映任务在每个处理器上执行的离散程度,将此作为调整因子来缩短执行时间;利用之前求得的平均执行时间求得每个任务预期执行时间的标准差σ:
<mrow> <mi>&amp;sigma;</mi> <mo>=</mo> <msqrt> <mrow> <mfrac> <mn>1</mn> <mi>m</mi> </mfrac> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>m</mi> </munderover> <msup> <mrow> <mo>(</mo> <msub> <mi>e</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>-</mo> <msub> <mi>e</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> </msqrt> </mrow>
4-2计算每次调度中任务的mctij,构建MCT矩阵,MCT为n×m的预测最短完成时间矩阵,rj为已调度的计算资源等待时间,mctij为第i行第j列所在任务的预测最短的完成时间:
mctij=etcij+rj
4-3依次对每个任务进行调度,直到所有的任务都结束,最后得到调度序列以及时间跨度、负载均衡等指标。
CN201710458109.3A 2017-06-16 2017-06-16 一种基于分段排序及标准差调整因子的云计算任务调度方法 Active CN107357652B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710458109.3A CN107357652B (zh) 2017-06-16 2017-06-16 一种基于分段排序及标准差调整因子的云计算任务调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710458109.3A CN107357652B (zh) 2017-06-16 2017-06-16 一种基于分段排序及标准差调整因子的云计算任务调度方法

Publications (2)

Publication Number Publication Date
CN107357652A true CN107357652A (zh) 2017-11-17
CN107357652B CN107357652B (zh) 2020-10-23

Family

ID=60272925

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710458109.3A Active CN107357652B (zh) 2017-06-16 2017-06-16 一种基于分段排序及标准差调整因子的云计算任务调度方法

Country Status (1)

Country Link
CN (1) CN107357652B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108255593A (zh) * 2017-12-20 2018-07-06 东软集团股份有限公司 基于共享资源的任务协调方法、装置、介质及电子设备
CN108279981A (zh) * 2018-01-30 2018-07-13 东华理工大学 基于访存优先级的gpgpu性能优化方法
CN109597681A (zh) * 2018-10-22 2019-04-09 平安科技(深圳)有限公司 云端控制方法、装置、计算机设备及存储介质
CN109710407A (zh) * 2018-12-21 2019-05-03 浪潮电子信息产业股份有限公司 分布式系统实时任务调度方法、装置、设备及存储介质
CN110489238A (zh) * 2019-08-21 2019-11-22 北京百度网讯科技有限公司 节点检测方法、装置、电子设备及存储介质
CN111929633A (zh) * 2020-05-31 2020-11-13 宁夏隆基宁光仪表股份有限公司 一种基于融合蚁群算法的电能表检测系统及方法
CN113220428A (zh) * 2021-04-23 2021-08-06 复旦大学 针对云计算系统实时性需求的动态任务调度算法
CN113434310A (zh) * 2021-06-23 2021-09-24 未鲲(上海)科技服务有限公司 多线程任务分配方法、装置、设备及存储介质
CN114518944A (zh) * 2021-12-30 2022-05-20 河南大学 一种异构环境下的批处理独立任务调度方法
CN114546623A (zh) * 2022-03-01 2022-05-27 淮安市第二人民医院 一种基于大数据系统的任务调度方法和系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050038818A1 (en) * 2003-08-11 2005-02-17 Hooks David Eugene Systems and methods for creation and use of an adaptive reference model
CN102904963A (zh) * 2012-10-25 2013-01-30 上海电机学院 一种基于云模型云服务的管理方法及系统
CN104732325A (zh) * 2013-12-20 2015-06-24 达索系统美国公司 用于自动调度的计算机方法和装置
CN104917839A (zh) * 2015-06-12 2015-09-16 浪潮电子信息产业股份有限公司 一种用于云计算环境下的负载均衡方法
CN105302638A (zh) * 2015-11-04 2016-02-03 国家计算机网络与信息安全管理中心 基于系统负载的mpp集群任务调度方法
CN106101196A (zh) * 2016-06-01 2016-11-09 上海上大海润信息系统有限公司 一种基于概率模型的云渲染平台任务调度系统及方法
CN106534291A (zh) * 2016-11-04 2017-03-22 广东电网有限责任公司电力科学研究院 基于大数据处理的电压监测方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050038818A1 (en) * 2003-08-11 2005-02-17 Hooks David Eugene Systems and methods for creation and use of an adaptive reference model
CN102904963A (zh) * 2012-10-25 2013-01-30 上海电机学院 一种基于云模型云服务的管理方法及系统
CN104732325A (zh) * 2013-12-20 2015-06-24 达索系统美国公司 用于自动调度的计算机方法和装置
CN104917839A (zh) * 2015-06-12 2015-09-16 浪潮电子信息产业股份有限公司 一种用于云计算环境下的负载均衡方法
CN105302638A (zh) * 2015-11-04 2016-02-03 国家计算机网络与信息安全管理中心 基于系统负载的mpp集群任务调度方法
CN106101196A (zh) * 2016-06-01 2016-11-09 上海上大海润信息系统有限公司 一种基于概率模型的云渲染平台任务调度系统及方法
CN106534291A (zh) * 2016-11-04 2017-03-22 广东电网有限责任公司电力科学研究院 基于大数据处理的电压监测方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
吾守尔•斯拉木等: "基于GHS的任务调度算法改进", 《计算机工程》 *

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108255593B (zh) * 2017-12-20 2020-11-03 东软集团股份有限公司 基于共享资源的任务协调方法、装置、介质及电子设备
CN108255593A (zh) * 2017-12-20 2018-07-06 东软集团股份有限公司 基于共享资源的任务协调方法、装置、介质及电子设备
CN108279981A (zh) * 2018-01-30 2018-07-13 东华理工大学 基于访存优先级的gpgpu性能优化方法
CN109597681A (zh) * 2018-10-22 2019-04-09 平安科技(深圳)有限公司 云端控制方法、装置、计算机设备及存储介质
CN109597681B (zh) * 2018-10-22 2024-05-07 平安科技(深圳)有限公司 云端控制方法、装置、计算机设备及存储介质
CN109710407A (zh) * 2018-12-21 2019-05-03 浪潮电子信息产业股份有限公司 分布式系统实时任务调度方法、装置、设备及存储介质
CN110489238A (zh) * 2019-08-21 2019-11-22 北京百度网讯科技有限公司 节点检测方法、装置、电子设备及存储介质
CN111929633A (zh) * 2020-05-31 2020-11-13 宁夏隆基宁光仪表股份有限公司 一种基于融合蚁群算法的电能表检测系统及方法
CN113220428B (zh) * 2021-04-23 2022-06-21 复旦大学 针对云计算系统实时性需求的动态任务调度方法
CN113220428A (zh) * 2021-04-23 2021-08-06 复旦大学 针对云计算系统实时性需求的动态任务调度算法
CN113434310A (zh) * 2021-06-23 2021-09-24 未鲲(上海)科技服务有限公司 多线程任务分配方法、装置、设备及存储介质
CN113434310B (zh) * 2021-06-23 2024-03-22 深圳博瑞晶芯科技有限公司 多线程任务分配方法、装置、设备及存储介质
CN114518944A (zh) * 2021-12-30 2022-05-20 河南大学 一种异构环境下的批处理独立任务调度方法
CN114518944B (zh) * 2021-12-30 2024-07-16 河南大学 一种异构环境下的批处理独立任务调度方法
CN114546623A (zh) * 2022-03-01 2022-05-27 淮安市第二人民医院 一种基于大数据系统的任务调度方法和系统
CN114546623B (zh) * 2022-03-01 2022-12-27 淮安市第二人民医院 一种基于大数据系统的任务调度方法和系统

Also Published As

Publication number Publication date
CN107357652B (zh) 2020-10-23

Similar Documents

Publication Publication Date Title
CN107357652A (zh) 一种基于分段排序及标准差调整因子的云计算任务调度方法
Alkayal et al. Efficient task scheduling multi-objective particle swarm optimization in cloud computing
CN103631657A (zh) 一种基于MapReduce的任务调度算法
CN112685138B (zh) 云环境下基于多种群混合智能优化的多工作流调度方法
Chen et al. Scheduling independent tasks in cloud environment based on modified differential evolution
CN106250240A (zh) 一种任务优化调度方法
CN111966495B (zh) 数据处理方法和装置
Wang et al. Dominance rule and opposition-based particle swarm optimization for two-stage assembly scheduling with time cumulated learning effect
Li et al. Research on QoS service composition based on coevolutionary genetic algorithm
Biswas et al. A novel scheduling with multi-criteria for high-performance computing systems: an improved genetic algorithm-based approach
CN115220898A (zh) 一种基于深度强化学习的任务调度方法、系统、装置及介质
CN115454612A (zh) 一种基于维度学习策略和灰狼优化的云平台任务调度方法
Shukla et al. FAT-ETO: Fuzzy-AHP-TOPSIS-Based efficient task offloading algorithm for scientific workflows in heterogeneous fog–cloud environment
Zhang et al. EHEFT-R: multi-objective task scheduling scheme in cloud computing
Jiao et al. Immune optimization of task scheduling on multidimensional QoS constraints
CN108364030B (zh) 一种基于三层动态粒子群算法的多分类器模型构建方法
CN113901728A (zh) 基于迁移遗传算法的电脑第二类装配线平衡优化方法
Yu [Retracted] Research on Optimization Strategy of Task Scheduling Software Based on Genetic Algorithm in Cloud Computing Environment
Wu et al. A genetic-ant-colony hybrid algorithm for task scheduling in cloud system
CN116360921A (zh) 一种面向电力物联网的云平台资源优化调度方法及系统
CN110689320A (zh) 一种基于协同进化算法的大规模多目标项目调度方法
Javadi-Moghaddam et al. Resource allocation in cloud computing using advanced imperialist competitive algorithm.
Dai et al. Improved greedy strategy for cloud computing resources scheduling
CN110297694A (zh) 一种基于资源分类和任务优先级的启发式云计算调度方法
CN114980216A (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
GR01 Patent grant
GR01 Patent grant