CN103235640B - 一种基于dvfs技术的大规模并行任务节能调度方法 - Google Patents

一种基于dvfs技术的大规模并行任务节能调度方法 Download PDF

Info

Publication number
CN103235640B
CN103235640B CN201310006427.8A CN201310006427A CN103235640B CN 103235640 B CN103235640 B CN 103235640B CN 201310006427 A CN201310006427 A CN 201310006427A CN 103235640 B CN103235640 B CN 103235640B
Authority
CN
China
Prior art keywords
task
tasks
processor
time
aft
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.)
Expired - Fee Related
Application number
CN201310006427.8A
Other languages
English (en)
Other versions
CN103235640A (zh
Inventor
王玉龙
苏森
黄庆佳
双锴
徐鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN201310006427.8A priority Critical patent/CN103235640B/zh
Publication of CN103235640A publication Critical patent/CN103235640A/zh
Application granted granted Critical
Publication of CN103235640B publication Critical patent/CN103235640B/zh
Expired - Fee Related 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/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
    • G06F9/4893Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
    • 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)
  • Power Sources (AREA)

Abstract

本发明提供了一种基于DVFS技术的大规模并行任务节能调度方法,属于分布式计算领域。所述方法包括以下步骤:(1)任务映射阶段:将所有处理器的初始状态均设为运行在其最高电压和最高频率状态,然后通过计算获得任务映射阶段的有向无环图调度结果的整体执行时间MHEFT;(2)任务拉伸阶段:将任务的执行电压和频率进行拉伸优化,在不影响整体性能的情况下降低能耗开销。本发明方法在不影响大规模并行任务整体执行时间的条件下,显著降低了并行任务带来的能耗开销。

Description

一种基于DVFS技术的大规模并行任务节能调度方法
技术领域
本发明属于分布式计算领域,具体涉及一种基于DVFS技术的大规模并行任务节能调度方法,用于解决大规模并行任务在数据中心等环境中的能耗问题。
背景技术
随着云计算技术的兴起,作为其基础设施的大规模分布式处理系统(比如数据中心和集群等),开始了不断建设并已经在工业界得到广泛而深入的应用,逐渐成为了高性能计算的主流平台。然而,云计算平台在提供强大的计算能力的同时也带来了能耗开销巨大的问题。根据EPA(EnvironmentProtectionAgency)报告,2006年美国数据中心的总能耗已达到614亿KWh,相比2000年翻了一番(请参考U.S.E.P.Agency,“Reporttocongressonserveranddatacenterenergyefficiencypubliclaw,”2007。)。高速增长的能耗开销已经成为云计算平台发展的瓶颈,急需得到有效的解决。
动态电压频率调节(DynamicVoltageandFrequencyScaling,DVFS)技术是目前计算机系统低功耗设计中常用的节能技术。DVFS技术利用了CMOS电路特性:CMOS电路的功耗正比于时钟频率和电压的平方,即每个时钟周期的能量消耗正比于电压的平方。对于一个任务来说,完成它所需要的时钟周期是固定的,所消耗的能量与电压的平方成正比,只有降低电压才能减少能量开销。但是由于时钟频率与电压的线性关系,降低电压会减少时钟频率,增加任务完成时间,导致性能下降(请参考MudgeT.Power:Afirstclassdesignconstraintforfuturearchitecture[C].Proceedingsofthe7thInternationalConferenceonHighPerformanceComputing,2000。)。可见,DVFS技术是以延长执行时间为代价来达到减少能量消耗的目的,是功耗和性能之间一种权衡。分布式处理系统中服务器的负载经常是不均衡且动态变化的,利用DVFS技术的特点进行任务调度可使得服务器系统在不影响服务能力的情况下最大限度降低整个系统的能量开销。
并行任务是分布式处理系统中最重要的应用类型。目前利用DVFS技术的并行任务节能调度一般包含如下两个步骤:1)任务映射;2)电压调节。文献1(请参考V.ShekarandB.Izadi,“Energyawareschedulingfordagstructuredapplicationsonheterogeneousanddvsenabledprocessors,”inGreenComputingConference,2010International.IEEE,2010,pp.495-502)首先在服务器处理器最优性能/最高电压下进行任务映射,然后利用贪婪式的方法降低任务的执行电压以减少任务功耗;文献2(请参考H.Kimura,M.Sato,Y.Hotta,T.Boku,andD.Takahashi,“EmpricalstudyonreducingenergyofparallelprogramsusingslackreclamationbyDVFSinapower-scalablehighperformancecluster,”inClusterComputing,2006IEEEInternationalConferenceon.IEEE,2006,pp.1-10)同样先是在处理器最优性能下进行任务分配,然后通过局部考虑任务间依赖关系寻求任务电压调节策略的局部最优值;以上方法在进行电压调节时都缺乏考虑全局信息,仅从局部信息进行电压调整,因此其节能效果仍不是最优效果。与上述两种方法不同,文献3(Y.LeeandA.Zomaya,“Energyconsciousschedulingfordistributedcomputingsystemsunderdifferentoperatingconditions,”ParallelandDistributedSystems,IEEETransactionson,no.99,pp.1-1,2011)并不将任务映射与电压调节进行严格阶段区分,其提出了一个任务性能和能耗开销的综合目标函数,通过帕累托最优的方法同时决定任务的执行位置及执行电压,该方法在能耗开销上取得了很好的效果,但仍存在执行性能无法动态调节,不能满足用户动态需求的问题。
发明内容
本发明的目的在于解决上述现有技术中存在的难题,提供一种基于DVFS技术的大规模并行任务节能调度方法,降低云计算平台的运行能耗开销,在保证并行任务执行性能的情况下,建立并行任务调度的数学模型,通过分析并行任务的内联关系设计了全局优化的调节策略,提出一个高效的启发式的并行任务节能调度方法。
本发明是通过以下技术方案实现的:
一种基于DVFS技术的大规模并行任务节能调度方法,所述方法包括以下步骤:
(1)任务映射阶段:将所有处理器的初始状态均设为运行在其最高电压和最高频率状态,然后通过计算获得任务映射阶段的有向无环图(DAG)调度结果的整体执行时间MHEFT
(2)任务拉伸阶段:将任务的执行电压和频率进行拉伸优化,在不影响整体性能的情况下降低能耗开销。
所述步骤(1)包括以下步骤:
(A1):计算所有任务的平均执行开销;
设任务ni在处理器pk上的执行开销记为wi,k,则该任务在q个处理器上的平均执行开销是该任务在所有处理器上的执行时间的均值,如下式所示:
w i ‾ = Σ j = 1 q w i , j / q ;
(A2):计算所有任务的b-level值,然后按b-level值的降序顺序将任务压入队列Q;
b-level值是指:通过广度优先算法逆序计算从有向无环图退出节点到当前节点所有路径中最大的路径开销值;
(A3):选择所述队列Q中的第一个任务,设该任务为ni,即未被调度的b-level值最高的任务;
(A4):循环查找所有的处理器获得该任务在各个处理器上最早结束时间EFT(ni,pk),选择最早结束时间最小的处理器pk,将任务ni调度到该处理器上执行;
所述最早结束时间EFT(ni,pk)是通过下式得到的:任务ni在处理器pk的最早结束时间EFT(ni,pk)=EST(ni,pk)+wi,k,其中,EST(ni,pk)是任务ni在处理器pk的最早开始时间, EST ( n i , p k ) = max n j ∈ pred ( n i ) ( AFT ( n j ) + c j , i ) , 其中,AFT(ni)为任务ni的实际结束时间,nj为另外一个任务,ci,j为两个任务的通信开销,即每两个存在依赖关系的可执行任务之间的传输时间;pred(ni)为该任务的直接前驱任务集合,nj为该任务的直接前驱任务集合中的一个任务,
pred ( n i ) = { ∀ n j | ∃ ( n j → n i ) , n i ∈ DAG , n j ∈ DAG } ;
(A5):将已调度的任务ni移出队列Q,然后判断队列Q是否为空,如果是,则转入步骤(A6),如果否,则返回步骤(A3);
(A6):计算出任务映射阶段的有向无环图调度结果的整体执行时间MHEFT
M HEFT = max { AFT ( n i ) | ∀ n i ∈ DAG } .
所述步骤(2)包括以下步骤:
(B1):如果MHEFT≤Tdeadline,转入步骤(B2),Tdeadline为用户设定的并行任务最长执行时间;如果MHEFT>Tdeadline则调度无法满足用户设定,转入步骤(B14);
(B2):计算任务拉伸系数μ=Tdeadline/MHEFT
(B3):令S为所有任务的集合,当S不为空时,从S中取出AFT(ni)值最大的任务ni
(B4):对任务映射阶段的原调度进行拉伸,在处理器pk不变的情况下重新计算任务ni的实际结束时间AFT′(ni)和实际开始时间AST′(ni),计算方式如下:
将实际开始时间更新为:AST′(ni)=μ·AST(ni),其中AST(ni)为任务ni的实际开始时间;
将实际结束时间更新为:AFT′(ni)=AST′(ni)+wi,k,其中,wi,k为任务ni在处理器pk上的执行开销;
更新后的实际开始时间和更新后的实际结束时间构成新调度结果;
(B5)将已经拉伸的任务ni从任务集合S中删除,如果S不为空,返回步骤(B4),如果S为空,则转入步骤(B6);
(B6):计算所述新调度结果下的所有计算任务的最早开始时间EST(ni)和最晚结束时间LFT(ni):
EST ( n i ) = max n j ∈ pred ( n i ) ( AFT ( n j ) + c j , i ) ;
AFT(ni)=AFT′(ni)=AST′(ni)+wi,k
LFT ( n i ) = min n j ∈ succ ( n i ) ( AST ( n j ) - c i , j ) , 其中,ci,j为两个任务的通信开销;
(B7):令N为所有任务的集合;
(B8)如果N不为空,则取出LFT(ni)值最大的任务ni,放入临时调度队列Qtemp
(B9):任务ni在处理器pk上的执行序号表示为l,则任务ni也可表示为并设置变量x=l;
(B10):如果则将放入Qtemp,继续执行步骤(B11);否则跳到步骤(B12);
(B11):设置变量x′=x-1,如果x′>0,则返回步骤(B10),否则跳到步骤(B12);
(B12):计算任务ni的全局最优执行频率值fglobal
计算队列Qtemp(这个临时队列中存储的是一台服务器上拉伸空间有重叠的任务集合)中所有任务的执行时间: T exec ( Q temp ) = { Σ w i , p k | ∀ n i ∈ Q temp }
计算队列Qtemp中任务集的整体可用时间:
T total ( Q temp ) = LFT ( n p k , biggest ) - EST ( n p k , smallest )
计算任务ni的全局最优执行频率值fglobal
f global ( n i , p k ) = f max ( p k ) · max ( w i w i + Slack ( n i ) , T exec ( Q temp ) T total ( Q temp ) )
也就是让临时队列中的所有任务在可用的时间进行均匀拉伸(降低cpu执行频率,延长执行时间。
(B13):将任务ni的执行电压从fmax(pk)到fglobal(ni,pk),其实际执行开销调整为 T exec ′ ( n i ) = n i f global ( n i , p k ) ,
实际结束时间调整为AFT(ni)=LFT(ni),
实际开始时间调整为 AST ( n i ) = AFT ( n i ) - T exec ′ ( n i ) ;
(B14):将任务ni移出任务集合N,更新任务ni的前驱任务集合的最晚结束时间LFT,清空临时队列Qtemp
(B15):如果任务集合N不为空,则返回步骤(B7);否则调度结束,转入步骤(B16);
(B16):退出程序。
与现有技术相比,本发明的有益效果是:本发明利用动态电压频率调节(DynamicVoltageandFrequencyScaling,DVFS)技术,本发明在不影响大规模并行任务整体执行时间的条件下,显著降低了并行任务带来的能耗开销。。
附图说明
图1-1是使用Gaussworkload测试集,在最高性能(MHEFT)条件下EES与Greedy-based、Path-based进行节能比例比较。
图1-2是使用RandomDAGworkload测试集,在最高性能MHEFT)条件下EES与Greedy-based、Path-based进行节能比例比较。
图2-1是使用Gaussworkload测试集,在用户设定性能约束低于并行任务最高性能(MHEFT)时EES与Greedy-based、Path-based进行节能比例比较。
图2-2是使用RandomDAGworkload测试集,在用户设定性能约束低于并行任务最高性能(MHEFT)时EES与Greedy-based、Path-based进行节能比例比较。
图3-1是使用Gaussworkload测试集,并以ECS算法作为用户执行时间约束标准条件下比较EES与ECS的节能效果。
图3-2是使用RandomDAGworkload测试集,并以ECS算法作为用户执行时间约束标准条件下比较EES与ECS的节能效果。
图4-1是简单的并行任务的DAG图例。
图4-2是针对图4-1利用本发明方法得到的调度结果示例。
图5是本发明基于DVFS技术的大规模并行任务节能调度方法的步骤框图。
具体实施方式
下面结合附图对本发明作进一步详细描述:
本发明要求底层云计算平台的服务器支持DVFS技术。在DVFS技术的支持下,建立了并行任务的任务调度模型和能耗模型,根据该模型提出了一种新的启发式节能调度方法(EnhancedEnergy-efficientScheduling,简称EES)(是本发明方法的英文名称,以方便后面与对比方法的描述)。
并行任务调度问题的形式化描述如下:
●分布式处理系统:系统中异构服务器处理器集合记为P={p1,p2,…,pn},对于处理器pi均有相应的电压和频率集合:Vi={vi,1,vi,2,…,vi,m},Fi={fi,1,fi,2,…,fi,m},处理器pi当处于电压vi,j时,其运行频率为fi,j。其中Vi和Fi中的最小值满足:vi,min>0,fi,min>0。
●并行任务请求:并行任务可以标记为带权无环图G=(N,E),其中N表示n个可执行任务的集合,E是任务节点之间有向边的集合,表示任务间的数据依赖关系。所有的任务均是不可被抢占的,其执行时间标记为Texec(ni)。任意有向边edge(ni,nj)∈E均带有一个权值,表示从任务ni到nj的通信开销,标记为ci,j。如果任务ni和nj被分配到同一台服务器pi上执行的话,则这两个任务之间的通信开销为0,即ci,j=0。只有存在依赖关系的两个执行任务ni和nj被分配到不同的服务器上执行时,通信开销才存在。整个并行任务的执行时间标记为M,同时用户设定的并行任务最长执行时间标记为Tdeadline,则必须满足M≤Tdeadline
●服务器能耗开销:服务器CMOS的能耗开销主要包含两个部分:静态能量消耗Estatic和动态能量消耗Edynamic,其中静态能量消耗Estatic伴随着服务器启动就一直固定存在,动态能量消耗Edynamic随着执行电压的变化而动态变化,其能量开销在整体能量开销中占支配地位。DVFS技术通过调整CPU的电压值和频率值来动态调整服务器处理器的动态能量部分,因此本发明只考虑服务器处理器的动态能量部分。处理器功率Pdynamic与执行电压v和频率f存在如下函数关系:Pdynamic=k·v2·f,其中k是一个与具体硬件相关的定值。那么动态能量开销Edynamic=Pdynamic·Δt,其中Δt为执行时间。为了节省能耗,设定处理器在空闲时间能自动将电压和频率值调整是其最低值,即vlowest和flowest。将处理器空闲时间的能量开销标记为Eidle,执行任务期间的能量开销标记为Etasks
●并行任务调度:并行任务调度问题即是为每个执行任务分配到某一服务器并选择其执行电压和频率{vi,fi}。调度过程分为两个阶段,任务映射阶段按最高执行性能要求将任务分配到服务器,拉伸阶段将每个任务根据全局优化策略进行电压和频率调整的。任务ni调度实际开始和结束时间标记为AST(ni)、AFT(ni)。
●主要评价指标:
并行任务执行时间:M=max{AFT(ni)|ni∈DAG},
服务器能耗总开销:Etotal=Etasks+Eidle
如图5所示,本发明基于DVFS技术的大规模并行任务节能调度方法具体如下:
为了满足并行任务的性能需求,本发明设计了一个两步调度的方法框架:
1)任务映射阶段:所有处理器的初始状态均为运行在其最高电压和最高频率状态,该阶段本发明使用经典的高性能的异构最早完成时间算法(HEFT)(请参考H.Topcuoglu,S.Hariri,andM.Wu,“Performance-effectiveandlowcomplexitytaskschedulingforheterogeneouscomputing,”ParallelandDistributedSystems,IEEETransactionson,vol.13,no.3,pp.260-274,2002)作为调度的基础算法,本阶段可获得该并行任务的最短完成时间MHEFT
2)任务拉伸阶段:将任务的执行电压和频率进行拉伸优化(实际的拉伸是在B11步骤,之前的步骤是在计算拉伸到哪个电压/频率状态是最优的。),充分利用服务器的空闲时间,调低非关键路径任务的电压和频率,在不影响整体性能的情况下降低能耗开销。
下面将两个阶段进行分开详细描述:
1,任务映射阶段
定义1执行开销:任务ni在处理器pk上的执行开销记为wi,k。由于每个可执行任务在处理器上的执行时间也是不同的,将每个任务在所有处理器上的执行时间的均值定义为该任务的平均执行开销,
定义2通信开销:每两个存在依赖关系的可执行任务之间的传输时间定义为该两个任务的通信开销,记为ci,j(当两个任务在同一处理器上执行时ci,j=0)。
定义3前驱任务集合:任务的直接前驱计算任务集合,记为pred(ni),
pred ( n i ) = { ∀ n j | ∃ ( n j → n i ) , n i ∈ DAG , n j ∈ DAG } .
定义4后续任务集合:计算任务的直接后继计算任务集合,记为Succ(ni),
succ ( n i ) = { ∀ n j | ∃ ( n i → n j ) , n i ∈ DAG , n j ∈ DAG } .
定义5路径开销:路径上所有计算任务的平均执行开销及通信开销的总和。
定义6t-level:通过广度优先算法顺序计算从DAG((DirectedAcyclicGraph)有向无环图,表示的是并行任务的任务结构)开始节点到当前节点的所有路径中最大的路径开销值。
定义7b-level:通过广度优先算法逆序计算从DAG退出节点到当前节点所有路径中最大的路径开销值。
定义8实际开始时间AST:任务ni的实际开始时间标记为AST(ni)。
定义9实际结束时间AFT:任务ni的实际结束时间标记为AFT(ni)。
定义10最早开始时间EST:任务ni在处理器pk的最早开始时间,EST(ni,pk),
EST ( n i , p k ) = max n j ∈ pred ( n i ) ( AFT ( n j ) + c j , i ) .
定义11最早结束时间EFT:任务ni在处理器pk的最早结束时间,EFT(ni,pk),
EFT(ni,pk)=EST(ni,pk)+wi,k
具体执行步骤如下:
步骤1:计算所有任务的平均执行开销;
步骤2:计算所有任务的b-level值并按降序顺序进入队列Q,也就是说每个任务对应一个b-level值,然后将所有任务的该值降序排序形成队列Q;
步骤3:选择队列Q中的第一个任务,即未被调度的b-level值最高的任务ni
步骤4:循环查找所有的处理器计算任务在各个处理器上最早结束时间EFT(ni,pk),选择最早结束时间最小的处理器pk,将任务ni调度到该处理器上执行;
步骤5:将任务ni移出队列Q,然后判断队列Q是否为空,如果是,则转入步骤6,如果否,则返回步骤3;
步骤6:计算出任务映射阶段DAG调度结果的整体执行时间MHEFT
M HEFT = max { AFT ( n i ) | ∀ n i ∈ DAG }
2,任务拉伸阶段
定义12最晚结束时间LFT:不影响其他任务执行时间的情况下任务ni在处理器pk上的最晚结束时间,LFT(ni,pk),
LFT ( n i , p k ) = min n j ∈ succ ( n i ) ( AST ( n j ) - c i , j ) .
定义13可拉伸时间Slack:不影响其他任务执行时间的情况下任务ni在处理器pk上的可伸缩时间,Slack(ni),
Slack(ni)=LFT(ni,pk)-EST(ni,pk)-wi,k
具体执行步骤如下:
步骤1:如果MHEFT≤Tdeadline,继续执行步骤2;如果MHEFT>Tdeadline则调度无法满足用户设定,退出;
步骤2:计算拉伸比值μ=Tdeadline/MHEFT
步骤3:令S为所有任务的集合,当S不为空时,从S中取出AFT(ni)值最大的任务ni
步骤4:拉伸任务映射阶段的原调度,所有任务的执行位置(即处理器pk)不变,
实际开始时间更新为AST′(ni)=μ·AST(ni),
实际结束时间更新为AFT′(ni)=AST′(ni)+wi,k
步骤5:将已经拉伸的任务ni从任务集合S中删除,如果S不为空,返回步骤4,如果S为空,则转入步骤6;
步骤6:计算新调度结果下的所有任务的最早开始时间EST(ni)和最晚结束时间LFT(ni);
步骤7:令N为所有任务的集合;
步骤8:如果N不为空,则取出LFT(ni)值最大的任务ni,放入临时调度队列Qtemp;(后面B9-B11由于篇幅关系没有画进图5中,这几步骤是计算f(global)的准备阶段,图5中的计算最优频率f(global)步骤在含义上包括了这几步);
步骤9:任务ni在处理器pk上的执行序号表示为l,将ni根据在pk的执行序号表示为设置变量x=l;
步骤10:如果则将放入Qtemp,继续执行步骤11;否则跳到步骤12;
步骤11:设置变量x′=x-1,如果x′>0,则返回步骤10,否则跳到步骤12;
步骤12:计算任务ni的全局最优执行频率值fglobal
T exec ( Q temp ) = { Σ w i , p k | ∀ n i ∈ Q temp }
T total ( Q temp ) = LFT ( n p k , biggest ) - EST ( n p k , smallest )
f global ( n i , p k ) = f max ( p k ) · max ( w i w i + Slack ( n i ) , T exec ( Q temp ) T total ( Q temp ) )
步骤13:将任务ni的执行电压从fmax(pk)到fglobal(ni,pk),其实际执行开销调整为
实际结束时间调整为AFT(ni)=LFT(ni),
实际开始时间调整为AST(ni)=AFT(ni)-wi′;
步骤14:将任务ni移出任务集合N,更新任务ni的前驱任务集合的最晚结束时间LFT,清空临时队列Qtemp
步骤15:如果任务集合N不为空,则返回步骤7;否则调度结束,转入步骤16;
步骤16:退出程序。
与文献1(V.ShekarandB.Izadi,“Energyawareschedulingfordagstructuredapplicationsonheterogeneousanddvsenabledprocessors,”inGreenComputingConference,2010International.IEEE,2010,pp.495-502)提出的基于贪婪式(Greedy-based)的并行任务节能调度算法及文献2(H.Kimura,M.Sato,Y.Hotta,T.Boku,andD.Takahashi,“EmpricalstudyonreducingenergyofparallelprogramsusingslackreclamationbyDVFSinapower-scalablehighperformancecluster,”inClusterComputing,2006IEEEInternationalConferenceon.IEEE,2006,pp.1-10)提出的基于路径(Path-based)的并行任务节能调度算法相比,本发明在保障并行任务性能的情况下,显著的提高了能耗的节省比例;与文献2(H.Kimura,M.Sato,Y.Hotta,T.Boku,andD.Takahashi,“EmpricalstudyonreducingenergyofparallelprogramsusingslackreclamationbyDVFSinapower-scalablehighperformancecluster,”inClusterComputing,2006IEEEInternationalConferenceon.IEEE,2006,pp.1-10)ECS调度算法相比,本发明不仅在性能上允许用户动态调整,并且在与ECS算法固定相同性能的条件下能耗节省比例也更加理想。
实验设置如下:底层分布式系统选择三类异构的处理器,分别是AMDTurionMT-34处理器,PentiumM处理器和AMDAthlon-64处理器,其执行电压-频率对如表1所示。每类处理器使用8个,总共24个处理器。并行任务工作流使用两类工作流:随机工作流(Random)和高斯工作流(Gauss)。随机工作流选择的节点数集合为{20,40,60,80,100,200},Gauss工作流节点数有如下规律(m2+m-2)/2,m为工作流的层数,故Gauss工作流节点范围选择在[20,209]。
表1
下面通过分析实验数据来说明EES的节能性能。
(1)在并行任务最高性能(MHEFT)条件下EES与Greedy-based、Path-based进行节能比例比较:
图1-1和图1-2表明,在最高性能(MHEFT)条件下EES比Greedy-based、Path-based两种方法的节能效果都更优,其中图1-1中,EES的节能比例随着工作流的任务数的增加呈现递增趋势,而相比较下Greedy-based、Path-based的节能比例则出现了较大的浮动,不够稳定。在Gauss工作流209计算任务节点时,EES的节能比例高达33%。图1-2的节能比例相比较没有Gauss的高,原因是Gauss是规则图状结构,其非关键路径节点会随着图结构的增大而增多,而随机工作流则不一定,因此随机工作流的节能比例相对较低。但同等情况下EES的节能比例仍然较Greedy-based、Path-based两种方法有优势。在200计算任务节点时,EES的节能比例为17%。
(2)当用户设定性能约束低于并行任务最高性能(MHEFT)时EES与Greedy-based、Path-based进行节能比例比较
图2-1和图2-2表明,当用户指定的执行时间约束大于最高性能执行时间(MHEFT),其节能效果会有不同的提高或下降。图2-1的执行时间拉伸比例η=(Tdeadline-MHEFT)/MHEFT值从0%到100%,即最大为2倍MHEFT。在0%~100%的拉伸比例下,EES的节能比例出现先增后减的趋势,如图2-1当Gauss工作流的拉伸比例值为50%时候,其节能比例达到最高值,此后执行时间越长能耗开销越大。其原因在当执行时间增长的过程中,刚开始非关键路径节点会随之增多,但当拉伸到达一定比例后,非关键路径节点节省的能耗慢慢赶不上服务器过多的空闲时间带来的能耗,于是节能比例反而开始下降。图2-2出现同样的规律,在随机工作流下,节能比例最高点出现在拉伸比例值为150%。可见不同工作流的节能至高点也不同。总的来说,EES的节能效果一直都优于Greedy-based、Path-based两种调度算法。
(3)以ECS调度算法执行性能为用户标准比较EES与ECS的节能效果。
图3-1和图3-2是在使用ECS作为用户执行时间约束标准条件下节能比较。
ECS算法不似EES具有性能伸缩效果,因此以ECS的调度长度作为用户标准比较EES与ECS的节能效果。从实验测试可以发现ECS的调度结果约为最高性能(MHEFT)拉伸9%左右。从图3可以看出EES在同等性能条件下的节能比例仍优于ECS算法。其中在图3-1中,Gauss工作流EES的平均节能比例为30.35%,而ECS为28.25%。图3-2中,随机工作流EES的平均节能比例为29.3%,而ECS为26.8%。
本发明可以应用到支持DVFS技术的云计算平台基础设施(数据中心、集群等)中,不仅保障计算平台上并行任务的执行性能,还最大限度的降低了并行任务的能耗开销,从而降低数据中心等的运营成本,达到节能减排的效果。图4-1和图4-2描绘了一个节能调度实例。
EES以工作流图状结构(包含计算任务的执行开销和任务间的通信开销)作为输入,以近似最优的任务调度方案为输出结果。图4-1和图4-2给出了一个近似最优的节能调度方案。
其中,对于并行任务请求,节点中的数字表示该计算任务节点的执行开销,有向边上的数字表示两个任务节点间的通信开销,底层有两台服务器PE1和PE2,其执行电压频率集合分别为{1.2v,1.1v,1.0v,0.9v,0.8v,0.7v}、{1G,0.8G,0.6G,0.5G,0.4G,0.333G}。如图调度则其节能比例能为10.3%。
上述技术方案只是本发明的一种实施方式,对于本领域内的技术人员而言,在本发明公开了应用方法和原理的基础上,很容易做出各种类型的改进或变形,而不仅限于本发明上述具体实施方式所描述的方法,因此前面描述的方式只是优选的,而并不具有限制性的意义。

Claims (2)

1.一种基于DVFS技术的大规模并行任务节能调度方法,其特征在于:所述方法包括以下步骤:
(1)任务映射阶段:将所有处理器的初始状态均设为运行在其最高电压和最高频率状态,然后通过计算获得任务映射阶段的有向无环图调度结果的整体执行时间MHEFT
(2)任务拉伸阶段:将任务的执行电压和频率进行拉伸优化,在不影响整体性能的情况下降低能耗开销,
其中,所述步骤(1)包括以下步骤:
(A1):计算所有任务的平均执行开销;
设任务ni在处理器pk上的执行开销记为wi,pk,则该任务在q个处理器上的平均执行开销是该任务在所有处理器上的执行时间的均值,如下式所示:
w i ‾ = Σ j = 1 q w i , j / q ;
(A2):计算所有任务的b-level值,然后按b-level值的降序顺序将任务压入队列Q;
b-level值是指:通过广度优先算法逆序计算从有向无环图退出节点到当前节点所有路径中最大的路径开销值;
(A3):选择所述队列Q中的第一个任务,设该任务为ni,即未被调度的b-level值最高的任务;
(A4):循环查找所有的处理器获得该任务在各个处理器上最早结束时间EFT(ni,pk),选择最早结束时间最小的处理器pk,将任务ni调度到该处理器上执行;
所述最早结束时间EFT(ni,pk)是通过下式得到的:任务ni在处理器pk的最早结束时间EFT(ni,pk)=EST(ni,pk)+wi,pk,其中,EST(ni,pk)是任务ni在处理器pk的最早开始时间, EST ( n i , p k ) = max n j ∈ pred ( n i ) ( AFT ( n j ) + c j , i ) , 其中,AFT(ni)为任务ni的实际结束时间,nj为另外一个任务,cj,i为两个任务的通信开销,即每两个存在依赖关系的可执行任务之间的传输时间;pred(ni)为该任务的直接前驱任务集合,nj为该任务的直接前驱任务集合中的一个任务, pred ( n i ) = { ∀ n j | ∃ ( n j → n i ) , n i ∈ DAG , n j ∈ DAG } ;
(A5):将已调度的任务ni移出队列Q,然后判断队列Q是否为空,如果是,则转入步骤(A6),如果否,则返回步骤(A3);
(A6):计算出任务映射阶段的有向无环图调度结果的整体执行时间MHEFT
M HEFT = max { AFT ( n i ) | ∀ n i ∈ DAG } .
2.根据权利要求1所述的基于DVFS技术的大规模并行任务节能调度方法,其特征在于:所述步骤(2)包括以下步骤:
(B1):如果MHEFT≤Tdeadline,转入步骤(B2),Tdeadline为用户设定的并行任务最长执行时间;如果MHEFT>Tdeadline则调度无法满足用户设定,转入步骤(B14);
(B2):计算任务拉伸系数μ=Tdeadline/MHEFT
(B3):令S为所有任务的集合,当S不为空时,从S中取出AFT(ni)值最大的任务ni
(B4):对任务映射阶段的原调度进行拉伸,在处理器pk不变的情况下重新计算任务ni的实际结束时间AFT'(ni)和实际开始时间AST'(ni),计算方式如下:
将实际开始时间更新为:AST'(ni)=μ·AST(ni),其中AST(ni)为任务ni的实际开始时间;
将实际结束时间更新为:AFT'(ni)=AST'(ni)+wi,pk,其中,wi,pk为任务ni在处理器pk上的执行开销;
更新后的实际开始时间和更新后的实际结束时间构成新调度结果;
(B5)将已经拉伸的任务ni从任务集合S中删除,如果S不为空,返回步骤(B4),如果S为空,则转入步骤(B6);
(B6):计算所述新调度结果下的所有计算任务的最早开始时间EST(ni)和最晚结束时间LFT(ni):
EST ( n i ) = max n j ∈ pred ( n i ) ( AFT ( n j ) + c j , i ) ;
LFT ( n i ) = min n j ∈ succ ( n i ) ( AST ( n j ) - c j , i ) , 其中,cj,i为两个任务的通信开销;
(B7):令N为所有任务的集合;
(B8)如果N不为空,则取出LFT(ni)值最大的任务ni,放入临时调度队列Qtemp
(B9):任务ni在处理器pk上的执行序号表示为l,则任务ni也可表示为并设置变量x=l
(B10):如果 LFT ( n p k , x - 1 ) > EST ( n p k . x ) , 则将放入Qtemp,继续执行步骤(B11);否则跳到步骤(B12);
(B11):设置变量x'=x-1,如果x'>0,则返回步骤(B10),否则跳到步骤(B12);
(B12):计算任务ni的全局最优执行频率值fglobal
计算队列Qtemp中所有任务的执行时间:
计算队列Qtemp中任务集的整体可用时间:
T total ( Q temp ) = LFT ( n p k , biggest ) - EST ( n p k , smallest )
计算任务ni的全局最优执行频率值fglobal
f global ( n i , p k ) = f max ( p k ) · max ( w i w i + Slack ( n i ) , T exec ( Q temp ) T total ( Q temp ) ) , 其中
Slack(ni)表示不影响其他任务执行时间的情况下任务ni在处理器pk上的可伸缩时间;
(B13):将任务ni的执行电压从fmax(pk)到fglobal(ni,pk),其
实际执行开销调整为 T exec ′ ( n i ) = n i f global ( n i , p k ) ,
实际结束时间调整为AFT(ni)=LFT(ni),
实际开始时间调整为AST(ni)=AFT(ni)-T′exec(ni);
(B14):将任务ni移出任务集合N,更新任务ni的前驱任务集合的最晚结束时间LFT,清空临时队列Qtemp
(B15):如果任务集合N不为空,则返回步骤(B7);否则调度结束,转入步骤(B16);
(B16):退出程序。
CN201310006427.8A 2013-01-08 2013-01-08 一种基于dvfs技术的大规模并行任务节能调度方法 Expired - Fee Related CN103235640B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310006427.8A CN103235640B (zh) 2013-01-08 2013-01-08 一种基于dvfs技术的大规模并行任务节能调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310006427.8A CN103235640B (zh) 2013-01-08 2013-01-08 一种基于dvfs技术的大规模并行任务节能调度方法

Publications (2)

Publication Number Publication Date
CN103235640A CN103235640A (zh) 2013-08-07
CN103235640B true CN103235640B (zh) 2016-01-13

Family

ID=48883686

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310006427.8A Expired - Fee Related CN103235640B (zh) 2013-01-08 2013-01-08 一种基于dvfs技术的大规模并行任务节能调度方法

Country Status (1)

Country Link
CN (1) CN103235640B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104915253B (zh) * 2014-03-12 2019-05-10 中国移动通信集团河北有限公司 一种作业调度的方法及作业处理器
CN103838627B (zh) * 2014-03-18 2017-05-17 北京工业大学 一种基于工作流吞吐量最大化的工作流调度方法
CN104298536A (zh) * 2014-10-09 2015-01-21 南京大学镇江高新技术研究院 基于动态调频调压技术的数据中心节能调度方法
CN107861606A (zh) * 2017-11-21 2018-03-30 北京工业大学 一种通过协调dvfs和任务映射的异构多核功率封顶方法
CN109561148B (zh) * 2018-11-30 2021-03-23 湘潭大学 边缘计算网络中基于有向无环图的分布式任务调度方法
CN111722907B (zh) * 2020-05-20 2024-01-19 中天通信技术有限公司 基于dvfs的数据中心映射方法、装置及存储介质
CN111858463B (zh) * 2020-07-17 2024-04-02 上海科技大学 一种基于dvfs的优化重配置方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101271406A (zh) * 2008-02-22 2008-09-24 浙江大学 嵌入式系统rm低功耗调度中松弛时间在线重分配方法
CN101303657A (zh) * 2008-06-13 2008-11-12 上海大学 一种多处理器实时任务执行功耗优化方法
CN102207769A (zh) * 2011-05-24 2011-10-05 东北大学 一种基于静态电压调度的dvs系统的能量优化方法
CN102360246A (zh) * 2011-10-14 2012-02-22 武汉理工大学 一种异构分布式系统中基于自适应阈值的节能调度方法
CN102508708A (zh) * 2011-11-30 2012-06-20 湖南大学 基于改进遗传算法的异构多核节能任务调度方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101271406A (zh) * 2008-02-22 2008-09-24 浙江大学 嵌入式系统rm低功耗调度中松弛时间在线重分配方法
CN101303657A (zh) * 2008-06-13 2008-11-12 上海大学 一种多处理器实时任务执行功耗优化方法
CN102207769A (zh) * 2011-05-24 2011-10-05 东北大学 一种基于静态电压调度的dvs系统的能量优化方法
CN102360246A (zh) * 2011-10-14 2012-02-22 武汉理工大学 一种异构分布式系统中基于自适应阈值的节能调度方法
CN102508708A (zh) * 2011-11-30 2012-06-20 湖南大学 基于改进遗传算法的异构多核节能任务调度方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种面向同构集群系统的并行任务节能调度优化方法;李新等;《计算机学报》;20120331;第591至第601页 *

Also Published As

Publication number Publication date
CN103235640A (zh) 2013-08-07

Similar Documents

Publication Publication Date Title
CN103235640B (zh) 一种基于dvfs技术的大规模并行任务节能调度方法
Tang et al. An energy-efficient task scheduling algorithm in DVFS-enabled cloud environment
Wang et al. Towards energy aware scheduling for precedence constrained parallel tasks in a cluster with DVFS
Huang et al. Enhanced energy-efficient scheduling for parallel applications in cloud
US8806491B2 (en) Thread migration to improve power efficiency in a parallel processing environment
Zidenberg et al. Multiamdahl: How should i divide my heterogenous chip?
US20180314308A1 (en) Work Load Scheduling For Multi Core Systems With Under-Provisioned Power Delivery
Thaman et al. Green cloud environment by using robust planning algorithm
Li et al. Fast and energy-aware resource provisioning and task scheduling for cloud systems
Alonso et al. DVFS-control techniques for dense linear algebra operations on multi-core processors
CN103455131B (zh) 一种基于概率的嵌入式系统中能耗最小化的任务调度方法
Albers et al. On multi-processor speed scaling with migration
CN109298918A (zh) 一种基于线性规划的并行任务节能调度方法
CN106293003A (zh) 一种基于aov网关键路径查询的异构系统动态功耗优化方法
Mezmaz et al. A bi-objective hybrid genetic algorithm to minimize energy consumption and makespan for precedence-constrained applications using dynamic voltage scaling
Teng et al. An energy-efficient vm placement in cloud datacenter
Huang et al. Energy optimization for deadline-constrained parallel applications on multi-ecu embedded systems
Tang et al. An efficient energy scheduling algorithm for workflow tasks in hybrids and DVFS-enabled cloud environment
Fan et al. An energy-efficient dynamic scheduling method of deadline-constrained workflows in a cloud environment
Wang et al. Power aware scheduling for parallel tasks via task clustering
CN107370783A (zh) 一种云计算集群资源的调度方法及装置
CN108304253A (zh) 基于缓存感知和数据本地性的map任务调度方法
Kling et al. Profitable scheduling on multiple speed-scalable processors
Chan Big data analytics for drug discovery
Zhang et al. Performance-aware energy-efficient virtual machine placement in cloud data center

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160113

Termination date: 20170108