CN112306653A - 截止期约束下的工作流能耗和可靠性调度方法及装置 - Google Patents

截止期约束下的工作流能耗和可靠性调度方法及装置 Download PDF

Info

Publication number
CN112306653A
CN112306653A CN202011142302.4A CN202011142302A CN112306653A CN 112306653 A CN112306653 A CN 112306653A CN 202011142302 A CN202011142302 A CN 202011142302A CN 112306653 A CN112306653 A CN 112306653A
Authority
CN
China
Prior art keywords
task
deadline
energy consumption
workflow
tasks
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
CN202011142302.4A
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.)
Northwestern Polytechnical University
Beijing Simulation Center
Original Assignee
Northwestern Polytechnical University
Beijing Simulation Center
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 Northwestern Polytechnical University, Beijing Simulation Center filed Critical Northwestern Polytechnical University
Priority to CN202011142302.4A priority Critical patent/CN112306653A/zh
Publication of CN112306653A publication Critical patent/CN112306653A/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
    • 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)

Abstract

本发明公开了一种截止期约束下的工作流能耗和可靠性调度方法及装置,该方法包括:根据任务的层次号,将工作流划分为多个任务集合;根据每个任务的初始子截止期以及每个任务集合的扩展时间,确定每个任务的扩展子截止期;确定每个任务的优先级,并根据每个任务的优先级确定任务优先级队列;根据任务优先级队列,生成预设数量的具有不同能耗值和可靠性的初始调度方案。本发明将工作流的截止期约束变换为每个任务的子截止期限制,可以更好的满足工作流的截止期约束,使得截止期约束更容易管理。同时,提出了一种启发式的多目标优化方法,主要采用非支配的思想,以多目标的优化技术可以快速的生成多个具有不同可靠性和能耗的调度方案。

Description

截止期约束下的工作流能耗和可靠性调度方法及装置
技术领域
本发明涉及分布式计算技术领域,具体涉及一种截止期约束下的工作流能耗和可靠性调度方法及装置。
背景技术
异构分布式系统在过去的几十年里得到了广泛的应用,而能源消耗管理一直是异构分布式系统的关键问题。现有的动态电压和频率调节(Dynamic voltage and frequencyscaling,DVFS)技术能够同时降低处理器的电压和频率以实现能耗有效的调度。当前,主流的芯片制造厂商,比如Intel,AMD,ARM都提供支持DVFS技术的处理器。
通过动态的降低处理器的电压可以降低任务执行的能耗,但是此操作也会提升处理器产生瞬时故障的概率,进而降低系统的可靠性。可靠性是一个调度能够正确执行完成的概率,一些安全关键的系统,如汽车系统、航电系统、工业软件系统等均定义有不同的功能安全标准,因此,也非常有必要实现可靠性有效的调度,提升应用的可靠性。
另外,对于执行于异构分布式系统中的实时应用而言,截止期是一个非常重要的约束,错过截止期意味着执行的失败,可能会造成严重的后果。因此,实时应用的截止期也必须得到满足。
因此,有必要设计一种针对截止期约束的工作流能耗和可靠性调度方法,从而能够为用户做出智能决策打下基础。
需要注意的是,本部分旨在为权利要求书中陈述的本公开的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
发明内容
本发明实施例提供一种截止期约束下的工作流能耗和可靠性调度方法及装置,以解决现有技术中异构分布式系统中采用动态电压和频率调节技术在降低任务执行的能耗时无法兼顾可靠性和截止期约束的问题。
第一方面,本发明实施例提供一种截止期约束下的工作流能耗和可靠性调度方法,包括:
根据任务的层次号,将工作流划分为多个任务集合,所述任务集合中包含层次号相同的至少一个任务;
根据每个任务的初始子截止期,以及每个任务集合的扩展时间,确定每个任务的扩展子截止期;
根据每个任务的层次号和扩展子截止期,确定每个任务的优先级,并根据每个任务的优先级确定任务优先级队列;其中,所述任务优先级队列按照每个任务的调度顺序排列;
根据所述任务优先级队列,生成预设数量的具有不同能耗值和可靠性的初始调度方案,所述初始调度方案用于为工作流中每个任务分配相匹配的处理器和执行频率组合。
作为本发明第一方面的优选方式,所述根据每个任务的初始子截止期,以及每个任务集合的扩展时间,确定每个任务的扩展子截止期,包括:
根据HEFT算法,确定每个任务的初始子截止期;
根据每个任务集合中的任务数目和执行时间,确定每个任务集合的扩展时间;
将每个任务的初始子截止期与大于等于所述任务所属任务集合的层次号的所有任务集合的扩展时间之和相加,确定每个任务的扩展子截止期。
作为本发明第一方面的优选方式,所述根据每个任务集合中的任务数目和执行时间,确定每个任务集合的扩展时间,包括:
根据下列公式确定每个任务集合的扩展时间:
Figure BDA0002737059190000031
DS=TD-AFT(Texit),
Figure BDA0002737059190000032
Figure BDA0002737059190000033
其中,ST(n)为任务集合BoTn的扩展时间,BoTn={Ti|Level(Ti)=n,1≤n≤Level(Tentry)},Level(Ti)为任务Ti的层次号,Level(Tentry)为入口任务Tentry的层次号,DS为工作流的松弛时间,MET(n)为任务集合BoTn中所有任务具有的平均执行时间的最大值,|BoTn|为任务集合BoTn中的任务数目,TD为工作流的截止期约束,AFT(Texit)为工作流最早完成时间,即工作流的截止期,
Figure BDA0002737059190000034
为任务Ti的平均执行时间,wi,k为任务Ti在处理器Pk工作于最大频率上的执行时间,|P|为异构分布式系统中处理器的数目。
作为本发明第一方面的优选方式,所述将每个任务的初始子截止期与大于等于所述任务所属任务集合的层次号的所有任务集合的扩展时间之和相加,确定每个任务的扩展子截止期,包括:
根据下列公式确定每个任务的扩展子截止期:
Figure BDA0002737059190000035
其中,subD(Ti)为任务Ti的扩展子截止期,AFT(Ti)为任务Ti的初始子截止期,
Figure BDA0002737059190000041
为大于等于任务Ti所属任务集合的层次号的所有任务集合的扩展时间之和。
作为本发明第一方面的优选方式,所述根据所述任务优先级队列,生成预设数量的具有不同能耗值和可靠性的初始调度方案,所述初始调度方案用于为工作流中每个任务分配相匹配的处理器和执行频率组合,包括:
依次为所述任务优先级队列中每个任务生成对应的多个任务解决方案,并计算各所述任务解决方案的能耗值和可靠性,所述任务解决方案用于为所述任务分配相匹配的处理器和执行频率组合;
根据快速非支配排序算法和拥挤距离机制,从每个任务对应的多个任务解决方案中选取预设数量的任务解决方案;
根据每个任务的预设数量的任务解决方案,生成预设数量的具有不同能耗值和可靠性的初始调度方案,所述初始调度方案用于为工作流中每个任务分配相匹配的处理器和执行频率组合。
作为本发明第一方面的优选方式,所述依次为所述任务优先级队列中每个任务生成对应的多个任务解决方案,并计算各所述任务解决方案的能耗值和可靠性,所述任务解决方案用于为所述任务分配处理器和执行频率组合,包括:
按顺序为所述任务优先级队列中的任务分配一个预设的处理器和执行频率组合;
若通过预设的处理器和执行频率组合计算出的任务最早完成时间小于等于所述任务的扩展子截止期时,根据预设的处理器和执行频率组合生成一个第一任务解决方案,并计算所述第一任务解决方案的能耗值和可靠性;否则,为所述任务优先级队列中的任务分配另一个预设的处理器和执行频率组合;
若通过预设的处理器和执行频率组合计算出的任务最早完成时间均大于所述任务的扩展子截止期时,根据能够最早完成所述任务的处理器和执行频率组合生成第二任务解决方案,并计算所述第二任务解决方案的能耗值和可靠性。
作为本发明第一方面的优选方式,所述根据所述任务优先级队列,生成预设数量的具有不同能耗值和可靠性的初始调度方案之后,还包括:
对所述初始调度方案进行可靠性优化操作,所述可靠性优化操作包括:根据所述初始调度方案,按照每个任务的实际完成时间从大到小的顺序进行排序;依次选取排在前面的任务,并在遍历除所述任务以外的其他任务分配的处理器和执行频率组合后,为所述任务重新分配能耗相同且可靠性最大化的处理器和执行频率组合;遍历完所有任务后,生成优化调度方案,并删除被所述优化调度方案支配的其他初始调度方案;
对所述初始调度方案进行能耗优化操作,所述能耗优化操作包括:根据所述初始调度方案,按照每个任务的实际完成时间从大到小的顺序进行排序;依次选取排在前面的任务,并在遍历除所述任务以外的其他任务分配的处理器和执行频率组合后,为所述任务重新分配可靠性相同且能耗最小化的处理器和执行频率组合;遍历完所有任务后,生成优化调度方案,并删除被所述优化调度方案支配的其他初始调度方案。
第二方面,本发明实施例提供一种截止期约束下的工作流能耗和可靠性调度装置,包括:
任务划分单元,用于根据任务的层次号,将工作流划分为多个任务集合,所述任务集合中包含层次号相同的至少一个任务;
第一确定单元,用于根据每个任务的初始子截止期,以及大于等于所述任务所属任务集合的层次号的所有任务集合的扩展时间,确定每个任务的扩展子截止期;
第二确定单元,用于根据每个任务的层次号和扩展子截止期,确定每个任务的优先级,并根据每个任务的优先级确定任务优先级队列;其中,所述任务优先级队列按照每个任务的调度顺序排列;
方案生成单元,用于根据所述任务优先级队列,生成预设数量的具有不同能耗值和可靠性的初始调度方案,所述初始调度方案用于为工作流中每个任务分配相匹配的处理器和执行频率组合。
第三方面,本发明实施例提供一种计算设备,包括处理器和存储器,其中所述存储器内存储有执行指令,所述处理器读取所述存储器内的执行指令用于执行如上述第一方面及其优选方式中截止期约束下的工作流能耗和可靠性调度方法所述的步骤。
第四方面,本发明实施例提供一种计算机可读存储介质,包含计算机执行指令,所述计算机执行指令被用于执行如上述第一方面及其优选方式中截止期约束下的工作流能耗和可靠性调度方法所述的步骤。
本发明实施例提供的截止期约束下的工作流能耗和可靠性调度方法及装置,针对截止期约束的工作流优化问题,采用了成比例的截止期划分方法,根据任务的负载和工作流的结构为任务划分子截止期,将工作流的截止期约束变换为每个任务的子截止期限制,可以更好的满足工作流的截止期约束,使得截止期约束更容易管理,有效提升了调度成功率。同时,针对异构计算系统中的可靠性和能耗同时优化问题,提出了一种启发式的多目标优化方法,主要采用非支配的思想,以多目标的优化技术可以快速的生成多个具有不同可靠性和能耗的调度方案,调度方案具有更短的执行时间和生成更优帕累托前端的能力,为用户做出智能决策打下基础。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种截止期约束下的工作流能耗和可靠性调度方法的实现流程图;
图2为本发明实施例提供的具有十个任务和五个层次的工作流示意图;
图3为本发明实施例提供的一种截止期约束下的工作流能耗和可靠性调度装置的结构示意图;
图4为本发明实施例提供的一种计算设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
参照图1所述,本发明实施例公开了一种截止期约束下的工作流能耗和可靠性调度方法,该方法主要包括如下步骤:
101、根据任务的层次号,将工作流划分为多个任务集合,任务集合中包含层次号相同的至少一个任务;
102、根据每个任务的初始子截止期,以及每个任务集合的扩展时间,确定每个任务的扩展子截止期;
103、根据每个任务的层次号和扩展子截止期,确定每个任务的优先级,并根据每个任务的优先级确定任务优先级队列;其中,任务优先级队列按照每个任务的调度顺序排列;
104、根据任务优先级队列,生成预设数量的具有不同能耗值和可靠性的初始调度方案,初始调度方案用于为工作流中每个任务分配相匹配的处理器和执行频率组合。
在异构分布式系统的处理器分配问题中,任务的处理器分配是要确定将任务放到哪个处理器上执行以及处理器在哪个执行频率下工作。假定异构分布式系统能够提供一组处理器,处理器集合表示为:P={p1,p2,...,p|P|},其中||为异构分布式系统中处理器的数目,T为执行于系统中的工作流,Ti表示工作流中的一个任务。
本发明实施例提供的截止期约束下的工作流能耗和可靠性优化问题,是一个组合优化问题,包含三个子问题:满足截止期约束、最小化能耗、最大化可靠性。由于能耗和可靠性是两个相互冲突的目标,因此,不存在能够同时优化两个目标的调度。当前满足截止期约束主要采取的是截止期划分的方式,根据任务的负载和工作流的结构为任务划分子截止期,将工作流的截止期约束变换为每个任务的子截止期限制,使得截止期约束更容易管理。能耗和可靠性优化问题主要采用非支配的思想,以多目标的优化技术同时生成一组非支配的调度方案,每个调度方案具有不同的能耗和可靠性,可以作为用户选择不同调度策略的依据。
步骤101中,工作流划分主要根据工作流的结构信息,将工作流划分为不同的任务集合,以最大化任务执行的并行程度。工作流划分是方法执行的基础,为每个任务分配不同的层次号,并根据任务的层次号将任务划分至不同的任务集合。
本步骤将工作流应用划分为多个内部无依赖关系的任务集合(Bag of tasks,简称BoT),划分的依据是任务的层次号(level number)。目前广泛采用的确定任务的层次号的方法主要有:自顶向下的方法(Top-Down Approach,简称TDA)和自底向上的方法(Bottom-Up Approach,简称BUA)。
本步骤中采用自底向上的方法BUA,在该方法中,任务的层次号被定义为从出口任务(Exit task)访问该任务所经过的最大边数,可以通过以下公式迭代计算:
Figure BDA0002737059190000091
其中,Level(Ti)为任务Ti的层次号,succ(Ti)为任务Ti的前驱任务集合,出口任务Texit的层次号定义为1,即Level(Texit)=1。
如图2所示的工作流应用中,其具有十个任务和五个层次。其中,T10的层次号为1;T8、T9的层次号为2;T4、T5、T6、T7的层次号为3;T2、T3的层次号为4;T1的层次号为5。该工作流被划分至五个任务集合BoT中,每个任务集合BoT包含具有相同层次号的任务,任务集合的层次号与包含的任务的层次号相同,比如BoT4={T2,T3},BoT3={T4,T5,T6,T7},BoT1={T10},即BoTn={Ti|Level(Ti)=n,1≤n≤Level(Tentry)}。
步骤102中,截止期划分将工作流的截止期约束变成各个任务的子截止期约束。首先确定每个任务的初始子截止期,并根据任务集合中的任务数目和执行时间为每个任务集合扩展相同的时间,最终得到每个任务扩展之后的扩展子截止期。因此,在调度一个任务时,只需考虑任务的子截止期约束,而不需要考虑任务的执行时间对后继任务的影响,实现了依赖任务间的解耦合。同时,也使调度的成功率得到了有效的提升。
本步骤中,截止期划分是解决截止期约束问题的有效手段,其核心思想是将工作流的截止期转化为每个任务的子截止期,从而将问题转化为一个更容易处理的约束满足问题。只要每个任务都能在子截止期内执行完成,那么工作流的截止期约束就可以得到满足。截止期划分包含两部分:初始子截止期分配和子截止期扩展。
优选地,在一种可能的优选方式中,步骤102可通过如下步骤具体实现:
1021、根据HEFT算法,确定每个任务的初始子截止期;
该步骤中,根据HEFT算法来计算每个任务的初始子截止期。
优选地,根据下列公式确定每个任务的初始子截止期:
Figure BDA0002737059190000102
Figure BDA0002737059190000101
EFT(Ti,Pk,fk,max)=EST(Ti,Pk,fk,max)+wi,k
其中,AFT(Ti)为任务Ti的初始子截止期,EST(Ti,Pk,fk,max)和EFT(Ti,Pk,fk,max)分别为任务Ti在处理器Pk上以最大频率执行时的最早开始时间和最早完成时间,入口任务Tentry的最早开始时间定义为0,即EST(Tentry,Pk,fk,max)=0。由于任务的执行时间与处理器的执行频率成反比,因此在计算任务的最早完成时间时采用的是处理器的最大频率。
avail[Pk]为处理器Pk空闲的最早时间,wi,k为任务Ti在处理器Pk工作于最大频率上的执行时间。c′j,i为任务Tj与任务Ti之间的传输时间。如果任务Tj与任务Ti分配在同一处理器上时,c′j,i=0,否则c′j,i=cj,i,cj,i为工作流配置文件中定义的Tj与Ti的传输时间。
利用HEFT算法得到的工作流最早完成时间为AFT(Texit),因此工作流的松弛时间(Deadline Slack,简称DS)可以表达为DS=TD-AFT(Texit),其中TD为工作流的截止期约束。
1022、根据每个任务集合中的任务数目和执行时间,确定每个任务集合的扩展时间;
该步骤中,根据工作流的结构和大小扩展任务的子截止期,主要依据是每个任务集合BoT具有的任务数目以及执行时间,从而可以计算出每个任务集合的扩展时间。
鉴于任务在处理器上的执行时间有差异,因此采用任务的平均执行时间,如任务Ti的平均执行时间为
Figure BDA0002737059190000111
为异构分布式系统中处理器的数目。本步骤中以任务集合BoT为单位扩展任务的子截止期,同一任务集合BoT里的任务共享相同的扩展时间。一个任务集合BoTn中的任务所具有的平均执行时间的最大值为
Figure BDA0002737059190000112
从而可以根据公式计算得到该任务集合BoTn获得的扩展时间。
优选地,根据下列公式确定每个任务集合的扩展时间:
Figure BDA0002737059190000113
DS=TD-AFT(Texit),
Figure BDA0002737059190000114
Figure BDA0002737059190000115
其中,ST(n)为任务集合BoTn的扩展时间,BoTn={Ti|Level(Ti)=n,1≤n≤Level(eentry)},Level(Ti)为任务Ti的层次号,Level(Tentry)为入口任务Tentry的层次号,DS为工作流的松弛时间,MET(n)为任务集合BoTn中所有任务具有的平均执行时间的最大值,|BoTn|为任务集合BoTn中的任务数目,TD为工作流的截止期约束,AFT(Texit)为工作流最早完成时间,即工作流的截止期,
Figure BDA0002737059190000121
为任务Ti的平均执行时间,wi,k为任务Ti在处理器Pk工作于最大频率上的执行时间,|P|为异构分布式系统中处理器的数目。
从此公式中可以看出,具有长执行时间和多任务的任务集合BoT将获得较长的扩展时间。
1023、将每个任务的初始子截止期与大于等于任务所属任务集合的层次号的所有任务集合的扩展时间之和相加,确定每个任务的扩展子截止期。
该步骤中,根据上述得到的每个任务的初始子截止期,以及各个任务集合的扩展时间后,进而可以计算每个任务的扩展子截止期。
优选地,根据下列公式确定每个任务的扩展子截止期:
Figure BDA0002737059190000122
其中,subD(Ti)为任务Ti的扩展子截止期,AFT(Ti)为任务Ti的初始子截止期,
Figure BDA0002737059190000123
为大于等于任务Ti所属任务集合的层次号的所有任务集合的扩展时间之和。
由于每层任务均获得了一定的扩展时间,因此在计算任务的子截止期时需要加上之前所有层次已获得的扩展时间,最终得到每个任务的扩展子截止期。
步骤103中,任务优先级确定生成任务优先级队列,确定任务被调度的顺序。工作流应用中的任务具有依赖关系,因此,前驱任务必须先于后继任务调度。本步骤利用任务的层次号和扩展子截止期确定任务的优先级,既保证了任务调度次序的正确性,也提升了子截止期紧迫任务的优先级。
列表式的调度方法依据任务的优先级调度任务。因此,有必要定义一个合适的规则确定任务的优先级。不同的优先级规则会产生不同的优先级队列,进而影响最终的调度方案。由于工作流应用中的后继任务不能先于前驱任务执行,因此,在确定任务的优先级时,需要考虑任务之间的依赖关系。对于表示为有向无环图的工作流应用而言,建立的任务优先级队列必须是一个拓扑序列。
在工作流划分阶段,任务根据自身的层次号被划分进了不同的任务集合BoT,而且,前驱任务相比后继任务具有较大的层次号。因此,首先利用任务的层次号确定任务的优先级,具有较大层次号的任务具有较高的优先级。同时,任务的扩展子截止期可以反映一个任务待执行的迫切程度,因此,对于具有相同层次号的任务,即同一个任务集合BoT内的任务,为具有较短扩展子截止期的任务分配更高的优先级。即:
rank(Ti)>rank(Tj),if Level(Ti)<Level(Tj)OR
Level(Ti)=Level(Tj)&&subD(Ti)<subD(Tj)
其中,rank(Ti)为任务Ti的优先级值,如果两个任务具有相同的层次号和扩展子截止期,那么随意分配一个任务高的优先级值。根据层次号排序确保了生成的优先级队列是一个拓扑序列,根据扩展子截止期排序确保了迫切任务的执行,能够降低任务完成时间超过扩展子截止期情况发生的概率。
根据每个任务的优先级确定好任务优先级队列,该任务优先级队列中排在前面的任务会被优先调度,优先为其分配合适的处理器和执行频率组合。。
步骤104中,任务分配主要为任务选择合适的处理器和执行频率,以生成不同的调度方案。在进行任务分配时,考虑所有满足任务扩展子截止期的处理器和执行频率组合,并采用多目标优化中的帕累托支配思想和多样性维持机制选择一定数目的调度方案。
HEFT算法为每个任务选择具有最早完成时间的处理器,但是只能生成一个调度方案。由于本方法旨在生成多个调度方案供用户选择,因此,在调度一个任务时,考虑所有的处理器和执行频率组合。方法有一个输入参数,即最终生成的调度方案数目K,例如参照HEFT算法可以设置为30或者50。
优选地,在一种可能的实现方式中,步骤104可通过如下步骤具体实现:
1041、依次为任务优先级队列中每个任务生成对应的多个任务解决方案,并计算各任务解决方案的能耗值和可靠性,任务解决方案用于为任务分配相匹配的处理器和执行频率组合。
该步骤中,按顺序遍历任务优先级队列中每个任务,可以为每个任务生成对应的多个任务解决方案,该任务解决方案主要为该任务分配相匹配的处理器和执行频率组合。同时,还要计算该任务解决方案的能耗值和可靠性。
进一步地,在一种可能的实现方式中,步骤1041可通过如下步骤具体实现:
1041-1、按顺序为任务优先级队列中的任务分配一个预设的处理器和执行频率组合;
1041-2、若通过预设的处理器和执行频率组合计算出的任务最早完成时间小于等于任务的扩展子截止期时,根据预设的处理器和执行频率组合生成一个第一任务解决方案,并计算第一任务解决方案的能耗值和可靠性;否则,为任务优先级队列中的任务分配另一个预设的处理器和执行频率组合;
1041-3、若通过预设的处理器和执行频率组合计算出的任务最早完成时间均大于任务的扩展子截止期时,根据能够最早完成任务的处理器和执行频率组合生成第二任务解决方案,并计算第二任务解决方案的能耗值和可靠性。
具体地,该方法中,首先定义一个调度方案集合S,S包含一个空的解决方案,再依次从任务优先级队列中取出任务进行调度。在调度一个任务时,首先初始化一个空的集合S′。对于S中的每一个解决方案Sk(1≤k≤|S|,|S|≤K),方法通过将当前任务分配至所有的处理器和执行频率组合来扩展Sk
由于任务需要在扩展子截止期内完成,方法也需要考虑任务在每个处理器和执行频率下的完成时间。例如,为任务Ti分配处理器Pj和执行频率fj,r时,计算任务Ti的最早完成时间EFT(Ti,Pk,fk,r),如果EFT(Ti,Pk,fk,r)>subD(Ti),就忽略当前处理器和执行频率组合。否则,生成一个新的第一任务解决方案Sk∪(Ti,Pj,fj,r),并加入到S′中。对于S中的一个解决方案Sk,至多有
Figure BDA0002737059190000151
个第一任务解决方案被生成,其中Lj为处理器Pj的执行频率数目。如果所有的处理器和执行频率组合均不能满足任务的扩展子截止期约束,选择能够最早完成Ti的处理器Pn和执行频率fn,max,此时对于Sk,只有一个第二任务解决方案Sk∪(Ti,Pn,fn,max)被生成。
因此,在调度任务Ti时,至少有|S|个,至多有
Figure BDA0002737059190000152
个任务解决方案被生成。此外,还需要计算每个任务解决方案的能耗和可靠性。
1042、根据快速非支配排序算法和拥挤距离机制,从每个任务对应的多个任务解决方案中选取预设数量的任务解决方案。
该步骤中,由于生成的任务解决方案与处理器的总执行频率数目呈倍数关系,如果不采取相应的措施,将会导致穷举搜索,执行时间非常长。
因此,进一步采用Nondominated Sorting Genetic Algorithm II(NSGA-II)中定义的快速非支配排序算法和拥挤距离机制根据S′中各个任务解决方案的能耗和可靠性值选择出K个任务解决方案,以替代S中的解决方案。
1043、根据每个任务的预设数量的任务解决方案,生成预设数量的具有不同能耗值和可靠性的初始调度方案,初始调度方案用于为工作流中每个任务分配相匹配的处理器和执行频率组合。
该步骤中,在方法调度完任务优先级队列中所有的任务之后,每个任务均对应K个任务解决方案,从而得到K个最好的初始调度方案,每个初始调度方案具有不同的可靠性和能耗值,且能够为为工作流中每个任务分配相匹配的处理器和执行频率组合。
综上,上述步骤104中的各个步骤的整体执行过程如下:
(1)初始化一个空的解决方案,并加入到集合S中。
(2)从优先级队列中取出排在最前面的任务,以Ti来表示,并从优先级队列中删除该任务Ti,再初始化一个空的集合S′。
2-1、从集合S中取出一个解决方案,记为Sk,并从集合S中删除Sk
2-1-1、遍历所有的处理器和执行频率组合,每次选择一个组合,记为Pj和fj,r,计算任务Ti的最早完成时间EFT(Ti,Pk,fk,r),如果EFT(Ti,Pk,fk,r)≤subD(Ti),则生成一个第一任务解决方案Sk∪(Ti,Pj,fj,r),计算该第一任务解决方案的能耗和可靠性,并加入到集合S′中,否则,不执行任何操作。一共执行
Figure BDA0002737059190000161
次。
2-1-2、如果步骤2-1-1中未生成任何第一任务解决方案,此时选择能够最早完成任务Ti的处理器Pn和执行频率fn,max,生成第二任务解决方案Sk∪(Ti,Pn,fn,max),计算该第二任务解决方案的能耗和可靠性,加入到集合S′中。
2-2、如果集合S不为空,跳转至2.1处继续执行。
(3)清空集合S,利用NSGA-II的快速非支配排序算法和拥挤距离机制从集合S′选择出K个任务解决方案,并加入到集合S中。
(4)如果任务优先级队列不为空,跳转至步骤2继续执行。
(5)直至输出K个完整的初始调度方案。
在上述步骤的基础上,本方法还包括如下步骤:
105、对初始调度方案进行可靠性优化操作,可靠性优化操作包括:根据初始调度方案,按照每个任务的实际完成时间从大到小的顺序进行排序;依次选取排在前面的任务,并在遍历除所述任务以外的其他任务分配的处理器和执行频率组合后,为任务重新分配能耗相同且可靠性最大化的处理器和执行频率组合;遍历完所有任务后,生成优化调度方案,并删除被所述优化调度方案支配的其他初始调度方案;
106、对初始调度方案进行能耗优化操作,能耗优化操作包括:根据初始调度方案,按照每个任务的实际完成时间从大到小的顺序进行排序;依次选取排在前面的任务,并在遍历除任务以外的其他任务分配的处理器和执行频率组合后,为任务重新分配可靠性相同且能耗最小化的处理器和执行频率组合;遍历完所有任务后,生成优化调度方案,并删除被所述优化调度方案支配的其他初始调度方案。
上述两个步骤中,进一步优化任务分配部分返回的初始调度方案。针对一个初始调度方案,可以利用以下两个子方法进行优化:可靠性优化子方法和能耗优化子方法。
其中,可靠性优化子方法的目的在于,在不增加能耗的前提下,增大工作流应用的可靠性。针对上一阶段生成的每一个初始调度方案,首先对初始调度方案中的任务按照实际完成时间AFT进行排序,并将AFT大的任务排在前面。按顺序依次取出每个任务进行处理,对于任务Ti,在不影响后继任务开始的前提下,遍历其他所有的处理器和执行频率组合,选出不增加任务能耗且能最大化任务可靠性的处理器和执行频率。在处理完所有任务后,计算新生成的优化调度方案的可靠性和能耗,将该优化调度方案加入到调度方案集合中,并剔除被该优化调度方案支配的其他初始调度方案。
能耗优化子方法的目的在于,在不降低可靠性的前提下,降低工作流应用的能耗。此子方法的执行过程类似于上述可靠性优化子方法,只是在处理一个任务时,在不影响后继任务开始的前提下,遍历其他所有的处理器和执行频率组合,选出不降低任务可靠性且能最小化任务执行能耗的处理器和执行频率。在处理完所有任务后,计算新生成的优化调度方案的可靠性和能耗,将该优化调度方案加入到调度方案集合中,并剔除被该优化调度方案支配的其他初始调度方案。
通过上述两个步骤,可以对得到的初始调度方案进行优化,从而得到优化调度方案。
另外,步骤105和步骤106没有严格的执行顺序,本领域技术人员可以根据实际情况选择先执行哪个步骤,都可以达到预期的技术效果。
需要说明的是,对于上述方法的实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明所必须的。
综上所述,本发明实施例提供的截止期约束下的工作流能耗和可靠性调度方法,针对截止期约束的工作流优化问题,采用了成比例的截止期划分方法,根据任务的负载和工作流的结构为任务划分子截止期,将工作流的截止期约束变换为每个任务的子截止期限制,可以更好的满足工作流的截止期约束,使得截止期约束更容易管理,有效提升了调度成功率。同时,针对异构计算系统中的可靠性和能耗同时优化问题,提出了一种启发式的多目标优化方法,主要采用非支配的思想,以多目标的优化技术可以快速的生成多个具有不同可靠性和能耗的调度方案,调度方案具有更短的执行时间和生成更优帕累托前端的能力,为用户做出智能决策打下基础。
参照图3所示,基于同一发明构思,本发明实施例提供一种截止期约束下的工作流能耗和可靠性调度装置,该装置主要包括:
任务划分单元31,用于根据任务的层次号,将工作流划分为多个任务集合,所述任务集合中包含层次号相同的至少一个任务;
第一确定单元32,用于根据每个任务的初始子截止期,以及大于等于所述任务所属任务集合的层次号的所有任务集合的扩展时间,确定每个任务的扩展子截止期;
第二确定单元33,用于根据每个任务的层次号和扩展子截止期,确定每个任务的优先级,并根据每个任务的优先级确定任务优先级队列;其中,所述任务优先级队列按照每个任务的调度顺序排列;
方案生成单元34,用于根据所述任务优先级队列,生成预设数量的具有不同能耗值和可靠性的初始调度方案,所述初始调度方案用于为工作流中每个任务分配相匹配的处理器和执行频率组合。
优选地,所述第一确定单元32具体用于:
根据HEFT算法,确定每个任务的初始子截止期;
根据每个任务集合中的任务数目和执行时间,确定每个任务集合的扩展时间;
将每个任务的初始子截止期与大于等于所述任务所属任务集合的层次号的所有任务集合的扩展时间之和相加,确定每个任务的扩展子截止期。
优选地,所述第一确定单元32还具体用于:
根据下列公式确定每个任务集合的扩展时间:
Figure BDA0002737059190000201
DS=TD-AFT(Texit),
Figure BDA0002737059190000202
Figure BDA0002737059190000203
其中,ST(n)为任务集合BoTn的扩展时间,BoTn={Ti|Level(Ti)=n,1≤n≤Level(Tentry)},Level(Ti)为任务Ti的层次号,Level(Tentry)为入口任务Tentry的层次号,DS为工作流的松弛时间,MET(n)为任务集合BoTn中所有任务具有的平均执行时间的最大值,|BoTn|为任务集合BoTn中的任务数目,TD为工作流的截止期约束,AFT(Texit)为工作流最早完成时间,即工作流的截止期,
Figure BDA0002737059190000204
为任务Ti的平均执行时间,wi,k为任务Ti在处理器Pk工作于最大频率上的执行时间,|P|为异构分布式系统中处理器的数目。
优选地,所述第一确定单元32还具体用于:
根据下列公式确定每个任务的扩展子截止期:
Figure BDA0002737059190000205
其中,subD(Ti)为任务Ti的扩展子截止期,AFT(Ti)为任务Ti的初始子截止期,
Figure BDA0002737059190000206
为大于等于任务Ti所属任务集合的层次号的所有任务集合的扩展时间之和。
优选地,所述方案生成单元34具体用于:
依次为所述任务优先级队列中每个任务生成对应的多个任务解决方案,并计算各所述任务解决方案的能耗值和可靠性,所述任务解决方案用于为所述任务分配处理器和执行频率组合;
根据快速非支配排序算法和拥挤距离机制,从每个任务对应的多个任务解决方案中选取预设数量的任务解决方案;
根据每个任务的预设数量的任务解决方案,生成预设数量的具有不同能耗值和可靠性的初始调度方案,所述初始调度方案用于为工作流中每个任务分配相匹配的处理器和执行频率组合。
优选地,所述方案生成单元34还具体用于:
依次为所述任务优先级队列中排在前面的任务分配一个预设任务解决方案,所述预设任务解决方案用于为所述任务分配预设的处理器和执行频率组合;
根据预设的处理器和执行频率组合,计算所述任务的最早完成时间;
判断所述任务的最早完成时间是否小于等于所述任务的扩展子截止期;
若是,根据预设的处理器和执行频率组合生成多个第一任务解决方案,并计算各所述第一任务解决方案的能耗值和可靠性;否则,则根据能够最早完成所述任务的处理器和执行频率组合生成第二任务解决方案,并计算所述第二任务解决方案的能耗值和可靠性。
优选地,还包括:
第一优化单元35,用于对所述初始调度方案进行可靠性优化操作,所述可靠性优化操作包括:根据所述初始调度方案,按照每个任务的实际完成时间从大到小的顺序进行排序;依次选取排在前面的任务,并在遍历除所述任务以外的其他任务分配的处理器和执行频率组合后,为所述任务重新分配能耗相同且可靠性最大化的处理器和执行频率组合;遍历完所有任务后,生成优化调度方案,并删除被所述优化调度方案支配的其他初始调度方案;
第二优化单元36,用于对所述初始调度方案进行能耗优化操作,所述能耗优化操作包括:根据所述初始调度方案,按照每个任务的实际完成时间从大到小的顺序进行排序;依次选取排在前面的任务,并在遍历除所述任务以外的其他任务分配的处理器和执行频率组合后,为所述任务重新分配可靠性相同且能耗最小化的处理器和执行频率组合;遍历完所有任务后,生成优化调度方案,并删除被所述优化调度方案支配的其他初始调度方案。
综上所述,本发明实施例提供的截止期约束下的工作流能耗和可靠性调度装置,针对截止期约束的工作流优化问题,采用了成比例的截止期划分方法,根据任务的负载和工作流的结构为任务划分子截止期,将工作流的截止期约束变换为每个任务的子截止期限制,可以更好的满足工作流的截止期约束,使得截止期约束更容易管理,有效提升了调度成功率。同时,针对异构计算系统中的可靠性和能耗同时优化问题,提出了一种启发式的多目标优化方法,主要采用非支配的思想,以多目标的优化技术可以快速的生成多个具有不同可靠性和能耗的调度方案,调度方案具有更短的执行时间和生成更优帕累托前端的能力,为用户做出智能决策打下基础。
需要说明的是,本发明实施例提供的截止期约束下的工作流能耗和可靠性调度装置与前述实施例所述的截止期约束下的工作流能耗和可靠性调度方法属于相同的技术构思,其具体实施过程可参照前述实施例中对方法步骤的说明,在此不再赘述。
应当理解,以上一种截止期约束下的工作流能耗和可靠性调度装置包括的单元仅为根据该装置实现的功能进行的逻辑划分,实际应用中,可以进行上述单元的叠加或拆分。并且该实施例提供的一种截止期约束下的工作流能耗和可靠性调度装置所实现的功能与上述实施例提供的一种截止期约束下的工作流能耗和可靠性调度方法一一对应,对于该装置所实现的更为详细的处理流程,在上述方法实施例中已做详细描述,此处不再详细描述。
参照图4所示,基于同一发明构思,本发明实施例提供一种计算设备,该计算设备主要包括处理器41和存储器42,其中存储器42内存储有执行指令。该处理器41读取存储器42内的执行指令用于执行上述截止期约束下的工作流能耗和可靠性调度方法任一个实施例中所述的步骤。或者,该处理器41读取存储器42内的执行指令用于实现上述截止期约束下的工作流能耗和可靠性调度装置任一个实施例中各单元的功能。
图4为本发明实施例提供的计算设备的一种结构示意图,如图4所示,该计算设备包括处理器41、存储器42和收发器43;其中,处理器41、存储器42和收发器43通过总线44相互连接。
存储器42用于存储程序;具体地,程序可以包括程序代码,程序代码包括计算机操作指令。存储器42可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,简称RAM);存储器42也可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flash memory),硬盘(hard disk drive,简称HDD)或固态硬盘(solid-state drive,简称SSD);存储器42还可以包括上述种类的存储器的组合。
存储器42存储了如下的元素,可执行模块或者数据结构,或者它们的子集,或者它们的扩展集:
操作指令:包括各种操作指令,用于实现各种操作。
操作系统:包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
总线44可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
处理器41可以是中央处理器(central processing unit,简称CPU),网络处理器(network processor,简称NP)或者CPU和NP的组合。还可以是硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,简称ASIC),可编程逻辑器件(programmable logic device,简称PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,简称CPLD),现场可编程逻辑门阵列(fieldprogrammable gate array,简称FPGA),通用阵列逻辑(generic array logic,简称GAL)或其任意组合。
本发明实施例还提供一种计算机可读存储介质,包含计算机执行指令,所述计算机执行指令被用于执行上述截止期约束下的工作流能耗和可靠性调度方法任一个实施例中所述的步骤。或者,所述计算机执行指令被用于执行上述截止期约束下的工作流能耗和可靠性调度装置实施例中各单元的功能。
本领域技术人员可以理解,实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤,而前述的存储介质包括ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种截止期约束下的工作流能耗和可靠性调度方法,其特征在于,包括:
根据任务的层次号,将工作流划分为多个任务集合,所述任务集合中包含层次号相同的至少一个任务;
根据每个任务的初始子截止期,以及每个任务集合的扩展时间,确定每个任务的扩展子截止期;
根据每个任务的层次号和扩展子截止期,确定每个任务的优先级,并根据每个任务的优先级确定任务优先级队列;其中,所述任务优先级队列按照每个任务的调度顺序排列;
根据所述任务优先级队列,生成预设数量的具有不同能耗值和可靠性的初始调度方案,所述初始调度方案用于为工作流中每个任务分配相匹配的处理器和执行频率组合。
2.根据权利要求1所述的方法,其特征在于,所述根据每个任务的初始子截止期,以及每个任务集合的扩展时间,确定每个任务的扩展子截止期,包括:
根据HEFT算法,确定每个任务的初始子截止期;
根据每个任务集合中的任务数目和执行时间,确定每个任务集合的扩展时间;
将每个任务的初始子截止期与大于等于所述任务所属任务集合的层次号的所有任务集合的扩展时间之和相加,确定每个任务的扩展子截止期。
3.根据权利要求2所述的方法,其特征在于,所述根据每个任务集合中的任务数目和执行时间,确定每个任务集合的扩展时间,包括:
根据下列公式确定每个任务集合的扩展时间:
Figure FDA0002737059180000021
DS=TD-AFT(Texit),
Figure FDA0002737059180000022
Figure FDA0002737059180000023
其中,ST(n)为任务集合BoTn的扩展时间,BoTn={Ti|Level(Ti)=n,1≤n≤Level(Tentry)},Level(Ti)为任务Ti的层次号,Level(Tentry)为入口任务Tentry的层次号,DS为工作流的松弛时间,MET(n)为任务集合BoTn中所有任务具有的平均执行时间的最大值,|BoTn|为任务集合BoTn中的任务数目,TD为工作流的截止期约束,AFT(Texit)为工作流最早完成时间,即工作流的截止期,
Figure FDA0002737059180000024
为任务Ti的平均执行时间,wi,k为任务Ti在处理器Pk工作于最大频率上的执行时间,|P|为异构分布式系统中处理器的数目。
4.根据权利要求3所述的方法,其特征在于,所述将每个任务的初始子截止期与大于等于所述任务所属任务集合的层次号的所有任务集合的扩展时间之和相加,确定每个任务的扩展子截止期,包括:
根据下列公式确定每个任务的扩展子截止期:
Figure FDA0002737059180000025
其中,subD(Ti)为任务Ti的扩展子截止期,AFT(Ti)为任务Ti的初始子截止期,
Figure FDA0002737059180000026
为大于等于任务Ti所属任务集合的层次号的所有任务集合的扩展时间之和。
5.根据权利要求1所述的方法,其特征在于,所述根据所述任务优先级队列,生成预设数量的具有不同能耗值和可靠性的初始调度方案,所述初始调度方案用于为工作流中每个任务分配相匹配的处理器和执行频率组合,包括:
依次为所述任务优先级队列中每个任务生成对应的多个任务解决方案,并计算各所述任务解决方案的能耗值和可靠性,所述任务解决方案用于为所述任务分配相匹配的处理器和执行频率组合;
根据快速非支配排序算法和拥挤距离机制,从每个任务对应的多个任务解决方案中选取预设数量的任务解决方案;
根据每个任务的预设数量的任务解决方案,生成预设数量的具有不同能耗值和可靠性的初始调度方案,所述初始调度方案用于为工作流中每个任务分配相匹配的处理器和执行频率组合。
6.根据权利要求5所述的方法,其特征在于,所述依次为所述任务优先级队列中每个任务生成对应的多个任务解决方案,并计算各所述任务解决方案的能耗值和可靠性,所述任务解决方案用于为所述任务分配处理器和执行频率组合,包括:
按顺序为所述任务优先级队列中的任务分配一个预设的处理器和执行频率组合;
若通过预设的处理器和执行频率组合计算出的任务最早完成时间小于等于所述任务的扩展子截止期时,根据预设的处理器和执行频率组合生成一个第一任务解决方案,并计算所述第一任务解决方案的能耗值和可靠性;否则,为所述任务优先级队列中的任务分配另一个预设的处理器和执行频率组合;
若通过预设的处理器和执行频率组合计算出的任务最早完成时间均大于所述任务的扩展子截止期时,根据能够最早完成所述任务的处理器和执行频率组合生成第二任务解决方案,并计算所述第二任务解决方案的能耗值和可靠性。
7.根据权利要求1~6中任一项所述的方法,其特征在于,所述根据所述任务优先级队列,生成预设数量的具有不同能耗值和可靠性的初始调度方案之后,还包括:
对所述初始调度方案进行可靠性优化操作,所述可靠性优化操作包括:根据所述初始调度方案,按照每个任务的实际完成时间从大到小的顺序进行排序;依次选取排在前面的任务,并在遍历除所述任务以外的其他任务分配的处理器和执行频率组合后,为所述任务重新分配能耗相同且可靠性最大化的处理器和执行频率组合;遍历完所有任务后,生成优化调度方案,并删除被所述优化调度方案支配的其他初始调度方案;
对所述初始调度方案进行能耗优化操作,所述能耗优化操作包括:根据所述初始调度方案,按照每个任务的实际完成时间从大到小的顺序进行排序;依次选取排在前面的任务,并在遍历除所述任务以外的其他任务分配的处理器和执行频率组合后,为所述任务重新分配可靠性相同且能耗最小化的处理器和执行频率组合;遍历完所有任务后,生成优化调度方案,并删除被所述优化调度方案支配的其他初始调度方案。
8.一种截止期约束下的工作流能耗和可靠性调度装置,其特征在于,包括:
任务划分单元,用于根据任务的层次号,将工作流划分为多个任务集合,所述任务集合中包含层次号相同的至少一个任务;
第一确定单元,用于根据每个任务的初始子截止期,以及大于等于所述任务所属任务集合的层次号的所有任务集合的扩展时间,确定每个任务的扩展子截止期;
第二确定单元,用于根据每个任务的层次号和扩展子截止期,确定每个任务的优先级,并根据每个任务的优先级确定任务优先级队列;其中,所述任务优先级队列按照每个任务的调度顺序排列;
方案生成单元,用于根据所述任务优先级队列,生成预设数量的具有不同能耗值和可靠性的初始调度方案,所述初始调度方案用于为工作流中每个任务分配相匹配的处理器和执行频率组合。
9.一种计算设备,其特征在于,包括处理器和存储器,其中存储器内存储有执行指令,处理器读取存储器内的执行指令用于执行如权利要求1~7中任一项所述的截止期约束下的工作流能耗和可靠性调度方法中的步骤。
10.一种计算机可读存储介质,其特征在于,包含计算机执行指令,所述计算机执行指令被用于执行如权利要求1~7中任一项所述的截止期约束下的工作流能耗和可靠性调度方法中的步骤。
CN202011142302.4A 2020-10-22 2020-10-22 截止期约束下的工作流能耗和可靠性调度方法及装置 Pending CN112306653A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011142302.4A CN112306653A (zh) 2020-10-22 2020-10-22 截止期约束下的工作流能耗和可靠性调度方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011142302.4A CN112306653A (zh) 2020-10-22 2020-10-22 截止期约束下的工作流能耗和可靠性调度方法及装置

Publications (1)

Publication Number Publication Date
CN112306653A true CN112306653A (zh) 2021-02-02

Family

ID=74326949

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011142302.4A Pending CN112306653A (zh) 2020-10-22 2020-10-22 截止期约束下的工作流能耗和可靠性调度方法及装置

Country Status (1)

Country Link
CN (1) CN112306653A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112506640A (zh) * 2021-02-07 2021-03-16 浙江地芯引力科技有限公司 一种用于加密运算芯片的多处理器架构及调配方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112506640A (zh) * 2021-02-07 2021-03-16 浙江地芯引力科技有限公司 一种用于加密运算芯片的多处理器架构及调配方法
CN112506640B (zh) * 2021-02-07 2021-05-18 浙江地芯引力科技有限公司 一种用于加密运算芯片的多处理器架构及调配方法

Similar Documents

Publication Publication Date Title
US9374314B2 (en) QoS aware balancing in data centers
Adabi et al. Bi-level fuzzy based advanced reservation of Cloud workflow applications on distributed Grid resources
CN111861412B (zh) 面向完成时间优化的科学工作流调度方法及系统
CN110231986A (zh) 基于多fpga的动态可重配置的多任务调度和放置方法
CN111026519A (zh) 基于分布式的任务优先级调度方法和系统及存储介质
Atli et al. Resource-constrained project scheduling problem with multiple execution modes and fuzzy/crisp activity durations
Lee et al. A modified genetic algorithm for task scheduling in multiprocessor systems
CN112306653A (zh) 截止期约束下的工作流能耗和可靠性调度方法及装置
US8850445B2 (en) Scheduling flows in a multi-platform cluster environment
Pham et al. Incorporating energy and throughput awareness in design space exploration and run-time mapping for heterogeneous MPSoCs
Singh et al. Market-inspired dynamic resource allocation in many-core high performance computing systems
Xu et al. Hybrid scheduling deadline-constrained multi-DAGs based on reverse HEFT
CN116244073A (zh) 混合关键分区实时操作系统的资源感知型任务分配方法
CN110008002B (zh) 基于平稳分布概率的作业调度方法、装置、终端和介质
Benoit et al. Optimizing the latency of streaming applications under throughput and reliability constraints
Cao et al. Dagmap: Efficient scheduling for dag grid workflow job
Wan et al. Utility-driven share scheduling algorithm in hadoop
Salmani et al. A fuzzy-based multi-criteria scheduler for uniform multiprocessor real-time systems
Kalyanasundaram et al. Fault-tolerant real-time scheduling
Yuan et al. Fairness-aware scheduling algorithm for multiple DAGs based on task replication
He et al. Optimizing schedule length for DAG type applications with energy consumption constraint in heterogeneous computing systems
Shafinezhad et al. An Adaptive Budget and Deadline-aware Algorithm for Scheduling Workflows Ensemble in IaaS Clouds
El-Nattat et al. A new task scheduling algorithm for maximizing the distributed systems efficiency
Louis et al. A best effort heuristic algorithm for scheduling timely constrained tasks in the cloud
US7444316B1 (en) Method for scheduling jobs using distributed utility-based preemption policies

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