CN102171627A - 对在异构计算系统中执行的应用的调度 - Google Patents

对在异构计算系统中执行的应用的调度 Download PDF

Info

Publication number
CN102171627A
CN102171627A CN2009801395072A CN200980139507A CN102171627A CN 102171627 A CN102171627 A CN 102171627A CN 2009801395072 A CN2009801395072 A CN 2009801395072A CN 200980139507 A CN200980139507 A CN 200980139507A CN 102171627 A CN102171627 A CN 102171627A
Authority
CN
China
Prior art keywords
task
processor
energy consumption
scheduling
deadline
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
CN2009801395072A
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.)
University of Sydney
Original Assignee
University of Sydney
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
Priority claimed from AU2008905162A external-priority patent/AU2008905162A0/en
Application filed by University of Sydney filed Critical University of Sydney
Publication of CN102171627A publication Critical patent/CN102171627A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3293Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/506Constraint
    • 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)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Power Sources (AREA)

Abstract

本发明涉及对高性能计算机系统中包含优先约束并行任务的应用进行调度。所述计算机系统具有多个处理器,每个处理器能够在不同的供电电压水平下运行。首先,基于任务的计算成本和通信成本确定任务的优先级顺序。接着,基于任务的优先级顺序,为每个任务指定处理器和电压水平,与以处理器和电压水平的不同组合执行该任务的能耗及完成时间相比,所指定的该处理器和该电压水平最大程度地减少了执行该任务的能耗及完成时间。本发明的优势在于调度中不仅考虑了完成时间(完工时间),而且也考虑了能耗。本发明的各方面包括方法、软件、计算机调度模块和一种调度。

Description

对在异构计算系统中执行的应用的调度
技术领域
本发明涉及一种对异构计算系统中执行的应用的调度。本发明尤其涉及对多处理器计算机系统中包含有若干优先约束(precedence constrained)的并行任务的应用进行调度,该多处理器计算机系统具有多个处理器,每个处理器能够在不同的供电电压水平下运行,但本发明并不局限于此。本发明的各方面包括:方法、软件、计算机调度模块和调度。
背景技术
在过去的几十年里,计算量和数据量急剧增加,这促使计算机系统结构的研究人员和设计人员将其注意力集中于高性能的研究上;这使得诸如多核微处理器、大容量存储装置、和超高速通信设备等资源密集型技术得以发展。高效地利用这些效力强大的资源一直是个至关重要的问题,尤其对于诸如网格技术(grids)和云技术(clouds)等多处理器计算机系统(MCS,Multiprocessor Computer System)而言,MCS中有大量的处理器,常常多达数十万个。
因为科学及工程领域中优先约束的并行应用是最典型的应用模型,所以在过去的几十年里已经对在同构和异构计算系统中调度这些应用(任务调度)的问题进行了广泛研究。然而,任务调度研究中的大部分成就集中于两个问题,最小化应用完成时间(完工时间(makespan)/调度长度)和时间复杂度;换句话说,任务调度算法的主要目的是用最小量的调度时间对给定的应用进行最佳调度。
直到最近人们才将大量的注意力放在调度中的能耗上,特别是在高性能计算系统(HPCS,High-performance Computing system)中。HPCS中的能耗问题引起了各种对财政、环境和系统性能方面的关注。近来对服务器功率消耗的一项研究[2]表明,全世界用于服务器的电力费用(包括其相关的冷却设备和辅助设备)在2005年为72亿美元。该项研究还指出该年度的用电量是2000年用电量的2倍。显然,在发电方面存在着环境问题。
集成在现今的英特尔安腾2(Intel Itanium 2)处理器中的晶体管数量达到了将近10亿。如果照这个速率继续下去,那么未来的Intel处理器每平方厘米所产生的热量将会超过太阳表面每平方厘米所产生的热量[3];这意味着有可能使系统可靠性下降,最终导致系统性能变差。
发明内容
本发明的第一方面提供了一种对应用于异构计算系统性能的应用进行调度的方法,其中该应用包含两个或两个以上优先约束的并行任务,并且该异构计算系统包含多个处理器,每个该处理器能够在不同的供电电压水平(VSL,voltage supply level)下运行;所述方法包括以下步骤:
基于该任务的计算成本和通信成本确定该任务的优先级顺序;以及
按照该任务的优先级顺序,为每个该任务指定处理器和电压水平,与以处理器和电压水平的不同组合执行该任务的能耗及完成时间相比,所指定的该处理器和该电压水平最大程度减少了执行该任务的能耗及完成时间。
本发明的优势是所述调度不仅考虑了完成时间(完工时间(makespan)),而且也考虑了能耗。本发明能够考虑作为异构网络一部分的处理器的不同容量,在特定的电压水平下,采用使完成时间和能耗均平衡的方式按优先级顺序给处理器指定任务。
最大程度减少可以包括:为任务、处理器和电压水平的不同组合,确定同时代表能耗和完成时间的因子。该因子可以包含多个因子。
这可能会涉及选择用于指定的组合,该组合具有代表最小化能耗与最小化完成时间之间的最佳权衡因子。
所述能耗因子的确定,可以基于在所组合的电压水平下该任务的计算成本。
所述完成时间因子的确定,可以基于在所组合的处理器与电压水平下该任务的计算成本。
所述完成时间因子的确定,可以基于在所组合的处理器与电压水平下该任务的估计开始时间与计算成本的结合。该估计开始时间,可以基于优先于该任务的最具影响力任务的估计结束时间,以及在适合的情况下,可以基于指定给该最具影响力任务的处理器与所述组合的处理器之间的通信成本。
所述完成时间因子的确定,可以包括使在处理器与电压的那些组合下会产生较长任务完成时间的任务处于不利地位。
对于每个任务,所述方法可以进一步包括以下步骤:
确定在处理器与电压水平的不同组合中,该任务的能耗及计算时间;
当一个组合所确定的该计算时间并未导致该应用的完工时间增加,并且所确定的该能耗小于在已指定的处理器和已指定的电压下该任务的能耗时,将该任务重新指定给该组合中的处理器与电压水平。本发明的此实施例的优势在于,可以对该调度进行评估,以确定所述调度的任何变化是否会在不增加完工时间的情况下使能耗进一步降低。
每个任务的优先级可以基于每个任务分别沿着其所属的优先约束任务的最长路径上的计算成本和通信成本。每个任务的优先级是基于该任务的b-级或t-级。
所述方法还包括按照该调度来执行任务的步骤。
所述异构计算系统是多处理器计算系统,如高性能计算系统,并且所述任务可以是异构的。
本发明的另一个方面提供了一种软件,该软件包含记录于计算机可读介质中的计算机指令,从而运行计算机以执行上述方法。
本发明的又一个方面提供了一种根据上述方法产生的、用于对在异构计算系统中执行的应用的调度。
本发明的再一个方面提供了一种对在异构计算系统中执行的应用进行调度的调度系统,其中所述应用包含优先约束并行任务,并且异构计算系统包含多个处理器,每个该处理器能够在不同的供电电压水平下运行,所述调度模块可操作地用于:
基于所述任务各自的计算成本和通信成本来确定所述任务的优先级顺序;并且
对于各任务来讲,按照所述任务的优先级顺序,为每个任务指定处理器和电压水平,与将所述任务指定给不同组合的处理器与电压水平相比,所指定该处理器和电压水平最大程度减少了执行该任务的能耗和完成时间。
附图说明
以下将参考附图来描述本发明的实施例,其中:
图1为显示此实施例中所使用的电压-相对速度对的表;
图2示出了此实施例中所用应用的简单任务图;
图3为显示图1中所示任务的t-级(t-level)和b-级任务优先级的表;
图4为显示图1中所示任务的计算成本的表;
图5示出了本实施例的能量模式;
图6示出了本实施例的能量敏感调度(ECS,Energy Conscious Scheduling)的方法,并且包括完工时间守恒的能量降低(MCER,Makespan-conservative Energy Reduction);
图7(a)和图7(b)示意性地示出了分别对由HEFT(异构环境最早结束时间)算法和DBUS(基于复制的倒置调度,Duplication Based Bottom-Up Scheduling)算法所产生的图1的任务图的调度(现有技术);
图8示意性地示出了对在此实施例中所产生的图1的任务图的调度,其中(a)使用不带有MCER的ECS,以及(b)使用带有MCER的ECS;
图9示意性地示出了对在此实施例中产生的用于图1的任务图的调度,其中(a)使用不带有MCER的ECS+空闲,以及(b)使用带有MCER的ECS+空闲;
图10为对由图7、图8和图9中的6种不同方法所生成的调度的能耗进行比较的表;
图11为总结以下详述的实验中所采用参数的表;以及
图12为显示以下详述的实验的比较结果的表。
具体实施方式
在此实施例中,提供了50个构成计算机集群的异构处理器。这些处理器能够在不同的供电电压水平下运行,并且以统一或随机的方式利用高带宽连接而互连,如堆栈式放置在架子上的处理器。该计算机集群负责执行包含多个优先约束并行任务的应用,例如在大的数据集上进行多模式匹配分析。在此实施例中,每个任务的优先级信息是已知的,并且应用的执行不是基于实时期限。
一个处理器(这里称为调度系统)负责生成调度。该调度系统可以构成集群的一部分或者作为集群外的附加部分。该调度系统能够接收并储存关于处理器、每个处理器的可能的电压水平以及关于任务的信息,并且能够利用此信息并以下述方式生成调度。该调度系统也使得每个处理器接收调度中其各自的对应部分。也就是说,所生成的调度为任务指定特定的处理器和电压。每个任务直接或间接地从调度系统接收关于任务的信息、和为该任务所指定的电压水平以及执行的时间。
在此实施例中将对能量敏感调度(ECS)的启发式算法(heuristics)进行描述,该启发式算法不仅考虑了完工时间而且考虑了能耗。该启发式算法能够很容易地应用于采用提前预约和频率-电压对各种组合的松散耦合的高性能计算系统(HPCS)。ECS设计成中引入动态电压调节(DVS,Dynamic Voltage Scaling)以降低能耗。这表明存在着调度质量(完工时间)与能耗之间的权衡。
ECS对这两个性能问题的平衡做出了有效的权衡。此外,将采用MCER技术的降低能耗阶段并入ECS中。在MCER阶段中,对在调度阶段中所生成的当前调度进行仔细检查,以确定是否对调度的任何改变会在不使完工时间增加的情况下进一步降低能耗。还应当注意ECS具有低的时间复杂度。
这里现在描述本实施例中所使用的系统、应用、能量和调度的模型。
系统模型
此工作中所使用的目标系统包括由p个完全互连的异构处理器/机器构成的组P。各处理器pi∈P,且是DVS-启动的;换句话说,它可以在不同的VSL(即,不同的时钟频率)下运行。对于每个处理器pj∈P来讲,v个VSL构成的组Vj是随机并统一地分布于不同的4组VSL(见图1)中。处理器在空闲时会消耗能量,即假设当处理器空闲时向其提供最低电压。因为时钟频率转换开销耗用的时间可忽略(例如,10μs~150μs),所以在此实施例中不考虑这些开销。假设处理器间通信的执行速度与所有没有竞争的链路上的执行速度相同。还假设当在接收方处理器中执行任务时可以将消息从一个处理器发送给另一个处理器,这在许多系统中都可能发生。
应用模型
一般来说,可以用有向无环图(DAG,Directed Acyclic Graph)来表示并行程序。DAG包括由n个节点构成的组N以及由e个边构成的组E,G=(N,E)。DAG也称为任务图或者宏数据流图。一般来说,节点代表了从应用中分隔出的任务;边代表了优先约束。任务ni与任务nj之间的边(i,j)∈E也代表了任务间通信。换句话说,必须将任务ni的输出传送给任务nj,从而使任务nj开始执行。没有前续的任务称为入口任务n入口,而出口任务n出口是指没有任何后继的任务。在任务ni的前续中,将在最迟时间完成通信的前续称为该任务的影响最大本源(MIP,Most Influential Parent),表示成MIP(ni)。任务图的最长路径是关键路径(CP,Critical Path)。
任务ni上的权重(表示成wi)代表了该任务的计算成本。此外,将处理器pi中的任务的计算成本表示成wi,j并且将其平均计算成本表示成
边上的权重(表示成ci,j)代表了ni和nj两个任务之间的通信成本。然而,仅当把两个任务指定给不同的处理器时才需要通信成本。换句话说,当把任务指定给相同的处理器时可以忽视通信成本,即通信成本为0。
处理器pj中的任务ni的最早开始时间和最早结束时间定义为:
Figure BDA0000054032660000071
其中,pk是对任务ni的MIP进行调度的处理器。
EFT(ni,pj)=EST(ni,pj)+wi,j    (2)
要注意的是,如果调度到相同的处理器中的另一个任务的实际结束时间迟于EST(ni,pj),那么处理器pj中的任务ni的实际开始时间和结束时间(表示为AST(ni,pj)和AFT(ni,pj))可以不同于其最早的开始时间和结束时间即EST(ni,pj)和EFT(ni,pj)。
在采用任务插入的情况下,只要未违反优先约束,就可以在已指定给处理器的两个连续任务之间的空闲时隙中对任务进行调度。此插入方案将会尤其有助于增加具有细粒度任务的通信密集型任务图的处理器利用率。
图2中示出了简单的任务图,并且将其细节在图3和图4的表中示出。图3的表中所示的值是使用两种经常被采用的任务优先化方法(t-级和b-级)而计算得到。注意到,在所有模式和链路下对计算成本和通信成本求平均值。任务的t-级定义为沿着任务图中从入口任务开始的最长的节点路径的计算成本与通信成本的总和。所述计算中不包括该任务本身。相比之下,通过将沿着任务图中从出口任务(包括该任务)开始的该任务的最长路径的计算成本与通信成本相加,而计算出任务的b-级。在此实施例中采用b-级。
通信-计算比(CCR,Communication to Computation Ratio)是表示任务图为通信密集型、计算密集型还是中间型的衡量尺度。对于给定的任务图,用目标系统中的平均通信成本除以平均计算成本而计算出其通信-计算比。
能量模型
这里的能量模型源自于互补金属氧化物半导体(CMOS,Complementary Metal-oxide Semiconductor)逻辑电路中的功率消耗模型。将基于CMOS的微处理器的功率消耗定义为电容功率、短路功率和漏电功率的总和。所述电容功率(动态功率消耗)是功率消耗的最显著因子。电容功率(Pc)定义为:
Pc=ACV2f    (3)
其中,A是每个时钟周期的转换数,C是总电容负荷,V是供电电压,f是频率。公式3清楚地显示出供电电压是主导因子;因此,供电电压的降低对降低功率消耗影响最大。
因为处理器在空闲时会消耗一定的能量,所以执行此实施例中使用的优选约束并行应用的总能耗包含直接能耗和间接能耗。直接能耗58定义为
E = Σ i = 1 n ACV i 2 f · w i * = Σ i = 1 n α V i 2 w i * - - - ( 4 )
其中,Vi是执行任务ni的处理器的供电电压,wi *是被调度的处理器中任务ni的计算成本(执行ni所需时间的量)。
另一方面,直接能量消耗60定义为:
其中,空闲j(IDLEj)是处理器pj中的一组空闲时隙,Vj,低是pj中的最低供电电压,tj,k是空闲j,k(idlej,k)的空闲时间的量。然后,总能耗定义为:
Et=ed+Ei    (6)
图5中显示了此处的能量模型的图示。注意到,空闲时隙60定义为无任务执行的任何时间段(在给定的任务图的执行期间)。这里假设未使用的处理器62的能耗是可以忽略的,因而当计算能耗时不予考虑。
调度模型
此实施例中的任务调度问题是在不违反优先约束的情况下,将有n个任务的组N分配给有p个处理器的组P的过程,旨在能耗尽可能低的情况下减少完工时间。完工时间定义为在任务图G中的n个任务进行调度完成后的M=max{AFT(n出口)}。尽管完工时间的最小化是关键性的,但是在这里的实施例中,DAG中的任务与期限(deadline)无关,正如在实时系统中一样。因为在此处的调度模型中的两个目的(完工时间及能耗的最小化)是相互抵触的,所以应当考虑每个目的对调度质量的影响来做出调度决定。
现在,这里对任务调度中,尤其是MCS的任务调度中的两个值得注意的工作进行描述,然后对具有功率/能量敏感的调度算法进行描述。
MCS中的调度
由于在一般情况下任务调度问题的NP-难题(NP-hard,Non-deterministic Polynomial Hard,非确定性多项式难题)的性质[4],因此启发式算法(heuristics)是最广泛被采用的调度模型,它们用短于多项式时间的时间提出良好的解决方案。启发式算法的特征在于它们本质上确定性的运行:调度问题的解决方案的选择不是随机的。在不同的启发式算法技术中,表调度、基于集群的调度和引导的随机搜索是三个最流行的方法。表调度启发式算法是主要的启发式算法模型。这是因为以经验来说,与其它策略中的算法相比,表调度算法往往产生有竞争力的时间复杂度较低的解决方案。
HEFT算法[1]是具有高度竞争力的,它生成与其它调度算法相当的调度长度,同时具有低时间复杂度。它是一种具有任务插入的表调度启发式算法,该表调度启发式算法包括表调度的两个典型阶段(即,任务优先化和处理器选择)。
在调度开始前,对任务图中所有任务的b-级值进行计算,并且按它们的b-级值降序排列在调度表中。然后,从调度表中的第一任务开始对每个任务进行调度。在处理器选择阶段,采用基于插入的策略来选择处理器pj,在该处理器pj中任务ni的结束时间EFT(ni,pj)被最小化。换句话说,如果未违反该任务的优先约束并且待插入任务的时隙大到足以容纳该任务,那么可以把该任务插入处理器中最早的两个已调度的任务之间的时隙中。HEFT的时间复杂度是O级(nlog n+(e+n)p)。
DBUS算法[5]是基于复制的调度启发式算法,其首先基于关键路径(CP,Critical Path)对任务进行列表,并且通过任务复制和任务插入对它们进行调度。[5]中的实验结果显示了其使人感兴趣的性能,尤其对于通信密集型任务图来讲。
正如其名称所表示的那样,DBUS对任务图中的任务进行调度,以倒置的方式贯穿该任务图。在列表阶段中,它首先计算任务的b-级、t-级和st-级的值并且识别CP任务。将CP任务连同这些CP任务中的各任务的子任务按t-级降序加以储存,使得CP任务的子任务优先于CP任务。这些子任务按st-级降序储存。t-级与st-级之间的仅有区别是在st-级不考虑通信成本。在该表中的任务顺序决定了调度顺序。
在调度阶段中,对列表中的每个任务进行调度和复制,复制次数与已调度的其子任务的数量或者处理器的数量相同,以较少的为准。已指定了子任务的处理器作为应当被覆盖的处理器。对于每个要覆盖的处理器,把要调度的任务的副本指定给特定的处理器,在该处理器中该任务完成时间被最小化,并且在先的处理器中的子任务可以按照最初调度的方式开始。重复此过程直至所有要被覆盖的处理器确实被覆盖。一次任务指定可以覆盖多于一个的处理器。这种复制方案的一个缺点是,当处理器的数量与任务的数量相比非常小时,有可能造成调度长度的显著增加;这是因为,尽管任务的多余复制对于任务本身也许是有效的,但是其复制本可以导致“瀑布效应”(cascade effect),“瀑布效应”中复制本会引起过多继之发生的复制。DBUS的时间复杂度为O等级(n2p2)。
能量敏感的调度
已经研究和开发了包括动态电压调节(DVS,Dynamic Voltage Scaling)、资源休眠、和内存优化在内的各种技术,以节约能量。因为在高性能计算系统(HPCS)中CPU是主要的功率消耗源[9],所以许多微处理器制造商包括英特尔(Intel)、超微半导体(AMD)、摩托罗拉(Motorolla)和全美达(Transmeta)已将大量努力投入到着眼于DVS的低功率处理器的设计。DVS使得处理器能够动态地调整供电电压水平(VSL,Voltage Supply Level),旨在降低功率消耗;然而,实现这种降低是以牺牲时钟频率为代价。松弛管理/回收是一种采用DVS的常用调度技术。
正如大多数的多目标优化问题一样,由于该问题的执行目的非常有可能是相互冲突的,所以此调度实施例中的目的是找出帕累托最优(Pareto-optimal)解决方法。换句话说,对于给定的任务图,此实施例中所给出的启发式算法会生成使完工时间和能耗最小化的调度;然而,能耗的降低通常会降低供电电压,而这会导致完工时间的增加。更正式地,多目标优化问题可以定义为:
min x ∈ S [ f 1 ( x ) , f 2 ( x ) , . . . , f n ( x ) ] - - - ( 7 )
其中,S是可用搜索空间,并且n≥2。
下面对两个能量敏感调度启发式算法,即ECS和ECS+空闲进行描述。它们可以描述成多步(两步)算法,包括主要调度步骤和完工时间守恒的能量减少步骤。
能量敏感调度的工作如图6所示。
在任务调度中引入能耗,给已经是错综复杂的问题又增加了另一层复杂性。不同于实时系统,此实施例中的应用不是期限限制的;这表明调度质量的评估不是直接的,而应当同时考虑完工时间和能耗以清楚地衡量调度的质量。由于这个原因,在ECS中设计相对优越性(RS,Relative Superiority)作为新的目标函数,其中考虑这两个性能问题。带有VSLvj,k的处理器pj中的任务ni的RS值(或因子)定义为:
RS ( n i , p j , v j , k ) = - ( ( E ( n i , p j , v j , k ) - E ( n i , p ′ , v ′ ) E ( n i , p j , v j , k ) ) + ( EFT ( n i , p j , v j , k ) - EFT ( n i , p ′ , v ′ ) EFT ( n i , p j , v j , k ) - min ( EST ( n i , p j , v j , k ) , EST ( n i , p ′ , v ′ ) ) ) ) - - - ( 8 )
其中,E(ni,pj,vj,k)和E(ni,p’,v’)分别是带有vj,k的pj中的ni的能耗以及带有v’的p’中的ni的能耗;类似地,这两个任务-处理器配置的最早开始/结束时间表示为EST(ni,pj,vj,k)和EST(ni,p′,v’),以及EFT(ni,pj,vj,k)和EFT(ni,p′,v’)。可以看出,RS值在能耗与完成时间之间做出权衡。
对于给定的就绪任务,利用该任务的处理器与VSL(p′和v’)的当前最佳组合计算出每个处理器中该任务的RS值,然后选择获得最大RS值的处理器(见图6的步骤3~15)。
因为ECS所做出的每个调度决定往往局限于局部最优,所以在不牺牲时间复杂度的情况下将另一种降低能耗技术(MCER)引入ECS的能量降低阶段(图6的步骤17~31)。它是一种降低能耗中的有效技术,尽管该技术可能不会帮助调度从局部最优中跳脱出来。
MCER是完工时间守恒的,其(对调度阶段中所生成的调度)所做出的改变仅在该改变不增加调度的完工时间时生效。对于DAG中的每个任务,MCER考虑了任务、主机和VSL的其它所有组合,来检查这些组合中的任何一个是否在不增加当前的完工时间的情况下降低该任务的能耗。
现在将对ECS+空闲的工作进行描述。
对于给定的调度,通常是较短的完工时间产生较少的能耗,这主要是由于能耗与调度期间处理器的空闲时隙相关联。这个观察结果使得我们对之前的RS目标函数和MCER技术进行修改,以引入间接能耗。
对之前的RS目标函数进行修正从而更有效的降低间接能耗。这个改变(使比较之中的两个任务-处理器的组合)加强了处理器-VSL的匹配,达到较短的任务完成时间从而更大地影响最终的RS值(即,使那些具有较长任务完成时间的组合处于不利地位)。
RS ( n i , p j , v j , k , p ′ , v ′ ) =
- ( ( E ( n i , p j , v j , k ) - E ( n i , p &prime; , v &prime; ) E ( n i , p j , v j , k ) ) + ( EFT ( n i , p j , v j , k ) - EFT ( n i , p &prime; , v &prime; ) EFT ( n i , p j v j , k ) - EST ( n i , p j , v j , k ) ) ) if EFT ( n i , p j , v j , k ) < EFT ( n i , p &prime; , v &prime; ) - ( ( E ( n i , p j , v j , k ) - E ( n i , p &prime; , v &prime; ) E ( n i , p j , v j , k ) ) + ( EFT ( n i , p &prime; , v &prime; ) - EFT ( n i , p j , v j , k ) EFT ( n i , p &prime; , v &prime; ) - EST ( n i , p &prime; , v &prime; ) ) ) if EFT ( n i , p j , v j , k ) &GreaterEqual; EFT ( n i , p &prime; , v &prime; ) - - - ( 9 )
对之前ECS中的MCER技术的改变是在其能量函数中。即,基于实际的能耗度量(Ea)而不是直接的能耗度量(Ed)而做出再指定决定。带有供电电压vj,k的处理器pj中的任务ni的实际能耗定义为
Ea(ni,pj,vj,k)=Ed(ni,pj,vj,k)-Ei(ni,pj,vj,k)  (10)
在一些实施例中的改进的MCER技术采用与以前相似的方式降低能耗;然而,在一些情况下只有当采用了改进的MCER技术时才降低能耗。例如,指定给供电电压为1.50伏的处理器的任务,其计算成本为10,并且考虑到在1.10伏的另外一个处理器中,该任务的计算成本为20,原来的MCER技术将不采用这个替代的配制,因为后一个配制的(直接)能耗较高。然而,改进的MCER技术考虑到实际能耗(Ea=11.4),指出后一个分配能量利用效率更高。此方案是在完工时间不增加的假设下。
对于ECS+空闲的工作,图6可以看出RS目标函数和MCER技术的两个差异,这在本部分的前面已有描述。ECS+空闲调度的一个实施例如图7所示。
性能分析
这里对ECS和ECS+空闲生成的调度的含义进行定性详述。
这里首先给出针对图2中的任务图由HEFT和DBUS生成的两个调度,以显示所述算法在降低能耗方面的能力。HEFT(完工时间=89)和DBUS(完工时间=73)的调度分别在图7(a)中示意性地示出。因为它们的调度中没有引入DVS或者任何其它节能技术,所以它们输出的调度往往会消耗过量的能量以缩短完工时间。然而,对能量敏感调度的研究已经确认可以在不产生一点完工时间的情况下减少这种过量能耗。
图8和图9示出了本发明的此实施例中生成的调度的实例。以纵轴表示完工时间并且每个处理器p0,p1和p2具有各自的纵栏。按时间顺序将指定给一个处理器的任务标注在该处理器的纵栏中,以任务的宽度表示为该处理器中的任务指定的电压水平。
这里,将此实施例中的ECS和ECS+空闲与两个之前提出的启发式算法HEFT和DBUS进行了广泛的比较评估研究,这里给出了所述研究获得的结果。能量敏感的ECS和ECS+空闲与能量不敏感的HEFT和DBUS之间的这种比较清楚地显示了此实施例的节能能力。
实验设置
利用两大组任务图对ECS和ECS+空闲的性能进行完全评估:随机产生和实际使用的应用。用于所述实验中的三个实际使用的并行应用是拉普拉斯方程求解器(Laplace Equation Solver)[6]、LU-分解(LU-Decomposition)[7]和快速傅立叶变换(Fast Fourier Transformation)[8]。为了使实验更全面,在这些任务图中做出了大量的变动。除了任务图以外,还将处理器的各种不同特征应用于模拟。图11的表总结了在所述实验中所采用的参数。
用四种不同的算法(HEFT、DBUS、ECS和ECS+空闲)所进行的实验的总数量为280,000(即每个算法为72,000)。具体地,随机任务图组包含150个基础任务图,该基础任务图是由10个图尺寸、5个CCR和3个处理器异构设置进行组合生成的。对于每个组合,随机产生20个不同的任务图,其中保留基础任务图的特征。利用6个不同数量的处理器对这3,000个图进行研究。通过相同数量的任务图(即,18,000)对这3个实际应用中的每个应用进行研究;因此数量为72,000。
每个任务图中的任务的计算成本和通信成本从均匀分布中随机选择,具有等于所选择的平均计算成本和通信成本的平均值。处理器异构值100定义为给定系统中最快处理器与最慢处理器的速度差的百分比。对于实际使用中的应用的任务图,改变了矩阵尺寸和输入点的数量,使得任务的数量可以在大约10至600的范围内。
比较度量
通常,将调度算法生成的任务图的完工时间作为主要的性能衡量尺度;然而,在本研究中,将能耗看作是另一个同样重要的性能尺度。对于给定的任务图,将其完工时间和能耗标准化为较低的界限,即沿着CP(即,CP任务)的完工时间及能耗,而不考虑通信成本。具体地,将“调度长度比”(SLR,Schedule Length Ratio)和“能耗比”(ECR,Energy Consumption Ratioi)作为这里所作比较中的主要性能度量。形式上,由调度算法为任务图G生成的调度的完工时间M及能耗Et的SLR和ECR值定义为:
SLR = M &Sigma; n i &Element; CP min p j &Element; P { w i , j } - - - ( 11 )
ECR = E t &Sigma; n i &Element; CP min p j &Element; P { w i , j } &times; max v j , k &Element; V j { v j , k } 2 - - - ( 12 )
其中,CP是G的一组CP任务。
结果
在图12的表中对这里进行的整个模拟结果进行了总结。图12清楚地示出了ECS和ECS+空闲算法的性能优于DBUS和HEFT,尽管DAG类型不同。此外,ECS和ECS+空闲优于两个具有各种不同的CCR的之前的算法。
显然,任务复制的主要目的是通信开销的最小化,从而通过对一些任务进行冗余调度而最终减少完工时间。任务复制对于通信密集型的应用可能是个有效的技术;然而,当考虑能耗时,应当避免将这种技术引入调度算法中,或者至少应当仔细考虑。因为DBUS是基于复制的调度算法,所以其能耗远大于ECS的能耗。
ECS、ECS+空闲和HEFT之间的比较,再次证实了ECS和ECS+空闲的有利性能,尤其在能耗方面的有利性能。注意到,已证明之前的HEFT可以低时间复杂度而极具竞争力地执行,并且已被频繁地采用和扩展;这表明图10中所示的具有1%余地的ECS和ECS+空闲的平均SLR是令人信服的。
ECS和ECS+空闲的主要性能增益的来源是使用RS目标函数,从而有助于降低完工时间和能耗。在这些实验中,对ECS和ECS+空闲主调度阶段的调度之后的调度,通过MCER技术可以对能耗实现进一步的3.4%的改善和3.9%的改善(平均情况)。这种降低在直接和间接能耗中均可实现。
本技术领域技术人员可以理解,在不脱离大体描述的本发明范围的情况下,可以对具体实施例中示出的本发明进行许多改变和/或变型。因此,本发明实施例在所有方面均被认为是示例性的而不是限制性的。
参考文献
[1]H.Topcuouglu,S.Hariri,and M.-Y.Wu,Performance-Effective and Low-Complexity Task Scheduling for Heterogeneous Computing,IEEE Trans.Parallel Distrib.Syst.,Vol.13,No.3,pp.260-274,2002.
[2]=J.G.Koomey,Estimating total power consumption by servers in the U.S.and the world.
[3]G.Koch,Discovering multi-core:extending the benefits of Moore′s law,Technology@Intel Magazine,July 2005(http://www.intel.com/technology/magazine/computmg/multi-core-0705.pdf).
[4]M.R.Garey and D.S.Johnson,Computers and Intractability:A Guide to the Theory of NP-Completeness,W.H.Freeman and Co.,pp.238-239,1979.
[5]D.Bozdag,U.Catalyurek and F.Ozguner,A task duplication based bottom-up scheduling algorithm for heterogeneous environments,Proc.Int′l Parallel and Distributed Processing Symp.,April 2005.
[6]M.-Y.Wu and D.D.Gajski,Hypertool:A Programming Aid for Message-Passing Systems,IEEE Trans.Parallel and Distributed Systems,vol.1,no.3,pp.330-343,July 1990.
[7]R.E.Lord,J.S.Kowalik,and S.P.Kumar,Solving Linear Algebraic Equations on an MIMD Computer,J.ACM,vol.30,no.1,pp.103-117,January 1983.
[8]T.H.Gormen,C.E.Leiserson,and R.L.Rivest,Introduction to Algorithms,MIT Press,1990.

Claims (17)

1.一种对在异构计算系统中执行的应用进行调度的方法,其特征在于,该应用包含两个或两个以上优先约束并行任务,并且该异构计算系统包含多个处理器,每个该处理器能够在不同的供电电压水平下运行,该方法包括以下步骤:
基于该任务的计算成本和通信成本来确定该任务的优先级顺序;并且
按照该任务的优先级顺序,为每个该任务指定处理器和电压水平,与以处理器和电压水平的不同组合执行该任务的能耗及完成时间相比,所指定的该处理器和电压水平最大程度减少执行该任务的能耗及完成时间。
2.根据权利要求1所述的方法,其特征在于,所述最大程度减少包括为任务、处理器与电压水平的不同组合,确定同时代表能耗和完成时间的因子。
3.根据权利要求2所述的方法,其特征在于,所述最大程度减少包括选择要指定的组合,该组合具有代表最小化能耗与最小化完成时间之间的最佳权衡因子。
4.根据权利要求2或3所述的方法,其特征在于,所述能耗因子的确定是基于在所组合的电压水平下所述任务的计算成本。
5.根据权利要求2、3或4所述的方法,其特征在于,所述完成时间因子的确定是基于所组合的所述处理器和电压水平下所述任务的计算成本。
6.根据权利要求5所述的方法,其特征在于,所述完成时间因子的确定是基于所组合的处理器和电压水平下所述任务的估计开始时间与所述计算成本的结合。
7.根据权利要求6所述的方法,其特征在于,所述估计开始时间是基于优先于所述任务的最具影响力任务的估计结束时间,在适合的情况下,基于指定给该最具影响力任务的处理器与所述组合的处理器之间的通信成本。
8.根据权利要求5、6或7所述的方法,其特征在于,所述完成时间因子的确定包括使在所述处理器与电压水平的那些组合下会产生较长完成时间的任务处于不利地位。
9.根据前述权利要求中的任一项所述的方法,其特征在于,对于每个任务,所述方法进一步包括以下步骤:
确定在所述处理器与电压水平的不同组合中,该任务的能耗和计算时间;
当一个组合所确定的该计算时间并未导致所述应用的完工时间增加,并且所确定的该能耗小于已指定的处理器和已指定的电压下该任务的能耗,则将该任务重新指定给该组合中的处理器与电压水平。
10.根据前述权利要求中任一项所述的方法,其特征在于,每个所述任务的优先级是基于每个所述任务沿着其所属的优先约束任务的最长路径上的计算成本和通信成本。
11.根据权利要求10所述的方法,其特征在于,每个所述任务的优先级是基于所述任务的b-级或t-级。
12.根据前述权利要求中任一项所述的方法,其特征在于,所述方法进一步包括按照所述调度执行所述任务的步骤。
13.根据前述权利要求中任一项所述的方法,其特征在于,所述异构计算系统是多处理器计算系统。
14.根据前述权利要求中任一项所述的方法,其特征在于,所述任务是异构的。
15.一种软件,其特征在于,该软件包含记录于计算机可读介质中的计算机指令,运行计算机以执行前述权利要求中的任一项所述的方法。
16.一种对在异构计算系统中执行的应用的调度,其特征在于,该调度是由根据权利要求1至11中的任一项所述的方法生成。
17.一种对在异构计算系统执行的应用进行调度的调度系统,其特征在于,所述应用包含两个或两个以上优先约束并行任务,并且所述异构计算系统包含多个处理器,每个该处理器能够在不同的供电电压水平下运行,所述调度模块可操作地用于:
基于该任务的计算成本和通信成本来确定该任务的优先级顺序;并且,
按照该任务的优先级顺序,为每个该任务指定处理器和电压水平,与以处理器与电压水平的不同组合执行所述任务的能耗及完成时间相比,所指定的所述处理器和电压水平最大程度减少执行该任务的能耗及完成时间。
CN2009801395072A 2008-10-03 2009-10-01 对在异构计算系统中执行的应用的调度 Pending CN102171627A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
AU2008905162 2008-10-03
AU2008905162A AU2008905162A0 (en) 2008-10-03 Scheduling an Application for Performance on Heterogeneous Computing System
PCT/AU2009/001311 WO2010037177A1 (en) 2008-10-03 2009-10-01 Scheduling an application for performance on a heterogeneous computing system

Publications (1)

Publication Number Publication Date
CN102171627A true CN102171627A (zh) 2011-08-31

Family

ID=42072960

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009801395072A Pending CN102171627A (zh) 2008-10-03 2009-10-01 对在异构计算系统中执行的应用的调度

Country Status (7)

Country Link
US (1) US8959370B2 (zh)
EP (1) EP2350769A1 (zh)
JP (1) JP2012504800A (zh)
CN (1) CN102171627A (zh)
AU (1) AU2009299116B2 (zh)
CA (1) CA2738990A1 (zh)
WO (1) WO2010037177A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102902511A (zh) * 2011-12-23 2013-01-30 同济大学 并行信息处理系统
CN104598426A (zh) * 2013-10-30 2015-05-06 联发科技股份有限公司 用于异构多核处理器系统的任务调度方法
CN108139929A (zh) * 2015-10-12 2018-06-08 华为技术有限公司 用于调度多个任务的任务调度程序和方法
CN108255593A (zh) * 2017-12-20 2018-07-06 东软集团股份有限公司 基于共享资源的任务协调方法、装置、介质及电子设备
CN117573321A (zh) * 2023-11-24 2024-02-20 数翊科技(北京)有限公司 一种基于数据库的周期性调度任务动态编排方法及系统

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2930355B1 (fr) * 2008-04-18 2013-01-18 Commissariat Energie Atomique Procede de gestion de la consommation d'energie pour les systemes multiprocesseurs.
US8776066B2 (en) * 2009-11-30 2014-07-08 International Business Machines Corporation Managing task execution on accelerators
WO2011066823A2 (de) * 2009-12-05 2011-06-09 Jens Mehnert Verfahren und vorrichtung zur analyse des energieeinsatzes beim betrieb eines produktionssystems
US8789065B2 (en) 2012-06-08 2014-07-22 Throughputer, Inc. System and method for input data load adaptive parallel processing
RU2011117765A (ru) * 2011-05-05 2012-11-10 ЭлЭсАй Корпорейшн (US) Устройство (варианты) и способ реализации двухпроходного планировщика задач линейной сложности
US9448847B2 (en) 2011-07-15 2016-09-20 Throughputer, Inc. Concurrent program execution optimization
CN102299964B (zh) * 2011-08-30 2013-08-07 南京邮电大学 一种应用于节能型集群系统的数据重新部署方法
CN103034534A (zh) * 2011-09-29 2013-04-10 阿尔斯通电网公司 基于网格计算的电力系统分析并行计算方法和系统
US8689220B2 (en) 2011-11-30 2014-04-01 International Business Machines Corporation Job scheduling to balance energy consumption and schedule performance
WO2013115829A2 (en) * 2012-02-04 2013-08-08 Empire Technology Development Llc Core-level dynamic voltage and frequency scaling in a chip multiprocessor
US9619309B2 (en) * 2012-12-28 2017-04-11 Intel Corporation Enforcing different operational configurations for different tasks for failure rate based control of processors
US9336058B2 (en) * 2013-03-14 2016-05-10 International Business Machines Corporation Automated scheduling management of MapReduce flow-graph applications
US9329899B2 (en) 2013-06-24 2016-05-03 Sap Se Parallel execution of parsed query based on a concurrency level corresponding to an average number of available worker threads
CN103399626B (zh) * 2013-07-18 2016-01-20 国家电网公司 面向混合计算环境的功耗感知的并行应用调度系统及方法
JP2015088112A (ja) * 2013-11-01 2015-05-07 ソニー株式会社 制御装置、処理装置及び情報処理方法
JP5692341B2 (ja) * 2013-12-05 2015-04-01 富士通株式会社 マルチプロセッサシステム、制御方法、および制御プログラム
US9323574B2 (en) * 2014-02-21 2016-04-26 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Processor power optimization with response time assurance
CN103942102A (zh) * 2014-04-14 2014-07-23 桂林电子科技大学 基于双优先级的实时任务调度方法
US9912707B2 (en) 2014-07-31 2018-03-06 Istreamplanet Co. Method and system for ensuring reliability of unicast video streaming at a video streaming platform
US9826011B2 (en) 2014-07-31 2017-11-21 Istreamplanet Co. Method and system for coordinating stream processing at a video streaming platform
US9417921B2 (en) * 2014-07-31 2016-08-16 Istreamplanet Co. Method and system for a graph based video streaming platform
US9407944B1 (en) 2015-05-08 2016-08-02 Istreamplanet Co. Resource allocation optimization for cloud-based video processing
US9686576B2 (en) 2015-05-08 2017-06-20 Istreamplanet Co. Coordination of video stream timing in cloud-based video streaming system
US10164853B2 (en) 2015-05-29 2018-12-25 Istreamplanet Co., Llc Real-time anomaly mitigation in a cloud-based video streaming system
JP6143981B1 (ja) * 2016-03-22 2017-06-07 三菱電機株式会社 情報処理システム、情報処理装置及び情報処理方法
WO2017163447A1 (ja) * 2016-03-22 2017-09-28 三菱電機株式会社 情報処理システム、情報処理装置及び情報処理方法
CN105843364B (zh) * 2016-03-24 2018-11-02 华中科技大学 异构并行系统下时间能耗权衡优化的任务调度算法
EP3273349A1 (en) * 2016-07-22 2018-01-24 Tata Consultancy Services Limited Approximate computing for application performance in heterogeneous systems
US10108459B2 (en) * 2016-09-12 2018-10-23 Bmc Software, Inc. System and method to dynamically allocate varying processing capacity entitlements based on workload importance
WO2018076238A1 (zh) * 2016-10-27 2018-05-03 华为技术有限公司 异构系统、计算任务分配方法及装置
KR101898144B1 (ko) * 2017-03-20 2018-09-12 한양대학교 산학협력단 에너지 하베스팅으로 구동되는 시스템에서 태스크 스케줄링 방법 및 장치
CN108737462A (zh) * 2017-04-17 2018-11-02 华东师范大学 一种基于图论的云计算数据中心任务调度方法
US11256547B2 (en) 2019-05-31 2022-02-22 Altair Engineering, Inc. Efficient allocation of cloud computing resources to job requests
CN112346828B (zh) * 2019-08-06 2024-04-05 北京沃东天骏信息技术有限公司 基于分布式异构系统的任务配置方法、装置及存储介质
CN110489235A (zh) * 2019-08-20 2019-11-22 西北工业大学 一种基于heft的移动众包任务分配方法
CN111090613B (zh) * 2019-11-25 2022-03-15 中国人民解放军国防科技大学 一种基于图分割的低复杂度软硬件划分与调度方法
US11327877B2 (en) 2020-05-08 2022-05-10 Microsoft Technology Licensing, Llc Pipeline performance improvement using stochastic dags
CN112363819B (zh) * 2020-12-02 2024-08-09 深圳市房多多网络科技有限公司 大数据任务动态编排调度方法、装置及计算设备
CN112631749B (zh) * 2020-12-19 2024-03-26 北京化工大学 一种对异构分布式系统中并行应用程序的调度方法
CN112764903B (zh) * 2021-01-22 2024-06-28 西安电子科技大学 异构环境下带有特殊任务的任务调度方法、系统及应用
CN112905317B (zh) * 2021-02-04 2023-12-15 西安电子科技大学 快速可重构信号处理异构平台下任务调度方法和系统
DE102022200160A1 (de) * 2022-01-10 2023-07-13 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Optimieren eines Prozesses

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0675786A (ja) * 1992-08-26 1994-03-18 Hitachi Ltd タスクスケジュリング方法
US6230303B1 (en) * 1997-02-24 2001-05-08 Lucent Technologies Inc. Proximity-based cluster allocation for hardware-software co-synthesis of heterogeneous distributed embedded systems
NL1015579C1 (nl) 2000-06-30 2002-01-02 Thales Nederland Bv Werkwijze voor het automatisch verdelen van programmataken over een verzameling processors.
US7134031B2 (en) * 2003-08-04 2006-11-07 Arm Limited Performance control within a multi-processor system
US7386739B2 (en) * 2005-05-03 2008-06-10 International Business Machines Corporation Scheduling processor voltages and frequencies based on performance prediction and power constraints
JP2007328461A (ja) 2006-06-06 2007-12-20 Matsushita Electric Ind Co Ltd 非対称マルチプロセッサ
JP4936517B2 (ja) * 2006-06-06 2012-05-23 学校法人早稲田大学 ヘテロジニアス・マルチプロセッサシステムの制御方法及びマルチグレイン並列化コンパイラ
US20080178029A1 (en) * 2007-01-19 2008-07-24 Microsoft Corporation Using priorities to select power usage for multiple devices
JP4404228B2 (ja) 2008-02-18 2010-01-27 日本電気株式会社 タスクスケジューリングシステム、方法、およびプログラム

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102902511A (zh) * 2011-12-23 2013-01-30 同济大学 并行信息处理系统
CN104598426A (zh) * 2013-10-30 2015-05-06 联发科技股份有限公司 用于异构多核处理器系统的任务调度方法
US9858115B2 (en) 2013-10-30 2018-01-02 Mediatek Inc. Task scheduling method for dispatching tasks based on computing power of different processor cores in heterogeneous multi-core processor system and related non-transitory computer readable medium
CN104598426B (zh) * 2013-10-30 2018-02-09 联发科技股份有限公司 用于异构多核处理器系统的任务调度方法
CN108139929A (zh) * 2015-10-12 2018-06-08 华为技术有限公司 用于调度多个任务的任务调度程序和方法
CN108139929B (zh) * 2015-10-12 2021-08-20 华为技术有限公司 用于调度多个任务的任务调度装置和方法
CN108255593A (zh) * 2017-12-20 2018-07-06 东软集团股份有限公司 基于共享资源的任务协调方法、装置、介质及电子设备
CN108255593B (zh) * 2017-12-20 2020-11-03 东软集团股份有限公司 基于共享资源的任务协调方法、装置、介质及电子设备
CN117573321A (zh) * 2023-11-24 2024-02-20 数翊科技(北京)有限公司 一种基于数据库的周期性调度任务动态编排方法及系统

Also Published As

Publication number Publication date
US20110239017A1 (en) 2011-09-29
CA2738990A1 (en) 2010-04-08
AU2009299116B2 (en) 2015-05-21
EP2350769A1 (en) 2011-08-03
WO2010037177A8 (en) 2011-05-05
WO2010037177A1 (en) 2010-04-08
US8959370B2 (en) 2015-02-17
JP2012504800A (ja) 2012-02-23
AU2009299116A1 (en) 2010-04-08

Similar Documents

Publication Publication Date Title
CN102171627A (zh) 对在异构计算系统中执行的应用的调度
Lee et al. Minimizing energy consumption for precedence-constrained applications using dynamic voltage scaling
Lee et al. Energy conscious scheduling for distributed computing systems under different operating conditions
Zhang et al. Maximizing reliability with energy conservation for parallel task scheduling in a heterogeneous cluster
Mezmaz et al. A parallel bi-objective hybrid metaheuristic for energy-aware scheduling for cloud computing systems
Wen et al. Energy and cost aware scheduling with batch processing for instance-intensive IoT workflows in clouds
Dutot et al. Towards energy budget control in HPC
Sharifi et al. PASTA: a power-aware solution to scheduling of precedence-constrained tasks on heterogeneous computing resources
Zhang et al. CloudFreq: Elastic energy-efficient bag-of-tasks scheduling in DVFS-enabled clouds
Maurya et al. Energy-aware scheduling using slack reclamation for cluster systems
Li et al. Min-energy voltage allocation for tree-structured tasks
Song et al. An efficient scheduling algorithm for energy consumption constrained parallel applications on heterogeneous distributed systems
Mezmaz et al. A bi-objective hybrid genetic algorithm to minimize energy consumption and makespan for precedence-constrained applications using dynamic voltage scaling
Li et al. PATH: Performance-aware task scheduling for energy-harvesting nonvolatile processors
Singh et al. Value and energy optimizing dynamic resource allocation in many-core HPC systems
Zhang et al. Reliability enhancement strategies for workflow scheduling under energy consumption constraints in clouds
Kaur et al. Towards energy efficient scheduling with DVFS for precedence constrained tasks on heterogeneous cluster system
Hu et al. Energy-minimized scheduling of intermittent real-time tasks in a CPU-GPU cloud computing platform
Lee et al. On effective slack reclamation in task scheduling for energy reduction
Li et al. Battery-aware task scheduling in distributed mobile systems with lifetime constraint
Cui et al. Shadows on the Cloud: An Energy-aware, Profit Maximizing Resilience Framework for Cloud Computing.
Saroja et al. Multi-criteria decision-making for heterogeneous multiprocessor scheduling
Li et al. Min-energy voltage allocation for tree-structured tasks
Sun et al. HEFT-dynamic scheduling algorithm in workflow scheduling
Yu et al. An improved DVFS algorithm for energy-efficient real-time task scheduling

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20110831