CN112308304B - 工作流执行时间优化方法及装置 - Google Patents
工作流执行时间优化方法及装置 Download PDFInfo
- Publication number
- CN112308304B CN112308304B CN202011142303.9A CN202011142303A CN112308304B CN 112308304 B CN112308304 B CN 112308304B CN 202011142303 A CN202011142303 A CN 202011142303A CN 112308304 B CN112308304 B CN 112308304B
- Authority
- CN
- China
- Prior art keywords
- task
- representing
- budget
- processor
- workflow
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 95
- 238000005457 optimization Methods 0.000 title claims abstract description 49
- 238000004891 communication Methods 0.000 claims description 18
- 230000001174 ascending effect Effects 0.000 claims description 13
- 230000005540 biological transmission Effects 0.000 claims description 10
- 230000003111 delayed effect Effects 0.000 claims description 9
- 239000002243 precursor Substances 0.000 claims description 7
- 230000001186 cumulative effect Effects 0.000 claims description 4
- 239000011159 matrix material Substances 0.000 claims description 3
- 230000007547 defect Effects 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 229920002430 Fibre-reinforced plastic Polymers 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000011151 fibre-reinforced plastic Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000035899 viability Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0633—Workflow analysis
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Educational Administration (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了工作流执行时间优化方法及装置,涉及分布式计算技术领域。用以解决异构预算约束调度方法在预算分配方面的不足,导致低优先级的任务具有更长执行时间的问题。该方法包括:根据任务在处理器集合上的执行时间差异值,确定每个任务的优先级等级值以及任务优先级队列;根据每个任务在处理器集合上的执行成本差异值、平均执行成本以及空余预算,确定每个任务的空余预算、预分配子预算以及最大可用预算;根据任务的最大可以预算与任务的实际执行成本的大小关系,得到至少一个可用处理器,基于最早完成时间EFT,确定每个任务在可用处理器上的实际完成时间,根据实际完成时间得到任务优先级队列的初始调度方法。
Description
技术领域
本发明涉及分布式计算技术领域,更具体的涉及工作流执行时间优化方法及装置。
背景技术
大规模科学应用,如电子商务、自动驾驶、智能制造,对计算处理器的需求日益增多,进而推动了分布式计算系统的发展。这些科学应用可以被划分为一组任务,任务之间通过数据依赖确定执行的先后次序,最终形成一个工作流。工作流是目前最重要的表示科学应用的编程范式,传统的分布式计算系统,如集群、超级计算机、网格经常被用来执行复杂的工作流应用。随着云计算的出现以及云基础设施的快速发展,越来越多的工作流应用已经迁移至云计算系统。云计算系统以按需的处理器供应模式向外提供具有不同计算能力的处理器,一般来说,处理器的单价与计算能力呈现正相关关系:在这种计算模式下,用户可以根据应用的规模以及期望的服务质量(quality of service,QoS)层次动态扩张或收缩使用的处理器数量,并且只需为实际的使用量计费,同时,随着系统处理器的更新换代,旧的、缓慢的设备持续被新的、快速的设备替代,系统处理器越来越异构化,云计算系统也呈现出异构的特征。对于异构云计算系统的用户而言,工作流应用的完成时间与执行费用是两个关键的因素,如何在两者之间取得平衡是工作流调度的关键。
在用户所关注的QoS需求中,预算(budget)无疑是非常重要且常见的一个因素,预算代表着用户在执行工作流应用时的经济承受能力。因此,研究异构云计算系统中预算约束的工作流执行时间最小化问题具有重要的现实意义,预算约束的工作流执行时间最小化问题具有很强的挑战性:首先,从用户的角度出发,执行工作流产生的执行费用不能超过预设的预算约束;其次,从系统的角度而言,最小化工作流的完成时间是核心问题,也预示着系统在满足用户QoS需求上的能力;预算约束的工作流调度问题得到了广泛的研究,当前一般采用启发式的方法解决此问题,这些方法一般都采用预算划分的方式解决此问题,即将工作流的预算转换为每个任务的子预算,进而保证预算约束得到满足;异构预算约束调度方法(heterogeneous budget constrained scheduling,HBCS)通过为任务预分配最小的执行成本来满足预算约束,空余预算则由所有的任务共同使用,但是,在HBCS中,优先级高的任务能够优先利用空余预算,在选择计算处理器上具有更大的自由度,优先级低的任务则只有较少的预算可以使用,甚至只能选择最慢的计算处理器,此种调度方法对低优先级的任务是不公平的,也会导致更长的执行时间。
综上所述,现有的异构预算约束调度方法存在在预算分配方面的不足,而导致低优先级的任务具有更长执行时间的问题。
发明内容
本发明实施例提供工作流执行时间优化方法及装置,用以解决现有的异构预算约束调度方法存在在预算分配方面的不足,而导致低优先级的任务具有更长执行时间的问题。
本发明实施例提供工作流执行时间优化方法,包括:
根据任务在处理器集合上的执行时间差异值,确定每个所述任务的优先级等级值以及任务优先级队列;其中,所述任务优先级队列按照每个所述任务的调度按照非升序排列;
根据每个所述任务在处理器集合上的执行成本差异值、每个所述任务的平均执行成本以及每个所述任务的空余预算,确定每个所述任务的空余预算;
根据所述工作流的空余预算和所述任务在处理器集合上的最小执行成本,确定每个所述任务的预分配子预算以及最大可用预算;
根据所述任务的最大可以预算与所述任务的实际执行成本的大小关系,对处理器集合进行优化,得到至少一个可用处理器,基于最早完成时间EFT,依次确定所述任务优先级队列包括的每个所述任务在可用处理器上的实际完成时间,根据所述实际完成时间得到所述任务优先级队列的初始调度方法。
优选地,所述根据每个所述任务在处理器集合上的执行成本差异值、每个所述任务的平均执行成本以及每个所述任务的空余预算,确定每个所述任务的空余预算,具体包括:
根据下列公式确定每个所述任务的成本层次:
根据下列公式确定每个所述任务的空余预算:
其中,其表示任务ti的在处理器集合上执行成本的差异值,/>其表示任务ti的平均执行成本,cost(ti,pk)表示任务ti在处理器pk上的执行成本,|P|表示处理器集合中处理器的数目,costlv(ti)表示任务ti的成本层次,costspare(ti)表示任务ti的空余预算,costspare(G)表示工作流G的空余预算。
优选地,所述根据所述工作流的空余预算和所述任务在处理器集合上的最小执行成本,确定每个所述任务的预分配子预算以及最大可用预算,具体包括:
根据下列公式确定每个所述任务的预分配子预算:
costpre(ti)=costmin(ti)+costspare(ti)
根据下列公式确定每个所述任务的最大可用预算:
其中,costgiven(G)表示工作流G的预算,cost(ts(x),pf(s(x)))表示已分配任务ts(x)的实际执行成本,costpre(ts(x))表示未分配任务ts(x)的预分配预算,costgiven(ts(i))表示任务ts(i)的最大可用预算。
优选地,所述根据所述实际完成时间得到所述任务优先级队列的初始调度方法之后,还包括:
根据所述初始调度方法对所述任务优先级队列包括的任务进行升序排列,得到任务优化队列;
根据所述工作流的初始预算和所述任务优先级队列包括的所述任务的实际完成时间,确定所述工作流的未使用预算以及所述工作流的累计可用预算;
根据延迟判断条件确定所述任务优化队列包括的每个所述任务是否可延迟,并根据判断结果,输出每个所述任务的优化调度方法;其中,优化调度方法包括:可延迟任务分配至不影响后继续任务开始且具有最小执行成本的处理器上;或者,根据所述工作流的累计可用预算,将不可延迟任务分配至具有最小执行成本的处理器上。
优选地,根据下列公式确定所述工作流的未使用预算:
其中,costunused(G)表示工作流G的未使用预算,costgiven(G)表示工作流G的初始预算,cost(ti,pf(i))表示任务ti的实际执行成本,f(i)表示任务ti在所述任务优化队列所分配的处理器的索引值。
优选地,所述延迟判断条件通过下列公式确定:
所述输出每个所述任务的优化调度方法之后,还包括:根据下列公式更新所述工作流的累计可用预算:
costaccum(G)=costaccum(G)+cost(to(i),pf(o(i)))-cost(to(i),pf'(o(i)))
其中,wj,f(j)表示任务tj在处理器Pf(j)上的执行时间,c'i,j为任务ti与任务tj之间的传输时间,AFT(tj)为任务tj的实际完成时间,cost(to(i),pf'(o(i)))表示所述任务优化队列中包括的任务to(i)在处理器pf'(o(i))上的实际执行成本,costaccum(G)表示所述工作流的累计可用预算,cost(to(i),pf(o(i)))表示所述任务优化队列中包括的任务to(i)在处理器pf(o(i))上的实际执行成本,f(o(i))表示任务to(i)在初始调度方法中分配的处理器的索引,f'(o(i))表示在优化调度方法中为任务to(i)选择的新处理器的索引。
优选地,根据下列公式确定所述任务的执行时间差异值:
所述根据任务在处理器集合上的执行时间差异值,确定每个所述任务的优先级等级值,具体包括:
确定每个所述任务的自底向上等级值和自顶向下等级值,根据每个所述任务的自底向上等级值和每个所述任务的自顶向下等级值,通过下列公式确定每个所述任务的优先级等级值:
rankp(ti)=ranku(ti)+rankd(texit)-rankd(ti)
其中,rankp(ti)表示任务ti的优先级等级值,ranku(ti)表示任务ti的自底向上等级值,rankd(texit)表示结束任务texit的自顶向下等级值,rankd(ti)表示任务ti的自顶向下等级值。
优选地,所述依次确定所述任务优先级队列包括的每个所述任务在可用处理器上的实际完成时间,具体包括:
根据下列公式确定每个所述任务的实际完成时间:
其中,其表示任务ti在处理器pk上的最早完成时间,avail[pk]表示处理器pk空闲的最早时间,AFT(tj)表示任务tj的实际完成时间。wi,k∈W表示任务ti在处理器pk上的执行时间,c'j,i表示任务tj与任务ti之间的传输时间,/>表示确保AFT的处理器pm是任务ti的分配处理器。
本发明实施例还提供工作流执行时间优化装置,包括:
第一确定单元,用于根据任务在处理器集合上的执行时间差异值,确定每个所述任务的优先级等级值以及任务优先级队列;其中,所述任务优先级队列按照每个所述任务的调度按照非升序排列;
第二确定单元,用于根据每个所述任务在处理器集合上的执行成本差异值、每个所述任务的平均执行成本以及每个所述任务的空余预算,确定每个所述任务的空余预算;根据所述工作流的空余预算和所述任务在处理器集合上的最小执行成本,确定每个所述任务的预分配子预算以及最大可用预算;
得到单元,用于根据所述任务的最大可以预算与所述任务的实际执行成本的大小关系,对处理器集合进行优化,得到至少一个可用处理器,基于最早完成时间EFT,依次确定所述任务优先级队列包括的每个所述任务在可用处理器上的实际完成时间,根据所述实际完成时间得到所述任务优先级队列的初始调度方法。
优选地,所述第二确定单元具体用于:
根据下列公式确定每个所述任务的成本层次:
根据下列公式确定每个所述任务的空余预算:
根据下列公式确定每个所述任务的预分配子预算:
costpre(ti)=costmin(ti)+costspare(ti)
根据下列公式确定每个所述任务的最大可用预算:
其中,其表示任务ti的在处理器集合上执行成本的差异值,/>其表示任务ti的平均执行成本,cost(ti,pk)表示任务ti在处理器pk上的执行成本,|P|表示处理器集合中处理器的数目,costlv(ti)表示任务ti的成本层次,costspare(ti)表示任务ti的空余预算,costspare(G)表示工作流G的空余预算;/>表示任务ti在处理器集合上的最小执行成本,costspare(ti)表示任务ti分到的空余预算,costpre(ti)表示任务ti的预分配子预算;costgiven(G)表示工作流G的预算,cost(ts(x),pf(s(x)))表示已分配任务ts(x)的实际执行成本,costpre(ts(x))表示未分配任务ts(x)的预分配预算,costgiven(ts(i))表示任务ts(i)的最大可用预算。
本发明实施例提供工作流执行时间优化方法及装置,该方法包括:根据任务在处理器集合上的执行时间差异值,确定每个所述任务的优先级等级值以及任务优先级队列;其中,所述任务优先级队列按照每个所述任务的调度按照非升序排列;根据每个所述任务在处理器集合上的执行成本差异值、每个所述任务的平均执行成本以及每个所述任务的空余预算,确定每个所述任务的空余预算;根据所述工作流的空余预算和所述任务在处理器集合上的最小执行成本,确定每个所述任务的预分配子预算以及最大可用预算;根据所述任务的最大可以预算与所述任务的实际执行成本的大小关系,对处理器集合进行优化,得到至少一个可用处理器,基于最早完成时间EFT,依次确定所述任务优先级队列包括的每个所述任务在可用处理器上的实际完成时间,根据所述实际完成时间得到所述任务优先级队列的初始调度方法。该方法通过考虑每个任务在不同处理器上的执行时间差异值,计算每个任务的优先级等级值,从而得到更合理的任务优先级队列;通过结合任务的平均执行成本和执行成本差异值,为任务优先级队列中的每个任务分配了更合理的子预算,丰富了每个任务的处理器选择,可以为任务选择更合理的处理器;该方法能够为异构云计算系统中预算约束的工作流生成具有最小完成时间的调度,针对现有的调度方法在预算分配方面的不足,提出了一种新的预算分配方法,能够为任务分配更合理的子预算;同时,考虑任务在处理器上执行时间的异构程度,提出了一个新的任务优先级确定方法,提出的调度方法不仅适用于异构云计算系统,也可以在新兴的边缘计算系统上使用,具有广泛的应用场景。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的工作流执行时间优化方法流程示意图;
图2为本发明实施例提供的具有十个任务的工作流应用示意图;
图3为本发明实施例提供的工作流执行时间优化装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1示例性的示出了本发明实施例提供的工作流执行时间优化方法流程示意图。
如图1所示,该方法主要包括以下步骤:
步骤101,根据任务在处理器集合上的执行时间差异值,确定每个所述任务的优先级等级值以及任务优先级队列;其中,所述任务优先级队列按照每个所述任务的调度按照非升序排列;
步骤102,根据每个所述任务在处理器集合上的执行成本差异值、每个所述任务的平均执行成本以及每个所述任务的空余预算,确定每个所述任务的空余预算;
步骤103,根据所述工作流的空余预算和所述任务在处理器集合上的最小执行成本,确定每个所述任务的预分配子预算以及最大可用预算;
步骤104,根据所述任务的最大可以预算与所述任务的实际执行成本的大小关系,对处理器集合进行优化,得到至少一个可用处理器,基于最早完成时间EFT,依次确定所述任务优先级队列包括的每个所述任务在可用处理器上的实际完成时间,根据所述实际完成时间得到所述任务优先级队列的初始调度方法。
在介绍本发明实施例提供的工作流执行时间优化方法之前,先介绍与该方法相关的基础内容、符号及符号含义:
云环境下DAG(Database Availability Group,即数据库可用性组)的计算处理器分配问题的系统模型包含三层:任务层、处理器层和云基础架构层。任务层由用户提交的有优先级限制的任务组成;处理器层表示由多个虚拟机(Virtual Machines,VMs)构成的网络;云基础架构层由相互连接的物理计算机组成。任务的计算处理器分配是要确定将任务放到哪个处理器上执行以及从什么时候开始执行,与任务放置不同,任务的计算处理器分配除了任务放置的空间维度外,还包含了时间维度。本发明实施例提供的工作流执行时间优化方法,包括任务的放置和任务在处理器上的开始执行时间。
假定异构云计算系统能够提供一组处理器,处理器集合表示为:P={p1,p2,...,p|P|},其中|P|表示系统中处理器P的数目,pricek表示处理器pk的单位价格,执行于系统中的工作流可以表示为G={T,E,G,W};T表示G的节点集合,ti∈T表示工作流的一个任务;E表示通信边集合,eij∈E表示从ti到tj有一条通信边,ti为tj的前驱节点,tj为ti的后继节点;G表示通信时间集合,ci,j∈G表示当ti和tj没有被分配到同一处理器上时的通信时间;W表示大小为|T|×|P|的执行时间矩阵,wi,k∈W表示任务ti在处理器pk上的执行时间;pred(ti)表示任务ti的前驱任务集合,succ(ti)表示任务ti的后继任务集合;tentry表示开始任务(没有前驱的任务),texit表示结束任务(没有后继的任务)。
图2为本发明实施例提供的一个具有十个任务的工作流应用示意图,其中t1和t10分别为tentry和texit。此处假定工作流只有一个tentry和texit,如果有多个的话,可以添加虚拟任务(dummy task)使得工作流只有一个tentry和texit。
在实际应用中,根据用户使用处理器的时间来收费。由于考虑的云计算平台上处理器完全异构,所以每个处理器有各自的单价。设处理器pk的租用单价为pricek。假设云计算系统中所有的计算和存储服务都工作在同一物理区域,那么通信时间ci,j仅取决于任务ti到任务tj之间的通信时间,如果任务tj与任务ti分配在同一处理器上时,则ci,j=0,因为处理器内部的数据传输一般是免费提供,因此在本研究的模型中假定其数据传输成本为0。
相应地,定义任务ti在处理器pk上的执行成本通过公式(1)确定,任务ti在处理器pk上的实际执行成本通过公式(2)确定:
cost(ti,pk)=wi,k×pricek (1)
其中,cost(ti,pk)为任务ti在处理器pk上的实际执行成本,wi,k∈W表示任务ti在处理器pk上的执行时间,pricek表示处理器pk的单位价格。
其中,f(i)是分配给任务ti的处理器的索引值,并且1≤f(i)≤|P|,G表示通信时间集合,T表示G的节点集合,wi,f(i)表示任务ti在处理器Pf(i)上的执行时间,pricef(i)为处理器Pf(i)的单位价格,cost(ti,pf(i))为任务ti在处理器Pf(i)上的实际执行成本。
进一步地,已知任务在处理器上的执行时间,通过遍历系统中所有处理器能够得到任务ti的最大执行成本以及最小执行成本;再者,根据确定的任务在处理器上的最大执行成本以及最小执行成本,就可以确定工作流G的最小执行成本和最大执行成本,其分别由以下公式(3)和公式(4)确定:
其中,cost(ti,pf(i))为任务ti在处理器Pf(i)上的实际执行成本,costmin(G)表示工作流G的最小执行成本,costmin(ti)表示任务ti在所有处理器上的最小执行成本,costmax(ti)表示任务ti在所有处理器上的最大执行成本,costmax(G)表示工作流G的最大执行成本。
在实际应用中,若假定costgiven(G)表示给定工作流G的预算,如果costgiven(G)小于工作流G的最小执行成本costmin(G),那么就不存在能够满足预算的调度,如果给定工作流G的预算costgiven(G)大于工作流G的最大执行成本costmax(G),那么任何调度方案都能满足预算约束。因此,公式(5)表示的条件应当成立:
costmin(G)≤costgiven(G)≤costmax(G) (5)
在本发明实施例中,为了给工作流包括的每个任务分配一个合理的处理器,使得工作流的执行成本不超过给定的预算,同时最小化工作流的执行时间,即存在公式(6)和公式(7)表达的条件:
其中,SL(G)为工作流的执行时间,AFT(ti)为任务ti的实际完成时间。
基于以上内容,开始介绍本发明实施例提供的工作流执行时间优化方法,本发明实施例提供的工作流执行时间优化方法主要包括任务排序,预算任务,任务分配和调度优化。
在实际应用中,由于任务之间存在依赖关系,所以生成的优先级队列必定为一个拓扑序列(Topological Order),即前驱任务必定排列在后继任务之前。在优先级队列中,tentry和texit分别在队首和队尾的位置。
在步骤101中,首先确定任务在处理器集合中包括的不同处理器上的执行时间差异值,进而结合任务的平均执行时间计算每个任务的自底向上等级值和自顶向下等级值,最终计算得到每个任务的优先级等级值,并据此确定任务优先级队列。
具体地,根据下列公式(8)确定任务ti在不同处理器上的执行时间差异值:
公式(8)中的第二项求得的是任务ti执行时间的标准差,第一项是为了将该值归一化。
需要说明的,在实际应用中,任务在不同处理器上的执行时间差异值表示任务在各处理器上执行时间的差异程度,也可以表示为任务对处理器的敏感程度;举例来说,执行时间差异值越大,说明任务对处理器比较敏感,分配在不同的处理器上对任务的执行时间影响大,则应该优先调度该任务;执行时间差异值越小,说明任务对处理器不敏感,分配在不同的处理器上对任务的执行时间影响小,因此,该任务可以延迟调度。
基于上述公式(8)确定的任务的执行时间差异值,可以进一步地确定每个任务的自底向上等级值、自顶向下等级值和优先级等级值。
具体地,任务的自底向上等级值可以由公式(10)计算得到,该计算过程从结束任务texit开始,迭代计算每个任务的自底向上等级值。对于结束任务,其自底向上等级值可以通过相邻公式(9)确定:
其中,TimeDiff(texit)表示结束任务texit在不同处理器上的执行时间差异值,表示结束任务texit在在不同处理器上的平均执行时间,ranku(texit)表示结束任务texit的自底向上等级值,TimeDiff(ti)表示任务ti的执行时间差异值,/>表示任务ti在处理器上的平均执行时间,即/>ci,j∈G表示当ti和tj没有被分配到同一处理器上时的通信时间,ranku(ti)表示任务ti的自底向上等级值,ranku(ti)表示任务ti的自底向上等级值,ci,j+ranku(tj)为任务tj的自底向上等级值与ci,j之和,/>表示对于任务ti的每一个后继任务tj,计算ci,j+ranku(tj)之值,取最大值。
任务的自顶向下等级值可以由公式(11)计算得到,该计算过程从开始任务tentry开始,迭代计算每个任务的自顶向下等级值。对于开始任务tentry,rankd(tentry)=0。
其中,TimeDiff(ti)表示任务ti在不同处理器上的执行时间差异值,rankd(ti)表示表示任务ti的自顶向下等级值,表示任务tj在处理器上的平均执行时间,rankd(tj)表示表示任务tj的自顶向下等级值,/>表示对于任务ti的每一个前驱任务tj,计算/>之值,取最大值。
进一步地,根据下列公式(12)确定任务的优先级等级值:
rankp(ti)=ranku(ti)+rankd(texit)-rankd(ti) (12)
其中,rankp(ti)表示任务ti的优先级等级值,ranku(ti)表示任务ti的自底向上等级值,rankd(texit)表示结束任务texit的自顶向下等级值,rankd(ti)表示任务ti的自顶向下等级值。
在本发明实施例中,根据公式(12)可以确定每个任务的优先级等级值,然后对多个任务的优先级等级值rankp做非升序排列,得到任务优先级队列。需要说明的是,在实际应用中,若存在有两个任务的优先级等级值相等,则可以对上述两个任务的排序进行任意安排。
任务优先级队列可以通过公式(13)表示:
Trank={ts(1),ts(2),...,ts(|N|)} (13)
其中,s(i)为队列第i个位置的任务的下标,并且ts(1)和ts(|N|)分别为开始任务tentry和结束任务texit。
预算划分将工作流的总预算转化为每个任务的子预算,只要每个任务的执成本不超过设定的预分配子预算,那么工作流的执行成本就不会超过总预算,预算限制就得到了满足,生成的调度就是成功的。
在步骤102中,根据给定工作流的预算,可以通过下列公式(14)确定工作流的空余预算:
costspare(G)=costgiven(G)-costmin(G) (14)
其中,costgicen(G)为工作流G的初始预算,costspare(G)为工作流G的空余预算,costmin(G)为工作流G的最小执行时间。
为了确定为每个任务的预分配子预算,需要先确定任务的成本层次,任务的成本层次可以通过公式(15)确定:
其中,表示任务ti的平均执行成本,CostDiff(ti)表示任务ti的在处理器集合上执行成本的差异值,cost(ti,pk)表示任务ti在处理器pk上的实际执行成本,|P|表示系统中处理器的数目,costlv(ti)表示任务ti的成本层次。
在本发明实施例中,根据公式(15)可以确定,具有较大执行成本和较大差异值的任务具有较大的成本层次值,将会得到比较大的空余预算,从而丰富任务的处理器选项。进一步地,任务ti所分得的空余预算可以通过公式(17)确定:
其中,costlv(ti)表示任务ti的成本层次,costspare(ti)表示任务ti的所分得的空余预算,costspare(G)表示工作流G的空余预算。
进一步地,可以通过公式(18)确定为任务ti的预分配子预算:
costpre(ti)=costmin(ti)+costspare(ti) (18)
在实际应用中,由于任务调度是根据之前计算的任务优先级值确定的,因此,若假定任务的调度次序为ts(1),ts(2),...,其中s(k)表示第k个被调度任务的索引值。那么当调度任务ts(i)时(即第i个被调度的任务),之前的i-1个已经被调度,执行成本也已确定,之后的|N|-i个尚未调度,所以任务实际的执行成本并不一定等于costpre(ti),因此优先调度的任务未充分利用的预算可以由后续任务利用,任务的预算约束是动态调整的,当前调度的任务可用的预算受已调度任务的影响。进一步地,若当前已调度的任务集合为T={ts(1),ts(2),...,ts(i-1)},当前调度任务为ts(i),尚未调度的任务集合为Tumsch={ts(i+1),ts(i+2),...,ts(|N|)}。那么当调度任务ts(i)时,工作流G的执行成本可以通过下列公式(19)确定:
其中,costs(i)(G)表示调度任务ts(i)时,工作流G的执行成本,cost(ts(i),pf(s(i)))表示将第i个调度的任务ts(i)分配至处理器pf(s(i))时的实际执行成本,cost(ts(x),pf(s(x)))表示已分配任务ts(x)的实际执行成本,costpre(ts(x))表示未分配任务ts(x)的预分配预算。
在本发明实施例中,为了保证工作流的预算约束得到满足,对于所有的任务ts(i),工作流G的执行成本costs(i)(G)必须小于等于工作流的预算costgiven(G),即costs(i)(G)≤costgiven(G)。因此当调度任务为ts(i)时,ts(i)的最大可用预算可以通过下列公式(20)确定:
其中,costgiven(G)表示为工作流G的初始预算,cost(ts(x),pf(s(x)))表示已分配任务ts(x)的在处理器pf(s(x))上的实际执行成本,costpre(ts(x))表示未分配任务ts(x)的预分配预算,costgiven(ts(i))表任务ts(i)的最大可用预算。
在本发明实施例中,只要为任务ts(i)选择执行成本不超过costgiven(ts(i))的处理器,那么任务ts(i)的预算约束就可以得到满足。如果所有任务的执行成本都不超过设置的最大可用预算,那么工作流的预算就得到了满足。
一个完整的调度方案需要确定任务的执行次序以及执行处理器,任务排序部分生成了任务优先级队列,后续则需要为每个任务分配一个合理的处理器,从而可以最小化工作流的执行时间。
在步骤103中,基于最早完成时间EFT的思想为任务选择处理器,即将任务分配至能够最早完成该任务的处理器上。但是在实际应用中,并不是所有的处理器都是可以用来执行该任务的,因此,在分配一个任务时,需要先根据公式(2)确定任务在每个处理器上的实际执行成本,当确定了任务在每个处理器上的实际执行成本之后,根据任务的最大可以预算与实际执行成本的大小关系,将最大可用预算大于实际执行成本的处理器去除,然后从剩余的处理器中选择能够最早完成该任务的处理器。
进一步地,根据下列公式(21)确定任务在处理器上的最早完成时间:
其中,EFT(ti,pk)表示任务ti在处理器pk上的最早完成时间,avail[pk]表示处理器pk空闲的最早时间,AFT(tj)表示任务tj的实际完成时间,wi,k∈W表示任务ti在处理器pk上的执行时间,c'j,i表示任务tj与任务ti之间的传输时间,如果tj与ti分配在同一处理器上时,c'j,i=0,否则cj,i=cj,i。
根据下列公式(22)确定任务的时间完成时间:
其中,表示确保AFT的处理器pm是任务ti的分配处理器,表示即对于所有满足预算约束的处理器(执行成本小于任务的最大可用预算)cost(ti,pk)≤costgiven(ti),选择具有最小最早完成时间的处理器,在该处理器上的最早完成时间即为任务的实际完成时间。
需要说明的是,在本发明实施例中,由于根据公式(20)已经确定了任务优先级队列中的包括的每个任务的最大可用预算,因此可以根据公式(21)和(22)确定每个任务的实际完成时间,以及保证每个任务实际完成时间的处理器pm,然后可以通过轮询的方法,依次确定任务优先级队列中的包括的每个任务的实际完成时间。最后根据确定的每个任务的实际完成时间得到任务优先级队列的初始调度方法,即为每个任务选择了在满足预分配子预算的前提下能够最早完成该任务的处理器。
在本发明实施例中,当确认了任务优先级队列的初始调度方法之后,由于工作流任务之间的依赖关系,导致处理器上会存在许多的空闲时间,并且工作流的预算未必能够完全被利用。因此,还可以通过降低工作流的完成时间,来进一步的优化之前确认的初始调度方法。
具体地,根据初始调度方法中每个任务的时间完成时间,对每个任务进行升序排序,得到任务优化队列,根据初始调度方法中每个任务的实际开始时间对每个任务进行排序,排序得到的任务优化队列中的任务索引。举例来说,若得到的任务优化队列为Topti={to(1),to(2),...,to(|N|)},则任务索引为{o(1),o(2),...,o(|N|)}。其中,o(i)为处理的第i个任务to(i)的索引值,f(o(i))为任务to(i)在初始调度中分配的处理器的索引,因为优化调度尝试将任务分配至其他的处理器以优化调度,f'(o(i))为优化调度时为任务选择的新的处理器的索引。
进一步地,根据公式(23)确定工作流未使用的预算:
其中,costunused(G)表示工作流G未使用的预算,costgiven(G)表示工作流G的初始预算,cost(ti,pf(i))表示任务ti在处理器pf(i)上的的实际执行成本,f(i)表示任务ti在初始调度方法中所分配的处理器的索引值。
在实际应用中,任务可以重用工作流未使用的预算costunused(G),从而选择执行更快的处理器,加速自身以及后继任务的执行。同时,在初始调度方法中,某些任务可以延迟执行但是不影响后继任务的开始,因此,可以得到任务ti可以延迟的条件:
需要说明的是,对于可以延迟的任务,可以尝试将该任务分配至不影响后继任务开始且具有更小执行成本的处理器上,省出部分预算;对于不可延迟的任务,可以利用累积的可用预算,尝试将任务分配至具有更小执行时间的处理器上,以加速执行。
本发明实施例中,累积的可用预算可以通过公式(25)确定:
costaccum(G)=costumused(G) (25)
进一步地,当根据公式(23)、(24)和(25)确定了任务优化队列中的某个任务为可延迟任务时,则可以尝试将该任务分配至不影响后继任务开始且具有更小执行成本的处理器上,举例来说,若任务当前选择的处理器为f'(o(i)),那么该任务就省出部分预算,进一步地,可以通过下列公式(26)更新累积的可用预算:
costaccum(G)=costaccum(G)+cost(to(i),pf(o(i)))-cost(to(i),pf'(o(i))) (26)
换言之,当根据公式(23)、(24)和(25)确定了任务优化队列中的某个任务为不可延迟任务时,则可以尝试将任务分配至具有更小执行时间的处理器上。举例来说,若当前任务选择的处理器为f'(o(i)),那么该任务就利用了部分累积的预算,进一步地,也可以通过下列公式(26)更新累积的可用预算。在实际应用中,若存在costaccum(G)<0,则说明此时没有足够的未利用预算,该任务是不能迁移至其他处理器上的。
将任务优化队列中包括的全部任务均可以根据公式式(23)、(24)和(25),来确定该任务是否为可延迟任务或者为不可延迟任务,当将全部任务判断完之后,则可以得到任务优化队列的优化调度方法。通过优化调度方法,可以进一步地降低工作流的执行时间。
综上所述,本发明实施例提供工作流执行时间优化方法及装置,该方法包括:根据任务在处理器集合上的执行时间差异值,确定每个所述任务的优先级等级值以及任务优先级队列;其中,所述任务优先级队列按照每个所述任务的调度按照非升序排列;根据每个所述任务在处理器集合上的执行成本差异值、每个所述任务的平均执行成本以及每个所述任务的空余预算,确定每个所述任务的空余预算;根据所述任务的最大可以预算与所述任务的实际执行成本的大小关系,对处理器集合进行优化,得到至少一个可用处理器,基于最早完成时间EFT,依次确定所述任务优先级队列包括的每个所述任务在可用处理器上的实际完成时间,根据所述实际完成时间得到所述任务优先级队列的初始调度方法。该方法通过考虑每个任务在不同处理器上的执行时间差异值,计算每个任务的优先级等级值,从而得到更合理的任务优先级队列;通过结合任务的平均执行成本和执行成本差异值,为任务优先级队列中的每个任务分配了更合理的子预算,丰富了每个任务的处理器选择,可以为任务选择更合理的处理器;该方法能够为异构云计算系统中预算约束的工作流生成具有最小完成时间的调度,针对现有的调度方法在预算分配方面的不足,提出了一种新的预算分配方法,能够为任务分配更合理的子预算;同时,考虑任务在处理器上执行时间的异构程度,提出了一个新的任务优先级确定方法,提出的调度方法不仅适用于异构云计算系统,也可以在新兴的边缘计算系统上使用,具有广泛的应用场景。
基于同一发明构思,本发明实施例提供了工作流执行时间优化装置,由于该装置解决技术问题的原理与工作流执行时间优化方法相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。
图3为本发明实施例提供的工作流执行时间优化装置结构示意图,该装置包括第一确定单元301,第二确定单元302和得到单元303。
第一确定单元301,用于根据任务在处理器集合上的执行时间差异值,确定每个所述任务的优先级等级值以及任务优先级队列;其中,所述任务优先级队列按照每个所述任务的调度按照非升序排列;
第二确定单元302,用于根据每个所述任务在处理器集合上的执行成本差异值、每个所述任务的平均执行成本以及每个所述任务的空余预算,确定每个所述任务的空余预算;根据所述工作流的空余预算和所述任务在处理器集合上的最小执行成本,确定每个所述任务的预分配子预算以及最大可用预算;
得到单元303,用于根据所述任务的最大可以预算与所述任务的实际执行成本的大小关系,对处理器集合进行优化,得到至少一个可用处理器,基于最早完成时间EFT,依次确定所述任务优先级队列包括的每个所述任务在可用处理器上的实际完成时间,根据所述实际完成时间得到所述任务优先级队列的初始调度方法。
优选地,所述第二确定单元302具体用于:
根据下列公式确定每个所述任务的成本层次:
根据下列公式确定每个所述任务的空余预算:
根据下列公式确定每个所述任务的预分配子预算:
costpre(ti)=costmin(ti)+costspare(ti)
根据下列公式确定每个所述任务的最大可用预算:
其中,其表示任务ti的在处理器集合上执行成本的差异值,/>其表示任务ti的平均执行成本,cost(ti,pk)表示任务ti在处理器pk上的执行成本,|P|表示处理器集合中处理器的数目,costlv(ti)表示任务ti的成本层次,costspare(ti)表示任务ti的空余预算,costspare(G)表示工作流G的空余预算;/>表示任务ti在处理器集合上的最小执行成本,costspare(ti)表示任务ti分到的空余预算,costpre(ti)表示任务ti的预分配子预算;costgiven(G)表示工作流G的预算,cost(ts(x),pf(s(x)))表示已分配任务ts(x)的实际执行成本,costpre(ts(x))表示未分配任务ts(x)的预分配预算,costgiven(ts(i))表示任务ts(i)的最大可用预算。
所述得到单元303还用于:
根据所述初始调度方法对所述任务优先级队列包括的任务进行升序排列,得到任务优化队列;
根据所述工作流的初始预算和所述任务优先级队列包括的所述任务的实际完成时间,确定所述工作流的未使用预算以及所述工作流的累计可用预算;
根据延迟判断条件确定所述任务优化队列包括的每个所述任务是否可延迟,并根据判断结果,输出每个所述任务的优化调度方法;其中,优化调度方法包括:可延迟任务分配至不影响后继续任务开始且具有最小执行成本的处理器上;或者,根据所述工作流的累计可用预算,将不可延迟任务分配至具有最小执行成本的处理器上。
优选地,根据下列公式确定所述工作流的未使用预算:
其中,costunused(G)表示工作流G的未使用预算,costgiven(G)表示工作流G的初始预算,cost(ti,pf(i))表示任务ti的实际执行成本,f(i)表示任务ti在所述任务优化队列所分配的处理器的索引值。
优选地,所述延迟判断条件通过下列公式确定:
所述输出每个所述任务的优化调度方法之后,还包括:根据下列公式更新所述工作流的累计可用预算:
costaccum(G)=costaccum(G)+cost(to(i),pf(o(i)))-cost(to(i),pf'(o(i)))
其中,wj,f(j)表示任务tj在处理器Pf(j)上的执行时间,c'i,j为任务ti与任务tj之间的传输时间,AFT(tj)为任务tj的实际完成时间,cost(to(i),pf'(o(i)))表示所述任务优化队列中包括的任务to(i)在处理器pf'(o(i))上的实际执行成本,costaccum(G)表示所述工作流的累计可用预算,cost(to(i),pf(o(i)))表示所述任务优化队列中包括的任务to(i)在处理器pf(o(i))上的实际执行成本,f(o(i))表示任务to(i)在初始调度方法中分配的处理器的索引,f'(o(i))表示在优化调度方法中为任务to(i)选择的新处理器的索引。
优选地,根据下列公式确定所述任务的执行时间差异值:
所述第一确定单元301具体用于:
确定每个所述任务的自底向上等级值和自顶向下等级值,根据每个所述任务的自底向上等级值和每个所述任务的自顶向下等级值,通过下列公式确定每个所述任务的优先级等级值:
rankp(ti)=ranku(ti)+rankd(texit)-rankd(ti)
其中,rankp(ti)表示任务ti的优先级等级值,ranku(ti)表示任务ti的自底向上等级值,rankd(texit)表示结束任务texit的自顶向下等级值,rankd(ti)表示任务ti的自顶向下等级值。
优选地,所述得到单元具体用于:
根据下列公式确定每个所述任务的实际完成时间:
其中,其表示任务ti在处理器pk上的最早完成时间,avail[pk]表示处理器pk空闲的最早时间,AFT(tj)表示任务tj的实际完成时间。wi,k∈W表示任务ti在处理器pk上的执行时间,c'j,i表示任务tj与任务ti之间的传输时间,/>表示确保AFT的处理器pm是任务ti的分配处理器。
应当理解,以上工作流执行时间优化装置包括的单元仅为根据该设备装置实现的功能进行的逻辑划分,实际应用中,可以进行上述单元的叠加或拆分。并且该实施例提供的工作流执行时间优化装置所实现的功能与上述实施例提供的工作流执行时间优化方法一一对应,对于该装置所实现的更为详细的处理流程,在上述方法实施例一中已做详细描述,此处不再详细描述。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (5)
1.工作流执行时间优化方法,其特征在于,包括:
根据任务在处理器集合上的执行时间差异值,确定每个所述任务的优先级等级值以及任务优先级队列;其中,所述任务优先级队列按照每个所述任务的调度按照非升序排列;
根据每个所述任务在处理器集合上的执行成本差异值、每个所述任务的平均执行成本以及每个所述任务的空余预算,确定每个所述任务的空余预算;
根据所述工作流的空余预算和所述任务在处理器集合上的最小执行成本,确定每个所述任务的预分配子预算以及最大可用预算;
根据所述任务的最大可用预算与所述任务的实际执行成本的大小关系,对处理器集合进行优化,得到至少一个可用处理器,基于最早完成时间EFT,依次确定所述任务优先级队列包括的每个所述任务在可用处理器上的实际完成时间,根据所述实际完成时间得到所述任务优先级队列的初始调度方法;
所述根据任务在处理器集合上的执行时间差异值,确定每个所述任务的优先级等级值,具体包括:
根据所述执行时间差异值确定每个所述任务的自底向上等级值、自顶向下等级值和优先级等级值;
根据下列公式计算所述自底向上等级值:
其中,表示结束任务/>在不同处理器上的执行时间差异值,/>表示结束任务/>在在不同处理器上的平均执行时间,/>表示结束任务/>的自底向上等级值,/>表示任务/>的执行时间差异值,/>表示任务/>在处理器上的平均执行时间,即/>,/>表示当/>和/>没有被分配到同一处理器上时的通信时间,表示任务/>的自底向上等级值,/>表示任务/>的自底向上等级值,为任务/>的自底向上等级值与/>之和,/>表示对于任务的每一个后继任务/>,计算/>之值,取最大值;
根据下列公式计算所述自顶向下等级值:
其中,表示任务/>在不同处理器上的执行时间差异值,/>表示表示任务/>的自顶向下等级值,/>表示任务/>在处理器上的平均执行时间,/>表示表示任务/>的自顶向下等级值,/>表示对于任务/>的每一个前驱任务/>,计算/>之值,取最大值;
根据下列公式确定任务的优先级等级值:
所述根据每个所述任务在处理器集合上的执行成本差异值、每个所述任务的平均执行成本以及每个所述任务的空余预算,确定每个所述任务的空余预算,具体包括:
根据下列公式确定每个所述任务的成本层次:
根据下列公式确定每个所述任务的空余预算:
其中,,其表示任务/>的在处理器集合上执行成本的差异值,/>,其表示任务/>的平均执行成本,表示任务/>在处理器/>上的执行成本,/>表示处理器集合中处理器的数目,表示任务/>的成本层次,/>表示任务/>的空余预算,/>表示工作流G的空余预算;
根据给定工作流的预算,通过下列公式确定工作流的空余预算:
其中,为工作流G的初始预算,/>为工作流G的空余预算,/>为工作流G的最小执行时间;工作流/>,/>表示/>的节点集合,/>表示工作流的一个任务;/>表示通信边集合,/>表示从/>到/>有一条通信边,/>为/>的前驱节点,为/>的后继节点;/>表示通信时间集合,/>表示当/>和/>没有被分配到同一处理器上时的通信时间;/>表示大小为/>的执行时间矩阵,/>表示任务/>在处理器/>上的执行时间;/>表示任务/>的前驱任务集合,/>表示任务/>的后继任务集合;
所述根据所述工作流的空余预算和所述任务在处理器集合上的最小执行成本,确定每个所述任务的预分配子预算以及最大可用预算,具体包括:
根据下列公式确定每个所述任务的预分配子预算:
根据下列公式确定每个所述任务的最大可用预算:
所述依次确定所述任务优先级队列包括的每个所述任务在可用处理器上的实际完成时间,具体包括:
根据下列公式确定每个所述任务的实际完成时间:
2.如权利要求1所述的方法,其特征在于,所述根据所述实际完成时间得到所述任务优先级队列的初始调度方法之后,还包括:
根据所述初始调度方法对所述任务优先级队列包括的任务进行升序排列,得到任务优化队列;
根据所述工作流的初始预算和所述任务优先级队列包括的所述任务的实际完成时间,确定工作流的未使用预算以及工作流的累计可用预算;
根据延迟判断条件确定所述任务优化队列包括的每个所述任务是否可延迟,并根据判断结果,输出每个所述任务的优化调度方法;其中,优化调度方法包括:可延迟任务分配至不影响后继续任务开始且具有最小执行成本的处理器上;或者,根据所述工作流的累计可用预算,将不可延迟任务分配至具有最小执行成本的处理器上。
5.工作流执行时间优化装置,其特征在于,包括:
第一确定单元,用于根据任务在处理器集合上的执行时间差异值,确定每个所述任务的优先级等级值以及任务优先级队列;其中,所述任务优先级队列按照每个所述任务的调度按照非升序排列;
第二确定单元,用于根据每个所述任务在处理器集合上的执行成本差异值、每个所述任务的平均执行成本以及每个所述任务的空余预算,确定每个所述任务的空余预算;根据所述工作流的空余预算和所述任务在处理器集合上的最小执行成本,确定每个所述任务的预分配子预算以及最大可用预算;
得到单元,用于根据所述任务的最大可用预算与所述任务的实际执行成本的大小关系,对处理器集合进行优化,得到至少一个可用处理器,基于最早完成时间EFT,依次确定所述任务优先级队列包括的每个所述任务在可用处理器上的实际完成时间,根据所述实际完成时间得到所述任务优先级队列的初始调度方法;
所述根据任务在处理器集合上的执行时间差异值,确定每个所述任务的优先级等级值,具体包括:
根据所述执行时间差异值确定每个所述任务的自底向上等级值、自顶向下等级值和优先级等级值;
根据下列公式计算所述自底向上等级值:
其中,表示结束任务/>在不同处理器上的执行时间差异值,/>表示结束任务/>在在不同处理器上的平均执行时间,/>表示结束任务/>的自底向上等级值,/>表示任务/>的执行时间差异值,/>表示任务/>在处理器上的平均执行时间,即/>,/>表示当/>和/>没有被分配到同一处理器上时的通信时间,表示任务/>的自底向上等级值,/>表示任务/>的自底向上等级值,为任务/>的自底向上等级值与/>之和,/>表示对于任务的每一个后继任务/>,计算/>之值,取最大值;
根据下列公式计算所述自顶向下等级值:
其中,表示任务/>在不同处理器上的执行时间差异值,/>表示表示任务/>的自顶向下等级值,/>表示任务/>在处理器上的平均执行时间,/>表示表示任务/>的自顶向下等级值,/>表示对于任务/>的每一个前驱任务/>,计算/>之值,取最大值;
根据下列公式确定任务的优先级等级值:
所述根据每个所述任务在处理器集合上的执行成本差异值、每个所述任务的平均执行成本以及每个所述任务的空余预算,确定每个所述任务的空余预算,具体包括:
根据下列公式确定每个所述任务的成本层次:
根据下列公式确定每个所述任务的空余预算:
其中,,其表示任务/>的在处理器集合上执行成本的差异值,/>,其表示任务/>的平均执行成本,表示任务/>在处理器/>上的执行成本,/>表示处理器集合中处理器的数目,表示任务/>的成本层次,/>表示任务/>的空余预算,/>表示工作流G的空余预算;
根据给定工作流的预算,通过下列公式确定工作流的空余预算:
其中,为工作流G的初始预算,/>为工作流G的空余预算,/>为工作流G的最小执行时间;工作流/>,/>表示/>的节点集合,/>表示工作流的一个任务;/>表示通信边集合,/>表示从/>到/>有一条通信边,/>为/>的前驱节点,为/>的后继节点;/>表示通信时间集合,/>表示当/>和/>没有被分配到同一处理器上时的通信时间;/>表示大小为/>的执行时间矩阵,/>表示任务/>在处理器/>上的执行时间;/>表示任务/>的前驱任务集合,/>表示任务/>的后继任务集合;
所述根据所述工作流的空余预算和所述任务在处理器集合上的最小执行成本,确定每个所述任务的预分配子预算以及最大可用预算,具体包括:
根据下列公式确定每个所述任务的预分配子预算:
根据下列公式确定每个所述任务的最大可用预算:
所述依次确定所述任务优先级队列包括的每个所述任务在可用处理器上的实际完成时间,具体包括:
根据下列公式确定每个所述任务的实际完成时间:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011142303.9A CN112308304B (zh) | 2020-10-22 | 2020-10-22 | 工作流执行时间优化方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011142303.9A CN112308304B (zh) | 2020-10-22 | 2020-10-22 | 工作流执行时间优化方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112308304A CN112308304A (zh) | 2021-02-02 |
CN112308304B true CN112308304B (zh) | 2023-06-23 |
Family
ID=74326963
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011142303.9A Active CN112308304B (zh) | 2020-10-22 | 2020-10-22 | 工作流执行时间优化方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112308304B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103336713A (zh) * | 2013-06-19 | 2013-10-02 | 西北工业大学 | 一种基于任务复制与聚簇的并行任务分配方法 |
CN110008023A (zh) * | 2019-03-26 | 2019-07-12 | 湖南农业大学 | 基于遗传算法的云计算系统预算约束随机任务调度方法 |
CN110308967A (zh) * | 2019-06-06 | 2019-10-08 | 东南大学 | 一种基于混合云的工作流成本-延迟最优化任务分配方法 |
CN110609736A (zh) * | 2019-07-30 | 2019-12-24 | 中国人民解放军国防科技大学 | 一种云环境下截止期约束的科学工作流调度方法 |
CN110825527A (zh) * | 2019-11-08 | 2020-02-21 | 北京理工大学 | 一种云环境下截止期-预算驱动的科学工作流调度方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10552774B2 (en) * | 2013-02-11 | 2020-02-04 | Amazon Technologies, Inc. | Cost-minimizing task scheduler |
-
2020
- 2020-10-22 CN CN202011142303.9A patent/CN112308304B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103336713A (zh) * | 2013-06-19 | 2013-10-02 | 西北工业大学 | 一种基于任务复制与聚簇的并行任务分配方法 |
CN110008023A (zh) * | 2019-03-26 | 2019-07-12 | 湖南农业大学 | 基于遗传算法的云计算系统预算约束随机任务调度方法 |
CN110308967A (zh) * | 2019-06-06 | 2019-10-08 | 东南大学 | 一种基于混合云的工作流成本-延迟最优化任务分配方法 |
CN110609736A (zh) * | 2019-07-30 | 2019-12-24 | 中国人民解放军国防科技大学 | 一种云环境下截止期约束的科学工作流调度方法 |
CN110825527A (zh) * | 2019-11-08 | 2020-02-21 | 北京理工大学 | 一种云环境下截止期-预算驱动的科学工作流调度方法 |
Non-Patent Citations (2)
Title |
---|
异构云系统中预算成本约束下高效的工作流调度算法;张龙信;王兰;肖满生;文志华;李肯立;;小型微型计算机系统(第06期);64-69 * |
张龙信等.异构云系统中预算成本约束下高效的工作流调度算法.小型微型计算机系统.2020,1182-1187. * |
Also Published As
Publication number | Publication date |
---|---|
CN112308304A (zh) | 2021-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10031775B2 (en) | Backfill scheduling for embarrassingly parallel jobs | |
CN112416585B (zh) | 面向深度学习的gpu资源管理与智能化调度方法 | |
Xie et al. | Mixed real-time scheduling of multiple dags-based applications on heterogeneous multi-core processors | |
US20120304186A1 (en) | Scheduling Mapreduce Jobs in the Presence of Priority Classes | |
CN114610474B (zh) | 一种异构超算环境下多策略的作业调度方法及系统 | |
CN108427602B (zh) | 一种分布式计算任务的协同调度方法及装置 | |
Zhou et al. | Concurrent workflow budget-and deadline-constrained scheduling in heterogeneous distributed environments | |
CN106201681B (zh) | Hadoop平台下基于预释放资源列表的任务调度方法 | |
CN115033357A (zh) | 基于动态资源选择策略的微服务工作流调度方法及装置 | |
CN115586961A (zh) | 一种ai平台计算资源任务调度方法、装置及介质 | |
CN110275765B (zh) | 基于分支dag依赖的数据并行作业调度方法 | |
CN114968565A (zh) | 资源管理方法、装置、电子设备、存储介质及服务器 | |
CN112925616A (zh) | 任务分配方法、装置、存储介质及电子设备 | |
CN114675953A (zh) | 资源动态调度方法、装置、设备及计算机可读存储介质 | |
CN111736959B (zh) | 异构集群下考虑数据亲和性的Spark任务调度方法 | |
CN112308304B (zh) | 工作流执行时间优化方法及装置 | |
Nivodhini et al. | Algorithms to improve scheduling techniques in IaaS cloud | |
CN115858169A (zh) | 一种作业资源分配方法、装置、电子设备及存储介质 | |
CN112506640B (zh) | 一种用于加密运算芯片的多处理器架构及调配方法 | |
Bibal et al. | An auto-scaling framework for heterogeneous Hadoop systems | |
CN111506407B (zh) | Pull模式与Push模式相结合的资源管理与作业调度方法、系统 | |
Girisagar et al. | Mapping workflow resource requests for bandwidth efficiency in data centers | |
CN113127205B (zh) | 一种云中满足截止时间约束且优化成本的工作流调度方法 | |
CN111522637A (zh) | 一种基于成本效益的storm任务调度方法 | |
CN114489926B (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 |