CN104765640B - 一种智能服务调度方法 - Google Patents

一种智能服务调度方法 Download PDF

Info

Publication number
CN104765640B
CN104765640B CN201410001514.9A CN201410001514A CN104765640B CN 104765640 B CN104765640 B CN 104765640B CN 201410001514 A CN201410001514 A CN 201410001514A CN 104765640 B CN104765640 B CN 104765640B
Authority
CN
China
Prior art keywords
scheduling
subtask
subtasks
time
ect
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.)
Active
Application number
CN201410001514.9A
Other languages
English (en)
Other versions
CN104765640A (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.)
Zhengzhou Xinrand Network Technology Co ltd
Original Assignee
Institute of Acoustics CAS
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 Institute of Acoustics CAS filed Critical Institute of Acoustics CAS
Priority to CN201410001514.9A priority Critical patent/CN104765640B/zh
Priority to PCT/CN2014/081424 priority patent/WO2015100995A1/zh
Publication of CN104765640A publication Critical patent/CN104765640A/zh
Application granted granted Critical
Publication of CN104765640B publication Critical patent/CN104765640B/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/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Multi Processors (AREA)
  • Power Sources (AREA)

Abstract

本发明涉及一种智能服务调度方法,用于实现多个任务在服务器集群上的调度,所述多个任务之间不具有时序关系,所述任务包括多个具有时序关系的子任务;该方法包括:将多个任务聚合到不同的任务组中,在每个任务组中,将时序上处于同一级别的子任务聚合成一个新的子任务;以所述新的子任务作为最小调度单元在服务器集群中做并行子任务调度。本发明考虑了一个任务内部所包含的多个具有时序依赖的子任务的调度问题,在子任务级别上进行任务聚合,从而得出适合粒度的最小调度单元。另外,在性能指标的选取方面,综合考虑了实时性和能耗两种性能指标。

Description

一种智能服务调度方法
技术领域
本发明涉及操作系统领域,特别涉及一种智能服务调度方法。
背景技术
任务调度是操作系统中的常见操作,对于实时操作系统而言,任务调度会直接影响其实时性能。
用于实现任务调度的方法被称为任务调度算法,现有技术中的任务调度算法有多种,但多数是出于任务级别的调度。下面对现有技术中的任务调度算法分别做简要的介绍。
Min-Min算法首先预测出当前任务队列中每一个任务在各个处理器上的最小完成时间,然后将具有最小完成时间的任务分配给相应的处理器,同时更新相应的处理器的就绪时间,将被分配的任务从任务队列移去,如此重复分配剩余的任务,直至整个任务队列为空。Min-Min算法易出现负载不均衡现象。
Max-Min算法与Min-Min算法不同之处在于,在确定了每个任务在各个处理器上的最早完成时间之后,将具有最大的最早完成时间的任务分配给相应的处理器,并及时更新相应的处理器就绪时间,对于剩下的任务进行重复处理。Max-Min算法在负载均衡方面比Min-Min算法有所改善,但Max-Min算法是将整个任务作为最小调度单元进行调度,而当一个任务内部包含了多个小粒度子任务时,Max-Min算法并未将各个子任务的调度方案做详细分析。
Promethee算法在任务端,根据用户自定义的标准(例如任务规模、在当前处理器上的预测执行用时、花销等指标中的一种,也可以是将多种指标进行加权处理得到的综合性能指标)将待执行的任务进行优先级排序;在处理器端,实时监控机器状态,一旦有机器出现空闲状态,便根据事先得到的任务优先级排序将优先级最高的任务分配到当前空闲的机器上去。仿真表明,适当地调整各个性能指标之间的权值,可使算法实现多方面的性能最优,但Promethee算法同样未涉及对于一个任务内部的多个小粒度子任务的调度方案,而是将任务作为整体进行分配。
另有一些针对某个任务内部的多级时序相关子任务的调度算法,但是并没有涉及到如何应对大批量任务同时出现、多个同级别子任务同时存在的问题。
对时序相关子任务并行调度的遗传算法首先分析了子任务之间的时序要求,对所有子任务执行时的时间深度值进行排序。然后随机生成若干种“子任务-节点”分配矩阵,每一种“子任务-节点”矩阵即为一种分配方案。算法的思路是随机生成若干种分配方案构成初始种群,并对种群中的个体进行变异和筛选操作,使之逐代改进,从而得到新的、完成时间更短的方案。经过很多代遗传算法之后,可以得出稳定的、较优的解。但是遗传算法的复杂度较高,在网络中任务总数较多的情况下会造成很大的计算时延。
EDTS算法是针对一个任务内部的N步子任务进行最优调度的方法,算法首先预测出各个子任务在所有机器上执行所花费的时间及能耗,然后为这一连串任务设定了总截止时间,在固定的总截止时间下,结合已有的时序关系,找出尽可能节能的子任务分配方式,但EDTS算法只是针对一个任务进行拆分、调度,实现的是一个任务自身的性能最优,当网络中出现大量媒体任务时,子任务之间由于时序约束造成的相互等待时长较长,每个任务的局部最优与整体的优化是矛盾的。
发明内容
本发明的目的在于克服现有技术中的任务调度方法在任务总数较多时容易造成计算时延,无法同时满足局部最优与整体最优等缺陷,从而提供一种针对批量、大粒度任务的智能调度方法。
为了实现上述目的,本发明提供了一种智能服务调度方法,用于实现多个任务在服务器集群上的调度,所述多个任务之间不具有时序关系,所述任务包括多个具有时序关系的子任务;该方法包括:
步骤1)、将多个任务聚合到不同的任务组中,在每个任务组中,将时序上处于同一级别的子任务聚合成一个新的子任务;
步骤2)、以步骤1)所得到的所述新的子任务作为最小调度单元在服务器集群中做并行子任务调度。
上述技术方案中,所述步骤2)包括初始化调度阶段,该初始化调度阶段包括:将各个任务组中聚合而成的子任务按照时序关系分为Q级,对子任务的调度按时间级别分为Q轮,在每一轮中,只调度该级别的g个子任务,待其完全分配后,再调度下一级子任务;其中的g表示任务组的数目。
上述技术方案中,所述步骤2)还包括位于所述初始化调度阶段之后的动态调整阶段,该动态调整阶段包括:在编译结束后、服务器执行的过程中,每当一个聚合而成的子任务执行结束后,根据时序要求调整其后继聚合而成的子任务的调度开始时间。
上述技术方案中,在所述步骤2)的初始化调度阶段,将任务组中聚合而成的子任务按照实时性要求分为紧迫性任务或非紧迫型任务;对于紧迫性任务,以最小化总时间跨度为目标进行调度,对于非紧迫型任务,在符合截止期限要求的情况下以尽可能减小总能耗为目的进行调度。
上述技术方案中,对紧迫性任务的调度包括:
步骤2-1-1)、统计服务器集群中N台服务器的最早空闲时间EF1,EF2…EFN以及它们在工作状态下的功率CPS1,CPS2…CPSN
步骤2-1-2)、将所有任务组的第q级子任务G1,q,G2,q…Gg,q放入等待队列,该等待队列满足先进先出的要求;
步骤2-1-3)、取出等待队列中最先被处理的子任务Gm,q作为当前子任务,计算它在各个服务器上的执行用时tm,q,n及能耗Cn;n=1,2,…N,其中tm,q,n及Cn的值计算方式如下:
tm,q,n=MIm,q/MIPSn
Cn=CPSn*tm,q,,n
其中,MIm,q为Gm,q对应的指令条数,MIPSn为服务器n的计算能力,CPSn为服务器n的功率;
步骤2-1-4)、根据tm,q,n计算出Gm,q在各个机器上的最早完成时间ECTn,将得出的N个ECT值进行排序,并将当前子任务分配到ECT值最小的服务器上去,记该机器号为bestn;其中ECTn的计算方法如下:
ECTn=EFn+tm,q,n
步骤2-1-5)、更新负载load、最早空闲时间EF、总能耗Cost,记录该子任务的开始时间及结束时间;其中,所述负载load根据正在计算的任务的时长和等待的任务的数量、时长来计算,
步骤2-1-6)、将该子任务从等待队列中清除;
步骤2-1-7)、如果当前等待队列为空,则结束,否则回到步骤2-1-3)。
上述技术方案中,对非紧迫性任务的调度包括:
步骤2-2-1)、设置延迟容忍阈值threshold=k*Deadline,其中k为常数,Deadline为截止期限;
步骤2-2-2)、统计N台服务器的最早空闲时间EF1,EF2…EFN以及它们在工作状态下的功率CPS1,CPS2…CPSN
步骤2-2-3)、取出所有任务组中的第q级子任务G1,q,G2,q,…Ggq,将其放入等待队列,该等待队列满足先进先出的要求;
步骤2-2-4)、取出等待队列中最先被处理的子任务Gm,q作为当前子任务,计算它在各个服务器上的执行用时tm,q,n,及能耗Cn(n=1,2,…N),其中tm,q,n及Cn值的计算方式如下:
tm,q,n=MIm,q/MIPSn
Cn=CPSn*tm,q,,n
其中,MIm,q为Gm,q对应的指令条数,MIPSn为机器n的计算能力,CPSn为服务器n的功率;
步骤2-2-5)、根据tm,q,n计算出Gm,q在各个机器上的最早完成时间ECTn,将得出的N个ECT值进行排序,其中ECTn的计算方法如下:
ECTn=EFn+tm,q,n
步骤2-2-6)、记最小的ECT值为min(ECT),在所有满足ECTn-min(ECT)<threshold的服务器中,查找执行该子任务所需的耗电量最小的服务器,记该服务器的标号为bestn;n=1,2,…N;
步骤2-2-7)、将当前子任务分配到被标记的服务器上执行;
步骤2-2-8)、更新load、EF、总能耗Cost,记录该子任务的开始时间及结束时间;其中,
步骤2-2-9)、将该子任务从等待队列中清除;
步骤2-2-10)、如果当前等待队列为空,则结束,否则回到步骤2-2-3)。
本发明的优点在于考虑了一个任务内部所包含的多个具有时序依赖的子任务的调度问题,在子任务级别上进行任务聚合,从而得出适合粒度的最小调度单元。另外,在性能指标的选取方面,综合考虑了实时性和能耗两种性能指标。
附图说明
图1是本发明的智能服务调度方法的流程图;
图2是本发明的智能服务调度方法中如何聚合任务的示意图;
图3是本发明的智能服务调度方法中并行子任务调度的示意图。
具体实施方式
现结合附图对本发明作进一步的描述。
本发明的方法主要针对大批量任务同时出现、多个同级别子任务同时存在的现象。本发明方法所要处理的任务之间不存在时序,但同一任务中的子任务之间存在时序。参考图1,本发明的方法包括以下步骤:
步骤1)、任务聚合。本步骤中所涉及的聚合分为两次,参考图2,一次是对任务的聚合,即将多个任务随机分配到不同的任务组中,第二次是对子任务的聚合,将同一个任务组中时序上处于同一级别的子任务聚合成一个新的子任务,该新的子任务将作为最小调度单元。下文中对这一聚合的必要性与聚合过程做详细说明。
设定任务Jobm在服务器Machinen上的处理用时tm,n表示如下:
tm,n=OH+Job_MIm/MIPSn
其中,OH为服务器对接收到的数据包进行前期处理的固定用时,Job_MIm表示任务Jobm待处理的指令条数,MIPSn表示服务器Machinen的处理器性能。
当任务数目M较大时,服务器须对多个任务进行重复性前期处理,因此由OH造成时间及电量消耗在总开销中所占的比例较大,使得总完成时间和总耗电量都较大。因此,本发明的方法的在调度之前,先将待执行的M个Job(任务)随机聚合为若干个Job Group(任务组)。每个Job Group中包含的原任务数目为G_Size,称G_Size为聚合粒度。聚合后形成的Job Group数目为g,其表达式为:
g=M/G_Size
在将Job聚合为Job Group的过程中,对于每个Job Group,将原Job中处于同一级别的子任务合并成一个新的子任务,合并后得出的新的子任务将作为最小调度单元被调度到服务器集群中,且各个最小调度单元之间仍具有时序关联。因此只要保证聚合后的子任务在执行时满足时序约束条件,则一定能保证原任务中的各子任务的时序关系不被破坏。
步骤2)、对步骤1)得到的聚合后的子任务做并行调度。
在调度层面,调度工作分为Q轮,每一轮调度的对象是g个处于同一级别的子任务,只有当前g个子任务完全分配之后,才开始下一轮的调度。
本发明方法的并行调度环节考虑了紧迫型任务和非紧迫型两种任务属性。其中,紧迫型任务即实时性要求较高的任务,在调度时应以最小化总时间跨度(Makespan)为目标,非紧迫型任务即实时性要求一般的任务,调度时需在符合截止期限要求的情况下尽可能减小总能耗。
紧迫型任务及非紧迫型任务具有不同的截止期限,其截止期限Deadline(s)值的设置方式如下:
其中,d1、d2为不同的比例系数,且d2>d1
(1)初始化调度
参考图3,本发明方法按照子任务的优先级顺序依次对Q级子任务进行调度,任务调度按时间级别分为Q轮,在每一轮中,只调度该级别的g个子任务,待其完全分配后,再调度下一级子任务,从而保证了当某一级子任务开始执行时,其上一级子任务已基本完成,这种并行调度算法减小了因时序限制而造成的等待时延。
A、时间紧迫型任务的初始化调度
紧迫型任务与非紧迫型任务的调度方法也略有不同。下面是紧迫型任务在第q轮的分配算法:
步骤2-1-1)、统计N台服务器的最早空闲时间EF1,EF2…EFN以及它们在工作状态下的功率CPS1,CPS2…CPSN
步骤2-1-2)、将所有Job Group的第q级子任务G1,q,G2,q…Gg,q(共g个)放入等待队列,该等待队列满足先进先出的要求。
步骤2-1-3)、取出等待队列中下标最小的子任务(即最先被处理的子任务,假设为Gm,q)作为当前子任务,计算它在各个服务器上的执行用时tm,q,n,及能耗Cn(n=1,2,…N),其中tm,q,n及Cn的值计算方式如下
tm,q,n=MIm,q/MIPSn
Cn=CPSn*tm,q,,n
其中,MIm,q为Gm,q对应的指令条数,MIPSn为机器n的计算能力。
步骤2-1-4)、根据tm,q,n计算出Gm,q在各个机器上的最早完成时间ECTn,将得出的N个ECT值进行排序,并将当前子任务分配到ECT值最小的服务器上去,记该机器号为bestn。其中ECTn的计算方法如下:
ECTn=EFn+tm,q,n
步骤2-1-5)、更新负载load、最早空闲时间EF、总能耗Cost,记录该子任务的开始时间及结束时间。其中,负载load可根据正在计算的任务的时长和等待的任务的数量、时长来计算;
步骤2-1-6)、将该子任务从等待队列中清除。
步骤2-1-7)、如果当前等待队列为空,则结束,否则回到步骤2-1-3)。
B、时间非紧迫型任务的初始化调度
步骤2-2-1)、设置延迟容忍阈值threshold=k*Deadline,其中k为常数。
步骤2-2-2)、统计N台服务器的最早空闲时间EF1,EF2…EFN以及它们在工作状态下的功率CPS1,CPS2…CPSN
步骤2-2-3)、取出所有Job Group中的第q级子任务G1,q,G2,q,…Gg,q(共g个),将其放入等待队列,该等待队列满足先进先出的要求。
步骤2-2-4)、取出等待队列中下标最小的子任务(即最先被处理的子任务,假设为Gm,q)作为当前子任务,计算它在各个服务器上的执行用时tm,q,n,及能耗Cn(n=1,2,…N),其中tm,q,n及Cn值的计算方式如下
tm,q,n=MIm,q/MIPSn
Cn=CPSn*tm,q,,n
其中,MIm,q为Gm,q对应的指令条数,MIPSn为机器n的计算能力。
步骤2-2-5)、根据tm,q,n计算出Gm,q在各个机器上的最早完成时间ECTn,将得出的N个ECT值进行排序,其中ECTn的计算方法如下:
ECTn=EFn+tm,q,n
步骤2-2-6)、记最小的ECT值为min(ECT),在所有满足ECTn-min(ECT)<threshold(n=1,2,…N)的服务器中,查找执行该子任务所需的耗电量最小的服务器,记该服务器的标号为bestn。
步骤2-2-7)、将当前子任务分配到被标记的服务器上执行。
步骤2-2-8)、更新load、EF、总能耗Cost,记录该子任务的开始时间及结束时间。其中,
步骤2-2-9)、将该子任务从等待队列中清除。
步骤2-2-10)、如果当前等待队列为空,则结束,否则回到步骤2-2-3)。
(2)动态调整执行顺序
以上分配工作均在编译过程中完成,编译结束后,系统将得出g*Q个子任务对应的执行机器映射,并根据它们的开始时间判断出各服务器上多个任务的执行顺序。在实际的任务执行过程中,由于任务的实际用时与预测的ECT值之前存在差距,因此每当一个子任务执行结束后,需要根据时序要求调整其后继任务的开始时间。

Claims (6)

1.一种智能服务调度方法,用于实现多个任务在服务器集群上的调度,所述多个任务之间不具有时序关系,所述任务包括多个具有时序关系的子任务;该方法包括:
步骤1)、将多个任务聚合到不同的任务组中,在每个任务组中,将时序上处于同一级别的子任务聚合成一个新的子任务;
步骤2)、以步骤1)所得到的所述新的子任务作为最小调度单元在服务器集群中做并行子任务调度;在调度层面,调度工作分为Q轮,每一轮调度的对象是g个处于同一级别的子任务,只有当前g个子任务完全分配之后,才开始下一轮的调度。
2.根据权利要求1所述的智能服务调度方法,其特征在于,所述步骤2)包括初始化调度阶段,该初始化调度阶段包括:将各个任务组中聚合而成的子任务按照时序关系分为Q级,对子任务的调度按时间级别分为Q轮,在每一轮中,只调度该级别的g个子任务,待其完全分配后,再调度下一级子任务;其中的g表示任务组的数目。
3.根据权利要求2所述的智能服务调度方法,其特征在于,所述步骤2)还包括位于所述初始化调度阶段之后的动态调整阶段,该动态调整阶段包括:在编译结束后、服务器执行的过程中,每当一个聚合而成的子任务执行结束后,根据时序要求调整其后继聚合而成的子任务的调度开始时间。
4.根据权利要求2或3所述的智能服务调度方法,其特征在于,在所述步骤2)的初始化调度阶段,将任务组中聚合而成的子任务按照实时性要求分为紧迫性任务或非紧迫型任务;对于紧迫性任务,以最小化总时间跨度为目标进行调度,对于非紧迫型任务,在符合截止期限要求的情况下以尽可能减小总能耗为目的进行调度。
5.根据权利要求4所述的智能服务调度方法,其特征在于,对紧迫性任务的调度包括:
步骤2-1-1)、统计服务器集群中N台服务器的最早空闲时间EF1,EF2…EFN以及它们在工作状态下的功率CPS1,CPS2…CPSN
步骤2-1-2)、将所有任务组的第q级子任务G1,q,G2,q…Gg,q放入等待队列,该等待队列满足先进先出的要求;
步骤2-1-3)、取出等待队列中最先被处理的子任务Gm,q作为当前子任务,计算它在各个服务器上的执行用时tm,q,n及能耗Cn;n=1,2,…N,其中tm,q,n及Cn的值计算方式如下:
tm,q,n=MIm,q/MIPSn
Cn=CPSn*tm,q,n
其中,MIm,q为Gm,q对应的指令条数,MIPSn为服务器n的计算能力,CPSn为服务器n的功率;
步骤2-1-4)、根据tm,q,n计算出Gm,q在各个机器上的最早完成时间ECTn,将得出的N个ECT值进行排序,并将当前子任务分配到ECT值最小的服务器上去,记ECT值最小的服务器的机器号为bestn;其中ECTn的计算方法如下:
ECTn=EFn+tm,q,n
步骤2-1-5)、更新负载load、最早空闲时间EF、总能耗Cost,记录该子任务的开始时间及结束时间;其中,所述负载load根据正在计算的任务的时长和等待的任务的数量、时长来计算,
<mrow> <msub> <mi>EF</mi> <mi>n</mi> </msub> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mi>ECT</mi> <mi>n</mi> </msub> </mrow> </mtd> <mtd> <mrow> <mo>(</mo> <mi>n</mi> <mo>=</mo> <mi>b</mi> <mi>e</mi> <mi>s</mi> <mi>t</mi> <mi>n</mi> <mo>)</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>EF</mi> <mi>n</mi> </msub> </mrow> </mtd> <mtd> <mrow> <mo>(</mo> <mi>n</mi> <mo>&amp;NotEqual;</mo> <mi>b</mi> <mi>e</mi> <mi>s</mi> <mi>t</mi> <mi>n</mi> <mo>)</mo> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>,</mo> </mrow>
<mrow> <msub> <mi>Cost</mi> <mi>n</mi> </msub> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mi>Cost</mi> <mi>n</mi> </msub> <mo>+</mo> <msub> <mi>C</mi> <mi>n</mi> </msub> </mrow> </mtd> <mtd> <mrow> <mo>(</mo> <mi>n</mi> <mo>=</mo> <mi>b</mi> <mi>e</mi> <mi>s</mi> <mi>t</mi> <mi>n</mi> <mo>)</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>Cost</mi> <mi>n</mi> </msub> </mrow> </mtd> <mtd> <mrow> <mo>(</mo> <mi>n</mi> <mo>&amp;NotEqual;</mo> <mi>b</mi> <mi>e</mi> <mi>s</mi> <mi>t</mi> <mi>n</mi> <mo>)</mo> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>,</mo> </mrow>
<mrow> <mi>C</mi> <mi>o</mi> <mi>s</mi> <mi>t</mi> <mo>=</mo> <msubsup> <mi>&amp;Sigma;</mi> <mrow> <mi>n</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </msubsup> <msub> <mi>Cost</mi> <mi>n</mi> </msub> <mo>;</mo> </mrow>
步骤2-1-6)、将该子任务从等待队列中清除;
步骤2-1-7)、如果当前等待队列为空,则结束,否则回到步骤2-1-3)。
6.根据权利要求4所述的智能服务调度方法,其特征在于,对非紧迫性任务的调度包括:
步骤2-2-1)、设置延迟容忍阈值threshold=k*Deadline,其中k为常数,Deadline为截止期限;
步骤2-2-2)、统计N台服务器的最早空闲时间EF1,EF2…EFN以及它们在工作状态下的功率CPS1,CPS2…CPSN
步骤2-2-3)、取出所有任务组中的第q级子任务G1,q,G2,q,…Gg,q,将其放入等待队列,该等待队列满足先进先出的要求;
步骤2-2-4)、取出等待队列中最先被处理的子任务Gm,q作为当前子任务,计算它在各个服务器上的执行用时tm,q,n,及能耗Cn,n=1,2,…N,其中tm,q,n及Cn值的计算方式如下:
tm,q,n=MIm,q/MIPSn
Cn=CPSn*tm,q,n
其中,MIm,q为Gm,q对应的指令条数,MIPSn为机器n的计算能力,CPSn为服务器n的功率;
步骤2-2-5)、根据tm,q,n计算出Gm,q在各个机器上的最早完成时间ECTn,将得出的N个ECT值进行排序,其中ECTn的计算方法如下:
ECTn=EFn+tm,q,n
步骤2-2-6)、记最小的ECT值为min(ECT),在所有满足ECTn-min(ECT)<threshold的服务器中,查找执行该子任务所需的耗电量最小的服务器,记该服务器的标号为bestn;n=1,2,…N;
步骤2-2-7)、将当前子任务分配到被标记的服务器上执行;
步骤2-2-8)、更新load、EF、总能耗Cost,记录该子任务的开始时间及结束时间;其中,
<mrow> <msub> <mi>EF</mi> <mi>n</mi> </msub> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mi>ECT</mi> <mi>n</mi> </msub> </mrow> </mtd> <mtd> <mrow> <mo>(</mo> <mi>n</mi> <mo>=</mo> <mi>b</mi> <mi>e</mi> <mi>s</mi> <mi>t</mi> <mi>n</mi> <mo>)</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>EF</mi> <mi>n</mi> </msub> </mrow> </mtd> <mtd> <mrow> <mo>(</mo> <mi>n</mi> <mo>&amp;NotEqual;</mo> <mi>b</mi> <mi>e</mi> <mi>s</mi> <mi>t</mi> <mi>n</mi> <mo>)</mo> </mrow> </mtd> </mtr> </mtable> </mfenced> </mrow>
<mrow> <msub> <mi>Cost</mi> <mi>n</mi> </msub> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mi>Cost</mi> <mi>n</mi> </msub> <mo>+</mo> <msub> <mi>C</mi> <mi>n</mi> </msub> </mrow> </mtd> <mtd> <mrow> <mo>(</mo> <mi>n</mi> <mo>=</mo> <mi>b</mi> <mi>e</mi> <mi>s</mi> <mi>t</mi> <mi>n</mi> <mo>)</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>Cost</mi> <mi>n</mi> </msub> </mrow> </mtd> <mtd> <mrow> <mo>(</mo> <mi>n</mi> <mo>&amp;NotEqual;</mo> <mi>b</mi> <mi>e</mi> <mi>s</mi> <mi>t</mi> <mi>n</mi> <mo>)</mo> </mrow> </mtd> </mtr> </mtable> </mfenced> </mrow>
<mrow> <mi>C</mi> <mi>o</mi> <mi>s</mi> <mi>t</mi> <mo>=</mo> <msubsup> <mi>&amp;Sigma;</mi> <mrow> <mi>n</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </msubsup> <msub> <mi>Cost</mi> <mi>n</mi> </msub> <mo>;</mo> </mrow>
步骤2-2-9)、将该子任务从等待队列中清除;
步骤2-2-10)、如果当前等待队列为空,则结束,否则回到步骤2-2-3)。
CN201410001514.9A 2014-01-02 2014-01-02 一种智能服务调度方法 Active CN104765640B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201410001514.9A CN104765640B (zh) 2014-01-02 2014-01-02 一种智能服务调度方法
PCT/CN2014/081424 WO2015100995A1 (zh) 2014-01-02 2014-07-01 一种智能服务调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410001514.9A CN104765640B (zh) 2014-01-02 2014-01-02 一种智能服务调度方法

Publications (2)

Publication Number Publication Date
CN104765640A CN104765640A (zh) 2015-07-08
CN104765640B true CN104765640B (zh) 2018-02-16

Family

ID=53493119

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410001514.9A Active CN104765640B (zh) 2014-01-02 2014-01-02 一种智能服务调度方法

Country Status (2)

Country Link
CN (1) CN104765640B (zh)
WO (1) WO2015100995A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106814993B (zh) * 2015-12-01 2019-04-12 广州神马移动信息科技有限公司 确定任务调度时间的方法、确定任务执行时间的方法和设备
CN107783831A (zh) * 2016-08-24 2018-03-09 深圳市中兴微电子技术有限公司 一种任务调度方法及装置
CN107291544B (zh) * 2017-08-03 2020-07-28 浪潮云信息技术股份公司 任务调度的方法及装置、分布式任务执行系统
CN107613025B (zh) * 2017-10-31 2021-01-08 武汉光迅科技股份有限公司 一种基于消息队列顺序回复的实现方法和装置
CN108880663B (zh) * 2018-07-20 2020-09-22 大连大学 基于改进遗传算法的天地一体化网络资源分配方法
CN109344239A (zh) * 2018-09-20 2019-02-15 四川昆仑智汇数据科技有限公司 一种基于时序特征的业务过程模型查询方法及查询系统
CN109636028A (zh) * 2018-11-29 2019-04-16 湖南工程学院 分布式智能调度方法
CN110716987B (zh) * 2019-10-18 2023-06-20 浪潮软件股份有限公司 一种同步任务异步执行的方法和调度系统
CN110928648B (zh) * 2019-12-10 2022-05-20 浙江工商大学 融合启发式和智能计算的云工作流分段在线调度优化方法
CN111880898B (zh) * 2020-07-27 2022-04-05 山东省计算中心(国家超级计算济南中心) 一种基于微服务架构的服务调度方法及其实现系统
CN113799139A (zh) * 2021-10-09 2021-12-17 北京云迹科技有限公司 一种机器人的控制方法、装置、计算机介质和计算机设备
CN116665670B (zh) * 2023-07-28 2023-10-31 深圳博瑞天下科技有限公司 基于资源配置分析的语音识别任务管理方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1818875A (zh) * 2006-03-16 2006-08-16 浙江大学 嵌入式操作系统分组硬实时任务调度的实现方法
CN101222522A (zh) * 2008-01-17 2008-07-16 武汉理工大学 一种考虑网格任务重要性和时间紧迫性的网格任务调度方法
CN101692208A (zh) * 2009-10-15 2010-04-07 北京交通大学 实时交通信息处理的任务调度方法与系统
CN101702833A (zh) * 2009-10-27 2010-05-05 武汉理工大学 一种移动网格任务调度方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8245234B2 (en) * 2009-08-10 2012-08-14 Avaya Inc. Credit scheduler for ordering the execution of tasks
CN202870825U (zh) * 2012-08-29 2013-04-10 中国电力科学研究院 一种面向电力应用的启发式动态任务调度并行计算设备
CN103067468B (zh) * 2012-12-22 2016-03-09 深圳先进技术研究院 云调度方法及其系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1818875A (zh) * 2006-03-16 2006-08-16 浙江大学 嵌入式操作系统分组硬实时任务调度的实现方法
CN101222522A (zh) * 2008-01-17 2008-07-16 武汉理工大学 一种考虑网格任务重要性和时间紧迫性的网格任务调度方法
CN101692208A (zh) * 2009-10-15 2010-04-07 北京交通大学 实时交通信息处理的任务调度方法与系统
CN101702833A (zh) * 2009-10-27 2010-05-05 武汉理工大学 一种移动网格任务调度方法

Also Published As

Publication number Publication date
CN104765640A (zh) 2015-07-08
WO2015100995A1 (zh) 2015-07-09

Similar Documents

Publication Publication Date Title
CN104765640B (zh) 一种智能服务调度方法
CN111381950B (zh) 一种面向边缘计算环境基于多副本的任务调度方法和系统
CN112416585B (zh) 面向深度学习的gpu资源管理与智能化调度方法
Dhari et al. An efficient load balancing scheme for cloud computing
CN103838627B (zh) 一种基于工作流吞吐量最大化的工作流调度方法
WO2013048605A1 (en) Network-aware coordination of virtual machine migrations in enterprise data centers and clouds
Shin et al. Deadline-guaranteed scheduling algorithm with improved resource utilization for cloud computing
CN106775932B (zh) 一种云计算系统中随机事件触发的实时工作流调度方法
CN109086135B (zh) 资源伸缩方法、装置、计算机设备及存储介质
CN104915253A (zh) 一种作业调度的方法及作业处理器
US20140137122A1 (en) Modified backfill scheduler and a method employing frequency control to reduce peak cluster power requirements
JP4912927B2 (ja) タスク割当装置、及びタスク割当方法
CN105740059B (zh) 一种面向可分割任务的粒子群调度方法
CN104598311A (zh) 一种面向Hadoop的实时作业公平调度的方法和装置
Stavrinides et al. Scheduling real-time jobs in distributed systems-simulation and performance analysis
Moulik et al. COST: A cluster-oriented scheduling technique for heterogeneous multi-cores
CN109491775B (zh) 一种用于边缘计算环境下的任务处理与调度方法
CN109032769A (zh) 一种基于容器的持续集成ci任务处理方法及装置
CN114911613A (zh) 一种云际计算环境中跨集群资源高可用调度方法及系统
CN114371926A (zh) 一种精细化资源分配方法、装置、电子设备及介质
Natarajan Parallel queue scheduling in dynamic cloud environment using backfilling algorithm
Dubey et al. QoS driven task scheduling in cloud computing
CN104731662B (zh) 一种可变并行作业的资源分配方法
CN109189581B (zh) 一种作业调度方法和装置
CN115712501A (zh) 一种适用于工程机械的云仿真方法和系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210730

Address after: Room 1601, 16th floor, East Tower, Ximei building, No. 6, Changchun Road, high tech Industrial Development Zone, Zhengzhou, Henan 450001

Patentee after: Zhengzhou xinrand Network Technology Co.,Ltd.

Address before: 100190, No. 21 West Fourth Ring Road, Beijing, Haidian District

Patentee before: INSTITUTE OF ACOUSTICS, CHINESE ACADEMY OF SCIENCES

EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20150708

Assignee: Beijing Zhongke Haiwang Technology Co.,Ltd.

Assignor: Zhengzhou xinrand Network Technology Co.,Ltd.

Contract record no.: X2023980038290

Denomination of invention: An Intelligent Service Scheduling Method

Granted publication date: 20180216

License type: Exclusive License

Record date: 20230719