CN103399626B - 面向混合计算环境的功耗感知的并行应用调度系统及方法 - Google Patents

面向混合计算环境的功耗感知的并行应用调度系统及方法 Download PDF

Info

Publication number
CN103399626B
CN103399626B CN201310303675.9A CN201310303675A CN103399626B CN 103399626 B CN103399626 B CN 103399626B CN 201310303675 A CN201310303675 A CN 201310303675A CN 103399626 B CN103399626 B CN 103399626B
Authority
CN
China
Prior art keywords
task
processing unit
dvs
time
groups
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310303675.9A
Other languages
English (en)
Other versions
CN103399626A (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.)
State Grid Corp of China SGCC
Electric Power Research Institute of State Grid Shandong Electric Power Co Ltd
Original Assignee
State Grid Corp of China SGCC
Electric Power Research Institute of State Grid Shandong Electric Power Co Ltd
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 State Grid Corp of China SGCC, Electric Power Research Institute of State Grid Shandong Electric Power Co Ltd filed Critical State Grid Corp of China SGCC
Priority to CN201310303675.9A priority Critical patent/CN103399626B/zh
Publication of CN103399626A publication Critical patent/CN103399626A/zh
Application granted granted Critical
Publication of CN103399626B publication Critical patent/CN103399626B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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

  • Power Sources (AREA)

Abstract

本发明公开了面向混合计算环境的功耗感知的并行应用调度系统及方法,所述系统包括用户层、调度层和资源层,所述用户层将用户请求传输给调度层,所述调度层将执行任务及其所需数据传输给资源层,所述调度层包括解析模块、任务聚类模块、处理单元选择分析模块和任务分配模块,所述解析模块的解析结果传输给任务聚类模块,所述任务聚类模块的聚类结果传输给处理单元选择分析模块,所述处理单元选择分析模块包括时间计算模块和功耗计算模块,其选择分析的结果传输给任务分配模块,所述资源层包括若干个DVS处理单元和若干个non-DVS处理单元。它具有调度目标为在最小化应用执行时间的前提下,兼顾系统的DVS和non-DVS混合特性并尽可能大地降低应用的执行能耗的优点。

Description

面向混合计算环境的功耗感知的并行应用调度系统及方法
技术领域
本发明涉及高性能计算软件节能技术领域,尤其涉及一种面向混合计算环境的功耗感知的并行应用调度系统及方法。
背景技术
随着计算机硬件成本大幅降低和Linux集群优势日益突出,高性能计算系统部署规模越来越大,但其对能源的巨大消耗也远远超过了人们的想象。据统计,一个每秒运行10亿次的超级计算中心的电费每年近400万元;一台服务器3年内所消耗掉的电量成本可能会超过服务器当初的采购成本。耗电量的增加,不但带来运行成本的增加,而且直接因为设备温度的增加造成器件寿命的缩短,使计算机的可靠性降低。根据保护国际(CI)的数据,400万元的用电量相当于每年向大气排放约5500吨的二氧化碳。因此,无论从经济、技术还是环境角度,有效的功耗管理将是高性能计算领域迫切需要解决的问题。
高性能计算领域的功耗管理主要集中在CPU,因为其承担的计算任务往往都是超出常规的海量计算。为解决CPU的高功耗问题,动态电压调整(DVS)是有效功耗设计的主要方向。DVS是根据处理单元工作状态调整功耗的有效方式:CMOS电路中供应电压的降低导致功耗的平方下降。异构体系结构是万万亿次级计算硬件的基础,可最大限度发挥并行处理的优势,但由于其资源计算能力和通信带宽的差异又增加了应用执行的复杂性。就功耗感知设计来说,异构系统的处理单元可能支持DVS技术(记为DVS处理单元),也有部分遗留处理单元不支持DVS技术(记为non-DVS处理单元)。本发明称这种既拥有DVS处理单元又拥有non-DVS处理单元的异构计算环境为混合DVS/non-DVS计算环境。
并行应用是高性能计算环境下典型的应用模型,其属于任务之间存在数据依赖的优先约束应用。以往并行应用调度方法主要集中在传统的调度指标,如最小化完成时间,最小化执行成本,负载均衡等,近来大家开始将兴趣转向调度中的功耗管理。功耗感知的调度是指在调度过程中考虑通过DVS和动态电源管理(DPM)等系统层节能手段降低应用执行所消耗的能量,即将能耗作为调度的评价指标之一。动态电源管理(DPM)主要通过关闭空闲的处理单元或者使处理单元处于休眠状态来降低由泄漏电流引起的静态能耗。
功耗感知的调度最早是无线传感器网络、嵌入式系统、移动系统需要考虑的主要问题,因为它们靠电池供电,不是一直有充足的电源供应。不同于以往领域,高性能计算系统功耗感知的调度不仅要节省应用消耗的电能,还要保证其调度性能的不降低或者最小降低。按照调度应用的不同,功耗感知的调度分为面向独立任务的调度和面向优先约束应用的调度。面向独立任务的功耗感知调度方法已被广泛提出,包括时间限制的能耗优化调度,能耗限制的时间优化调度,兼顾时间和能耗优化的调度和考虑静态能耗的调度等。国内面向独立任务的功耗感知调度主要针对基于DVS技术的独立周期性任务集合。优先约束应用一般抽象为依赖任务图,细分为控制依赖任务图和数据依赖任务图。面向控制依赖任务的调度完全不涉及任务之间的数据传输,其功耗感知调度目前已得到较完美的解决。
面向数据依赖任务的部分功耗感知调度方法在满足用户需求的同时很好地提高了系统的能耗有效性,但是仍存在一些局限性:
(1)多数方法要么单纯考虑支持DVS的系统,要么单纯考虑不支持DVS的系统,很少考虑混合DVS/non-DVS系统的调度。即使部分方法兼顾了系统的DVS/non-DVS混合性,但其面向具有到达时间、时间期限和利用率限制的独立实时任务,而非存在数据依赖的并行应用。
(2)多数方法忽略了通信能耗的优化或者通信时间段内计算能耗的进一步降低。以高性能计算为基础的现代科学领域是一个以数据为中心、计算密集、分析密集以及可视化密集的领域,如生物信息学、环境科学、天文学等,因此,高性能计算环境应更强调数据依赖和通信能耗的重要性。
(3)多数方法未考虑处理单元的静态能耗优化。随着芯片微型化和多核技术的发展,泄漏电流引起的静态能耗由于单位工艺尺寸内电子组件数的增加而呈指数增长。
发明内容
本发明的目的就是为了解决上述问题,提供一种面向混合计算环境的功耗感知的并行应用调度系统及方法,它具有调度目标为在最小化应用执行时间的前提下,兼顾系统的DVS和non-DVS混合特性并尽可能大地降低应用的执行能耗,不仅包括任务执行时的计算能耗、通信能耗,还包括通信时间段和空闲时间段的静态能耗的优点。
为了实现上述目的,本发明采用如下技术方案:
面向混合计算环境的功耗感知的并行应用调度系统,包括用户层、调度层和资源层,所述用户层将用户请求传输给调度层,所述调度层将执行任务及其所需数据传输给资源层,所述调度层包括解析模块、任务聚类模块、处理单元选择分析模块和任务分配模块,所述解析模块的解析结果传输给任务聚类模块,所述任务聚类模块的聚类结果传输给处理单元选择分析模块,所述处理单元选择分析模块包括时间计算模块和功耗计算模块,其选择分析的结果传输给任务分配模块,所述资源层包括若干个DVS处理单元和若干个non-DVS处理单元。
所述用户层负责提交用户应用。
所述调度层负责解析用户提交的应用、集成调度方法,并根据调度目标尽量为各个任务选择最佳处理单元。
所述资源层负责具体执行任务和数据传输。
所述解析模块负责将并行应用划分为单个的任务、对象和数据依赖。
所述任务聚类模块负责将任务划分为若干个任务组、确定处理单元数目和应用整体执行时间,并达到降低通信时间和通信能耗的目的。
所述处理单元选择分析模块负责确定聚类得到的任务组应该被放置到DVS处理单元还是non-DVS处理单元上。本发明调度目标涉及时间和功耗指标,因此处理单元选择分析模块包括时间计算模块和功耗计算模块。
所述时间计算模块用于计算处理单元选择过程中各个任务的执行时间,以及任务组内任务之间的空闲时间和通信时间等。
所述功耗计算模块用于计算处理单元选择过程中各个任务的计算能耗、通信和空闲时间段内的静态能耗,以及执行DPM技术的实施能耗等。鉴于同一个任务组无论放置到DVS处理单元还是non-DVS处理单元上,任务之间的通信能耗相同,故本发明中的通信能耗忽略计算。
所述任务分配模块负责将任务组分配到相应的处理单元,并执行对应的系统层节能技术。
所述DVS处理单元和non-DVS处理单元负责具体执行任务,其中DVS处理单元具有动态调节电压的功能,non-DVS处理单元可实施有条件的关闭或休眠。
上述系统所采用的调度方法,主要包括如下步骤:
步骤(1):用户层的用户提交并行应用;调度层的解析模块将并行应用解析为单个的任务、对象和数据依赖;任务聚类模块进行任务聚类,将任务划分成若干个任务组,并决定处理单元数目和应用的最小完成时间;
步骤(2):处理单元选择分析模块对处理单元进行选择,功耗计算模块根据调度目标对功耗进行计算,时间计算模块根据调度目标对时间指标进行计算,分析每个任务组适合分配的处理单元类型,并考虑某类处理单元资源有限时的情形,以实现处理单元的选择;所述处理单元类型包括DVS处理单元和non-DVS处理单元;
步骤(3):任务分配模块执行任务分配:分配到DVS处理单元的任务组,DVS处理单元执行DVS技术;分配到non-DVS处理单元的任务组,non-DVS处理单元实施DPM技术;资源层的处理单元根据DVS和DPM分析结果具体执行任务,同时网络资源传输所需数据。
所述步骤(1)中的任务聚类方法包括DSC和CASS-II。
所述步骤(1)中任务聚类的输入为并行应用和混合系统,具体流程如下:
步骤(11):从并行应用的入口开始为每个任务计算参数top值,其含义为当前任务Ti到入口任务Tin的最大距离:
top i = 0 T i = T in max { top j + t j + t ji } , e ji ∈ ϵ otherwise - - - ( 5 )
步骤(12):从下到上逐步聚类,直至入口任务Tin:从出口任务Tout开始,依次为每个任务计算参数bottom值,其含义为当前任务Tj到出口任务Tout的最大距离:
bottom j = t j T j = T out max { bottom i + t ji + t j } , e ji ∈ ϵ otherwise - - - ( 6 )
若某任务所有后继的bottom值计算完成,则标记该任务为当前任务,其中决定当前任务bottom值的直接后继称为主导后继;
计算所有当前任务的优先级pri=topi+bottomi,选择pr值最大的当前任务与其主导后继所在的任务组进行试合并:若当前任务组中所有任务的bottom值均不增加,则实施合并;否则,该任务单独成组。
任务聚类结束,输出值为聚类后的任务分组及最小执行时间ms。
所述步骤(2)包括以下操作内容:
步骤(21):任务之间存在优先约束关系,则任务聚类后某些任务会存在松弛时间,某些任务组内会存在空闲时间;根据步骤(1)的聚类结果,确定任务类型为关键任务还是非关键任务,并找出任务组内的通信时间段和空闲时间段;所述关键任务是指决定应用最小完成时间的任务;
步骤(22):分析并形式化DVS和DPM技术的实施方法及条件;
步骤(23):处理单元选择分析模块根据处理单元选择的原则对处理单元进行选择;所述处理单元选择的原则如下:
如果任务组内为关键任务,选择non-DVS处理单元;
如果任务组内有非关键任务或者通信时间段,选择DVS处理单元;
如果任务组内不仅有非关键任务或通信时间段,还有空闲时间段,且空闲时间长度不满足DPM执行条件,选择DVS处理单元;
如果任务组内不仅有非关键任务或通信时间段,还有空闲时间段,且空闲时间长度满足DPM执行条件,则进入步骤(24)分情况讨论;
步骤(24):针对步骤(23)中需要分情况讨论的任务组,通过对该调度问题形式化并分析找到任务组分别分配到DVS处理单元和non-DVS处理单元时能耗值的大小关系,实现处理单元的选择。
所述步骤(3)中
对分配到DVS处理单元的非关键任务按照操作频率实施电压扩展,将空闲时间段和通信时间段的电压降为最低;
对分配到non-DVS处理单元的任务组的空闲时间段,若其满足DPM的实施条件,则在该段时间将non-DVS处理单元关闭。
所述步骤(21)中需要的几个参数及其形式化定义:
任务最早开始时间:对给定的任务,其最早开始时间是指该任务在不延长应用整体执行时间时最早开始执行的时间,表示如下:
t i est = 0 T i = T in max { t j ct + t ji } , e ji ∈ ϵ otherwise - - - ( 7 )
任务最迟完成时间:对给定的任务,其最迟完成时间是指该任务在不延长应用整体执行时间时最迟应该完成的时间,表示如下:
t i lct = ms T i = T out min { ( t j st - t ij ) , t k st } , e ij ∈ ϵ , P ( T i ) = P ( T k ) otherwise - - - ( 8 )
其中任务Tj为任务Ti的后继任务,任务Tk为任务Ti的虚后继任务。虚后继任务是指与任务Ti分配到同一处理单元且在任务Ti之后执行的并行任务。
松弛时间:对给定的任务,其只需要在某个时间段内完成而不会影响应用的整体执行时间,则称这段时间为松弛时间,表示如下:
t i slack = t i lct - t i est - - - ( 9 )
关键/非关键任务:对给定的任务,若其决定应用的整体执行时间,称为关键任务;否则,为非关键任务,表示如下:
T i is critical task t i slack = t i non - critical task otherwise - - - ( 10 )
所述步骤(22)的具体步骤如下:
对非关键任务,在非关键任务的松弛时间内对频率/电压实施扩展,降低其计算能耗且不影响应用的整体执行时间;
在空闲阶段,若关闭处理单元所节省的能耗,既能抵消关闭处理单元所需的时间,又能弥补关闭处理单元所需的能耗,则满足DPM执行的条件;
对DVS技术,实施方法为将任务运行的频率/电压扩展,通过控制操作频率,确定实施DVS的频率值;
对给定的非关键任务,所述操作频率是指当其既能够最小化应用的执行时间又能够最大程度地减少应用执行能耗时的运行频率,表示如下:
f i slack = f H t i / t i slack - - - ( 11 )
对DPM技术,实施方法为将空闲时间段关闭,通过使空闲时间大于空闲时间阈值的方法满足降低执行能耗且不延长执行时间的要求,从而保证抵消实施DPM的时间和能耗成本;所述空闲时间阈值的求解方法:
tthreshold=max{t′,e′/ps}(12)
其中e′/ps为处理单元消耗e′能量所需的最少空闲时间。
所述步骤(24)中对混合计算环境下的调度问题形式化,找到任务组分别分配到DVS处理单元和non-DVS处理单元时能耗值的大小关系,进行处理单元选择,具体处理单元的选择依据如下:
步骤(241):通过步骤(21)的分析知,任务组中存在关键任务、非关键任务、通信阶段和空闲阶段;首先计算当任务组被分别分配给non-DVS处理单元与DVS处理单元时,其对应的非关键任务、通信阶段、空闲阶段,以及任务组除去非关键任务、关键任务、通信阶段和空间阶段后的剩余环节所消耗的能耗差的大小,分别记为z1,z2,z3,z4
步骤(242):如果z4≥0,那么任务组放到DVS处理单元;如果z4<0,还要考虑公式(23)是否成立,如果公式(23)成立那么该任务组被分配给non-DVS处理单元,如果公式(23)不成立,那么该任务组被分配给DVS处理单元;
当任务组被分别分配给non-DVS处理单元与DVS处理单元时,其非关键任务所消耗的能耗差z1计算方法如下:
z 1 = p H Σ i = 1 I t nc i - Σ i = 1 I p slack i t i slack > 0 - - - ( 19 ) ;
当任务组被分别分配给non-DVS处理单元与DVS处理单元时,其通信阶段所消耗的能耗差z2的计算方法如下:
z 2 = p s H Σ j = 1 J t comm j - p s 1 Σ j = 1 J 1 t comm j > 0 - - - ( 20 ) ;
当任务组被分别分配给non-DVS处理单元与DVS处理单元时,其空闲阶段所消耗的能耗差z3的计算方法如下:
z 3 = p s H Σ k = 1 K 2 t idle k - p s 1 Σ k = 1 K 2 t idle ′ k > 0 - - - ( 21 )
当任务组被分别分配给non-DVS处理单元与DVS处理单元时,任务组除去非关键任务、关键任务、通信阶段和空间阶段后的剩余环节所消耗的能耗差z4的计算方法如下:
z 4 = e ′ K 1 - p s 1 Σ k = K 2 + 1 K t idle ′ k - - - ( 22 )
公式(23)为:
p s 1 Σ k = K 2 + 1 K t idle ′ k ≥ ( z 1 + z 2 + z 3 + e ′ K 1 ) - - - ( 23 ) .
所述步骤(24)的公式的推导过程如下:
分配变量xi定义为:
x i = 0 cluster C i is assigned to non - DVSPE 1 cluster C i is assigned to DVSPE - - - ( 13 )
则调度问题形式化为:
min Σ i = 1 R ( E i ′ ( 1 - x i ) + E i x i ) - - - ( 14 )
其中E′i是组Ci分配到non-DVS处理单元时的能耗值,Ei是组Ci分配到DVS处理单元时的能耗值。一种特殊情况为:若处理单元数目有限,则优先选择优先级别高的任务组放置到其最佳处理单元类型上。任务组的优先级定义为:
Pri=|E′i-Ei|(15)
下面给出E′i和Ei的计算方法。假设对某个任务组,其具有I个非关键任务,J个通信阶段,K个空闲阶段,Y个关键任务,其对应的时间长度分别表示为其中空闲阶段按照空闲时间长度的非降序排列,即初始能耗表示为:
E init = p H ( Σ i = 1 I t nc i + Σ y = 1 Y t c y ) + p s H ( Σ j = 1 J t comm j + Σ k = 1 K t idle k ) - - - ( 16 )
其中pH分别表示最高电压时的功耗和静态功耗值。
若将任务组放至non-DVS处理单元且满足tidle>tthreshold的空闲阶段数目为K1,则处理单元可在K1个时间段内关闭,则能耗值变为:
E ′ = p H ( Σ i = 1 I t nc i + Σ y = 1 Y t c y ) + e ′ K 1 + p s H ( Σ j = 1 J t comm j + Σ k = 1 K - K 1 t idle k ) - - - ( 17 )
若将任务组放至DVS处理单元,在空闲和通信时间段,降低频率/电压至最低;对非关键任务按照公式(11)调整频率,则能耗值变为:
E = Σ i = 1 I ( p slack i t i slack ) + p s 1 ( Σ j = 1 J 1 t comm j + Σ k = 1 K t idle ′ k ) + p H Σ y = 1 Y t c y - - - ( 18 )
其中是非关键任务在操作频率时的功耗值,是最低频率/电压时的静态功耗值。当然,松弛非关键任务会覆盖部分通信和空闲时间。由后继任务等待数据到达引起的非关键任务会覆盖通信阶段,因此,在公式(18)中通信阶段的个数变为J1且J1<J。由具有相同后继的并行任务同步引起的非关键任务,其作为数据发送者会占据部分空闲时间,因此,公式(18)使用表示空闲时间且 t idle ′ k ≤ t idle k .
至于空闲阶段的数目,执行DVS后与执行DVS前是相同的,这是因为任务执行过程中不存在空闲阶段,空闲阶段只出现在任务组的开始或结束,这与最小化应用执行时间的原则是一致的。由此推出,对每个任务组k≤2是成立的。
根据公式(17)和(18),寻找(E′-E)的规律。对关键任务,无论其被分配到DVS还是non-DVS处理单元,能耗值均是相同的。从公式(11),即p=(1+β)cv2f和推知,对非关键任务:
z 1 = p H Σ i = 1 I t nc i - Σ i = 1 I p slack i t i slack > 0 - - - ( 19 )
对通信阶段,由且J1<J得知:
z 2 = p s H Σ j = 1 J t comm j - p s 1 Σ j = 1 J 1 t comm j > 0 - - - ( 20 )
对空闲阶段,其中K2=K-K1个不满足DPM实施条件,可推出:
z 3 = p s H Σ k = 1 K 2 t idle k - p s 1 Σ k = 1 K 2 t idle ′ k > 0 - - - ( 21 )
对(E′-E)的最后一部分,表示为:
z 4 = e ′ K 1 - p s 1 Σ k = K 2 + 1 K t idle ′ k - - - ( 22 )
因此,若一个任务组被分配给non-DVS处理单元,满足DPM条件的空闲时间一定符合:
p s 1 Σ k = K 2 + 1 K t idle ′ k ≥ ( z 1 + z 2 + z 3 + e ′ K 1 ) - - - ( 23 )
即只要左边小于右边的任何一项,该组任务即可被分配到DVS处理单元上。
本发明的有益效果:
1本发明面向并行应用,并创新性地兼顾了系统的DVS/non-DVS混合性;
2使用DSC和CASS-II方法对并行应用实施任务聚类,保证应用执行时间的最小化和通信成本降低;
3通过提出任务组优先级的概念,将调度方法扩展到某类处理单元资源紧张的情况,有效证明了本方法的通用性;
4本发明在计算参数任务开始时间和最迟完成时间时,不仅如以往方法一样考虑了前驱任务或后继任务的影响,还兼顾了与其分配到同一处理单元的并行任务的制约,使其更精确地确定了任务组中的关键/非关键任务,以最大程度地接近最优解;
5对给定的应用,鉴于空闲阶段的数目最多为2,该调度方法可快速地判定任务组应该被分配给哪类处理单元,尤其是对固定参数的系统,因为其关系可通过简单的实验得出;
6通过DVS和DPM技术,本发明不仅降低了任务执行的动态能耗,而且兼顾了静态能耗,因此不论任务组分配到哪类处理单元上,均可以适时降低其整体能耗。
附图说明
图1为本发明的系统框图;
图2为本发明的流程图;
图3为一个并行应用实例的示意图;
图4为图3给定实例的任务聚类结果图;
图5为图3给定实例的调度结果图。
具体实施方式
下面结合附图与实施例对本发明作进一步说明。
首先建立混合计算环境下并行应用的功耗感知调度所需的系统模型,该模型包括:混合DVS/non-DVS计算系统模型,并行应用模型和功耗模型。
混合DVS/non-DVS计算系统考虑与调度方法关联密切的处理单元和网络资源,模型描述为:混合DVS/non-DVS计算系统由DVS处理单元和non-DVS处理单元组成,形式化为,其中Pl和P′m分别表示DVS和non-DVS处理单元;
所有DVS处理单元同构,每个处理单元有H个离散电压,表示为{v1...vH},其对应的时钟频率和执行速度表示为{f1...fH}和{s1...sH};每个处理单元可单独调节电压,电压/频率转换的成本不计;关闭或打开DVS处理单元则消耗巨大的时间和能耗成本,表示为t=∞,e=∞;
所有non-DVS处理单元同构,每个处理单元具有固定的电压v′、频率f′和速度s′,为简化模型,设定其值为v′=vH,f′=fH,s′=sH;non-DVS处理单元有三种状态:活动、空闲和关闭;处理单元处于活动状态,消耗计算能耗,包括动态能耗和静态能耗;处理单元没有任务执行时,处于空闲状态,消耗静态能耗;关闭状态时不消耗任何能耗,但关闭和开启处理单元需要耗费定量的时间和能耗,记为t′和e′;
所有处理单元通过网络资源连接,其数据传输速度为b(Mb/s),单位数据通信功耗为pc(J/Mb);在数据传输过程中,并行应用消耗网络资源的通信能耗,同时,作为数据发送方或接收方的空闲处理单元消耗静态能耗。
并行应用是任务之间存在数据依赖的优先约束应用,可抽象为有向无环图DAG,模型形式化描述为:,其中为任务集合,为数据依赖集合;
若两个任务Ti,Tj之间存在数据传输(Ti,Tj),任务Ti称为任务Tj的前驱,任务Tj称为任务Ti的后继;没有任何前驱的节点为入口任务Tin,没有任何后继的任务为出口任务Tout;每个任务Ti,i=1...N由多条指令组成,任务大小表示为qi(MillionInstructions);每条边eij=(Ti,Tj)的数据传输量记为dij(Mb);模型定义几个常用的参数,包括任务执行时间、数据传输时间tij、任务开始时间和任务完成时间
任务执行时间:对给定任务其执行时间为当任务Ti运行在某电压等级vj时的计算时间,表示如下:
t i j = q i / s j - - - ( 1 )
在确定具体电压等级之前,任务Ti的初始执行时间设定为ti=qi/sH
数据传输时间:对给定边eij=(Ti,Tj),其数据传输时间为当数据从处理单元P(Ti)传输到P(Tj)的时间,其中P(Ti)和P(Tj)分别表示执行任务Ti和Tj的处理单元,表示如下:
t ij = 0 P ( T i ) = P ( T j ) d ij / b otherwise - - - ( 2 )
任务开始时间:对给定任务,其开始时间为任务Ti的所有前驱任务或虚前驱任务均执行完毕且所需数据都完备的时间,表示如下:
t i st = 0 T i = T in max { ( t j ct + t ji ) , t k ct } , e ji ∈ ϵ , P ( T k ) = P ( T i ) otherwise - - - ( 3 )
其中为任务Tj和Tk的完成时间,任务Tj为任务Ti的前驱任务,任务Tk为任务Ti的虚前驱任务;虚前驱任务是指与任务Ti分配到同一处理单元且在任务Ti之前执行的并行任务;
任务完成时间:对给定任务,其完成时间为任务Ti完成的时间,表示如下:
t i ct = t i st + t i - - - ( 4 )
处理单元的功耗分为动态功耗和静态功耗,动态功耗由电容充放电引起,静态功耗主要由泄露电流引起,模型描述为:动态功耗表示为pd=cv2f,其中c是开关电容,v是供应电压,f是时钟频率;静态功耗表示为ps=Lg(vIsubn+|vbs|Ij),其中Lg是电路中组件的数目,Isubn是亚阈值泄露电流,vbs是偏置电压,Ij是PN结反向电流;静态功耗与动态功耗的关系表示为ps=βpd,其中β是比例因子且0<β<1;
对运行在电压等级vj的任务,其计算能耗表示为;对给定的数据依赖eij∈ε,数据从处理单元P(Ti)传输到P(Tj),其通信能耗表示为Eij=pcdij;当传输数据时,若处理单元P(Ti)或P(Tj)空闲,其消耗的静态能耗表示为,其中ps为处理单元所在电压等级的静态功耗。
如图1所示,面向混合计算环境的功耗感知的并行应用调度系统,包括用户层、调度层和资源层,所述用户层将用户请求传输给调度层,所述调度层将执行任务及其所需数据传输给资源层,所述调度层包括解析模块、任务聚类模块、处理单元选择分析模块和任务分配模块,所述解析模块的解析结果传输给任务聚类模块,所述任务聚类模块的聚类结果传输给处理单元选择分析模块,所述处理单元选择分析模块包括时间计算模块和功耗计算模块,其选择分析的结果传输给任务分配模块,所述资源层包括若干个DVS处理单元和若干个non-DVS处理单元。
所述用户层负责提交用户应用。
所述调度层负责解析用户提交的应用、集成调度方法,并根据调度目标尽量为各个任务选择最佳处理单元。
所述资源层负责具体执行任务和数据传输。
所述解析模块负责将并行应用划分为单个的任务、对象和数据依赖。
所述任务聚类模块负责将任务划分为若干个任务组、确定处理单元数目和应用整体执行时间,并达到降低通信时间和通信能耗的目的。
所述处理单元选择分析模块负责确定聚类得到的任务组应该被放置到DVS处理单元还是non-DVS处理单元上。本发明调度目标涉及时间和功耗指标,因此处理单元选择分析模块包括时间计算模块和功耗计算模块。
所述时间计算模块用于计算处理单元选择过程中各个任务的执行时间,以及任务组内任务之间的空闲时间和通信时间等。
所述功耗计算模块用于计算处理单元选择过程中各个任务的计算能耗、通信和空闲时间段内的静态能耗,以及执行DPM技术的实施能耗等。鉴于同一个任务组无论放置到DVS处理单元还是non-DVS处理单元上,任务之间的通信能耗相同,因此,本发明中的通信能耗忽略计算。
所述任务分配模块负责将任务组分配到相应的处理单元,并执行对应的系统层节能技术。
所述DVS处理单元和non-DVS处理单元负责具体执行任务,其中DVS处理单元具有动态调节电压的功能,non-DVS处理单元可实施有条件的关闭或休眠。
如图2所示,上述系统所采用的调度方法,主要包括如下步骤:
步骤(1):用户层的用户提交并行应用;调度层的解析模块将并行应用解析为单个的任务、对象和数据依赖;任务聚类模块进行任务聚类,将任务划分成若干个任务组,并决定处理单元数目和应用的最小完成时间;
步骤(2):处理单元选择分析模块对处理单元进行选择,功耗计算模块根据调度目标对功耗进行计算,时间计算模块根据调度目标对时间指标进行计算,分析每个任务组适合分配的处理单元类型,并考虑某类处理单元资源有限时的情形,以实现处理单元的选择;所述处理单元类型包括DVS处理单元和non-DVS处理单元;
步骤(3):任务分配模块执行任务分配:分配到DVS处理单元的任务组,DVS处理单元执行DVS技术;分配到non-DVS处理单元的任务组,non-DVS处理单元实施DPM技术;资源层的处理单元根据DVS和DPM分析结果具体执行任务,同时网络资源传输所需数据。
如图2所示,调度方法的步骤如下:
步骤(a):用户提交并行应用,将并行应用解析为单个的任务、对象和数据依赖,任务聚类;
步骤(b):分析任务聚类结果,将任务划分为关键任务和非关键任务,并确定空闲时间段和通信时间段;分析并形式化DVS和DPM技术的实施方法及条件;
步骤(c):判断是否满足提出的处理单元选择原则的前三条,如果是就确定任务组所在的处理单元类型;如果否就进一步对调度问题进行形式化分析与计算,再确定任务组所在的处理单元类型;
步骤(d):任务分配,处理单元执行任务,网络资源传输数据。
所述步骤(1)中的任务聚类是并行和分布式系统中减少通信成本的有效方法;经典的无复制任务聚类方法有MCP,DSC和CASS-II;DSC和CASS-II方法性能较优,分别适用于不同粒度大小的应用;本发明结合DSC和CASS-II对并行应用实施聚类。
(1)为保证应用执行时间的最小化和通信成本降低,结合使用DSC和CASS-II方法对并行应用实施任务聚类。
所述步骤(2)为该方法的核心步骤,其进一步包括以下操作内容:
(21)根据步骤(1)的聚类结果,确定任务类型为关键任务还是非关键任务,并找出任务组内的通信时间段和空闲时间段;关键任务是指决定应用最小完成时间的任务;
(22)分析并形式化DVS和DPM技术的实施方法及条件;
(23)判断任务组内任务类型、通信时间和空闲时间数目和长度,是否满足所提出的处理单元选择原则的前三条(任务组内只有关键任务,优先选择non-DVS处理单元;任务组内有非关键任务或者通信时间段,优先选择DVS处理单元;任务组内不仅有非关键任务或通信时间段,还有空闲时间段,且空闲时间长度不满足DPM执行条件,优先选择DVS处理单元),若满足,则直接确定处理单元类型;
(24)若不满足,则按照形式化公式分情况讨论后确定处理单元类型;为提高本发明的通用性,通过提出任务组优先级的概念,将调度方法扩展到某类处理单元资源紧张的情况。
所述步骤(3)中的任务分配,对分配到DVS处理单元的非关键任务按照操作频率实施电压扩展,将空闲时间段和通信时间段的电压降为最低;对分配到non-DVS处理单元的任务组的空闲时间段,若其满足DPM的实施条件,则在该段时间将处理单元关闭。
对调度方法中的并行应用,解析后通常采用有向无环图DAG来表示。图3是一个简单的DAG任务图,以图3为实施例,每个节点代表一个任务,节点之间的边表示任务之间的数据依赖,其中节点和边的权值分别表示任务在最高电压运行时的执行时间和数据传输时间。
混合计算系统由DVS和non-DVS处理单元构成。针对图3实例,假定混合系统由2个DVS处理单元和2个non-DVS处理单元构成,其参数值参照TurionMT-34处理器的性能。
下表给出该处理单元的电压-频率值,作为调度实例的输入参数之一。
表1电压-频率值
等级 频率(GHz) 电压(V)
0 1.8 1.20
1 1.6 1.15
2 1.4 1.10
3 1.2 1.05
4 1.0 1.00
5 0.8 0.90
设定开关电容值为c=18pF;静态功耗与动态功耗的比例因子值为β=0.3,其增加了静态功耗的比例。由功耗模型和上述参数值计算可知:最大功耗值其中静态功耗值 p s H ≅ 14 w ; 最小功耗值 p 1 = ( 1 + β ) cv 1 2 f 1 ≅ 15.2 w , 其中静态功耗值 p s 1 ≅ 3.5 w . 设定执行DPM技术的时间和能耗成本分别为t′=1s,e′=6J,则DPM的阈值为tthreshold=max{1,6/14}=1s。设定通信资源的通信功耗为pc=1.5J/Mb,数据传输速度为b=100Mbps。上述参数通过对CPU和网络资源的简单仪器测量和软件测试获取,具有较好的代表性。
针对该实例,调度方法的实施步骤如下:
(1)任务聚类
表2任务聚类
上表具体描述了任务聚类方法的过程,由此可知该实例形成三个任务组,分别为C1{n1,n2,n7},C2{n4,n3,n6},C3{n5},且该实例的最短执行时间为ms=8。图4给出图3实例执行任务聚类后的结果图。任务名称标注部分表示处理单元正在执行任务;用箭头连接两个任务部分表示处理单元正在发送或接收数据,如第二个处理单元的数据传输时间为tcomm=0.5+0.5+2.5=3.5,第三个处理单元的数据传输时间为tcomm=1;空白部分表示处理单元处于空闲状态,如第二个和第三个处理单元的空闲时间分别为tidle=8-6.5=1.5和tidle=8-3=5。
(2)处理单元选择
首先计算参数值:任务执行时间,任务最早开始时间,任务最迟完成时间和任务松弛时间(见下表),确定任务组中的关键任务和非关键任务。
表3任务最迟完成时间和任务松弛时间
由关键任务和非关键任务的定义知,任务n1,n2,n5,n7为关键任务,任务n3,n4,n6为非关键任务。
根据本发明提出的处理单元选择原则知,任务组C1{n1,n2,n7}内均为关键任务,宜选择non-DVS处理单元;任务组C2{n4,n3,n6}兼有非关键任务、通信时间和空闲时间,且空闲时间长度满足DPM执行条件,宜用公式求解;任务组C3{n5}兼有关键任务、通信时间和空闲时间,且空闲时间长度满足DPM执行条件,宜用公式求解。
对任务组C2{n4,n3,n6},其有三个非关键任务,三个长度分别为0.5s,0.5,2.5s的通信时间段,一个长度为1.5s的空闲时间段。若将其放于non-DVS处理单元,空闲时间时执行DPM技术,可节省能耗14*1.5-6=15J。若将其放于DVS处理单元,通信时间和空闲时间内可执行DVS技术;三个非关键任务的操作频率为 f 3 slack = f 4 slack = f 6 slack = 1.8 * 1 / 1 . 5 = 1.2 GHz , 则DVS后的三个任务的计算功耗值为pslack=31w。既然处理单元的电压-频率为离散值,若求得的频率值不是给定表中的频率值,则从表中选择比求得频率稍大且最接近一个作为实际操作频率进行电压扩展。将任务n4,n3,n6实施DVS技术后,通信时间仅剩n6→n7,将其频率将为最低,即f=0.8GHz;对空闲时间,也将其频率降为最低。因此,将该任务组放至DVS处理单元的能耗节省为 60.7 * 3 + 14 * 5 - 3 * 1.5 * p slack - p s 1 * ( 2.5 + 1 ) = 100.35 J . 由于100.35>15,任务组C2{n4,n3,n6}宜放于DVS处理单元上。
对任务组C3{n5},其具有一个关键任务,一个长度为1s的通信时间,一个长度为5s的空闲时间。若将其放于non-DVS处理单元,能耗节省为14*5-6=64J。若将其放于DVS处理单元上,能耗节省为由于64>63,故该任务组宜放于non-DVS处理单元上。
确定了三个任务组适合的处理单元类型,计算其相应的优先级分别为Pr1=0,Pr2=100.35-15=85.35,Pr3=64-63=1;系统具有2个DVS处理单元和2个non-DVS处理单元。因此,任务组C2优先选择DVS处理单元,任务组C3优先选择non-DVS处理单元,任务组C1选择non-DVS处理单元。
(3)任务分配
对图3实例实施调度方法后的执行结果见图5所示。任务组C1放于non-DVS处理单元上;任务组C2放于DVS处理单元上,任务n4,n3,n6运行于频率1.2GHz上,通信时间n6→n7和空闲时间运行于频率0.8GHz上;任务组C3放于non-DVS处理单元上,在空闲阶段,该处理单元关闭。
为直观表明各参数的含义,特给出表4以供查阅。
表4参数含义描述
为验证提出方法的有效性,本发明分别使用TGFF工具生成的合成应用和WIEN2K产生的实际负载进行了多次试验。通过与已有方法比较,证明了该方法更适合混合计算环境和数据依赖应用,其任务聚类、DVS和DPM技术的有效融合,极大提高了该方法的能耗节省能力和时间优化能力,实现了发明目的。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

Claims (9)

1.面向混合计算环境的功耗感知的并行应用调度系统,其特征是,包括用户层、调度层和资源层,所述用户层将用户请求传输给调度层,所述调度层将执行任务及其所需数据传输给资源层,所述调度层包括解析模块、任务聚类模块、处理单元选择分析模块和任务分配模块,所述解析模块的解析结果传输给任务聚类模块,所述任务聚类模块的聚类结果传输给处理单元选择分析模块,所述处理单元选择分析模块包括时间计算模块和功耗计算模块,其选择分析的结果传输给任务分配模块,所述资源层包括若干个DVS处理单元和若干个non-DVS处理单元;
所述用户层负责提交用户应用;
所述调度层负责解析用户提交的应用、集成调度方法,并根据调度目标尽量为各个任务选择最佳处理单元;
所述资源层负责具体执行任务和数据传输;
所述解析模块负责将并行应用划分为单个的任务、对象和数据依赖;
所述任务聚类模块负责将任务划分为若干个任务组、确定处理单元数目和应用整体执行时间,并达到降低通信时间和通信能耗的目的;
所述处理单元选择分析模块负责确定聚类得到的任务组应该被放置到DVS处理单元还是non-DVS处理单元上;
所述处理单元选择分析模块包括时间计算模块和功耗计算模块;
所述时间计算模块用于计算处理单元选择过程中各个任务的执行时间,以及任务组内任务之间的空闲时间和通信时间;
所述功耗计算模块用于计算处理单元选择过程中各个任务的计算能耗、通信和空闲时间段内的静态能耗,以及执行动态电源管理DPM技术的实施能耗;动态电源管理DPM技术,通过关闭空闲的处理单元或者使处理单元处于休眠状态来降低由泄漏电流引起的静态能耗;
所述任务分配模块负责将任务组分配到相应的处理单元,并执行对应的系统层节能技术;
所述DVS处理单元和non-DVS处理单元负责具体执行任务,其中DVS处理单元具有动态调节电压的功能,non-DVS处理单元实施有条件的关闭或休眠。
2.如权利要求1所述的面向混合计算环境的功耗感知的并行应用调度系统所采用的调度方法,其特征是,主要包括如下步骤:
步骤(1):用户层的用户提交并行应用;调度层的解析模块将并行应用解析为单个的任务、对象和数据依赖;任务聚类模块进行任务聚类,将任务划分成若干个任务组,并决定处理单元数目和应用的最小完成时间;
步骤(2):处理单元选择分析模块对处理单元进行选择,功耗计算模块根据调度目标对功耗进行计算,时间计算模块根据调度目标对时间指标进行计算,分析每个任务组适合分配的处理单元类型,并考虑某类处理单元资源有限时的情形,以实现处理单元的选择;所述处理单元类型包括DVS处理单元和non-DVS处理单元;
步骤(3):任务分配模块执行任务分配:分配到DVS处理单元的任务组,DVS处理单元执行DVS技术;分配到non-DVS处理单元的任务组,non-DVS处理单元实施DPM技术;资源层的处理单元根据DVS和DPM分析结果具体执行任务,同时网络资源传输所需数据。
3.如权利要求2所述的面向混合计算环境的功耗感知的并行应用调度系统所采用的调度方法,其特征是,所述步骤(1)中的任务聚类方法包括DSC和CASS-II。
4.如权利要求2所述的面向混合计算环境的功耗感知的并行应用调度系统所采用的调度方法,其特征是,所述步骤(1)中任务聚类的输入为并行应用和混合系统具体流程如下:
步骤(11):从任务依赖图的入口开始为每个任务计算参数top值,其含义为当前任务Ti到入口任务Tin的最大距离:
top i = 0 T i = T in max { top j + t j + t ji } , e ji ∈ ϵ otherwise - - - ( 5 )
其中,Ti表示标号为i的任务,Tin表示入口任务,topi表示当前任务Ti到入口任务Tin的最大距离,tj表示任务Tj的初始执行时间;
步骤(12):从下到上逐步聚类,直至入口任务:从出口任务开始,依次为每个任务计算参数bottom值,其含义为当前任务Tj到出口任务Tout的最大距离:
bottom j = t j T j = T out max { bottom i + t ji + t j } , e ji ∈ ϵ otherwise - - - ( 6 )
其中,Tout表示出口任务,bottomi表示当前任务Ti到出口任务Tout的最大距离;
若某任务所有后继的bottom值计算完成,则标记该任务为当前任务,其中决定当前任务bottom值的直接后继称为主导后继;
计算所有当前任务的优先级pri=topi+bottomi,选择pr值最大的当前任务与其主导后继所在的任务组进行试合并:若当前任务组中所有任务的bottom值均不增加,则实施合并;否则,该任务单独成组;
任务聚类结束,输出值为聚类后的任务分组及最小执行时间ms。
5.如权利要求2所述的面向混合计算环境的功耗感知的并行应用调度系统所采用的调度方法,其特征是,所述步骤(2)包括以下操作内容:
步骤(21):任务之间存在优先约束关系,则任务聚类后某些任务会存在松弛时间,某些任务组内会存在空闲时间;根据步骤(1)的聚类结果,确定任务类型为关键任务还是非关键任务,并找出任务组内的通信时间段和空闲时间段;所述关键任务是指决定应用最小完成时间的任务;
步骤(22):分析并形式化DVS和DPM技术的实施方法及条件;
步骤(23):处理单元选择分析模块根据处理单元选择的原则对处理单元进行选择;所述处理单元选择的原则如下:
如果任务组内为关键任务,选择non-DVS处理单元;
如果任务组内有非关键任务或者通信时间段,选择DVS处理单元;
如果任务组内不仅有非关键任务或通信时间段,还有空闲时间段,且空闲时间长度不满足DPM执行条件,选择DVS处理单元;
如果任务组内不仅有非关键任务或通信时间段,还有空闲时间段,且空闲时间长度满足DPM执行条件,则进入步骤(24)分情况讨论;
步骤(24):针对步骤(23)中需要分情况讨论的任务组,通过对该调度问题形式化并分析找到任务组分别分配到DVS处理单元和non-DVS处理单元时能耗值的大小关系,实现处理单元的选择。
6.如权利要求2所述的面向混合计算环境的功耗感知的并行应用调度系统所采用的调度方法,其特征是,所述步骤(3)中
对分配到DVS处理单元的非关键任务按照操作频率实施电压扩展,将空闲时间段和通信时间段的电压降为最低;
对分配到non-DVS处理单元的任务组的空闲时间段,若其满足DPM的实施条件,则在该段时间将non-DVS处理单元关闭。
7.如权利要求5所述的面向混合计算环境的功耗感知的并行应用调度系统所采用的调度方法,其特征是,所述步骤(21)中需要的几个参数及其形式化定义:
任务最早开始时间:对给定的任务其最早开始时间是指该任务在不延长应用整体执行时间时最早开始执行的时间,表示如下:
t i est = 0 T i = T in max { t j ct + t ji } , e ji ∈ ϵ otherwise - - - ( 7 )
其中,表示任务Ti的最早开始时间;tij表示边eij=(Ti,Tj)的数据传输时间;
任务最迟完成时间:对给定的任务其最迟完成时间是指该任务在不延长应用整体执行时间时最迟应该完成的时间,表示如下:
t i lct = ms T i = T out min { ( t j st - t ij ) , t k st } , e ij ∈ ϵ , P ( T i ) = P ( T k ) otherwise - - - ( 8 )
其中,表示任务Ti的最迟完成时间;ms表示任务聚类后求得的应用最小执行时间;tij表示边eij=(Ti,Tj)的数据传输时间;P(Ti)表示执行任务Ti的处理单元;
其中任务Tj为任务Ti的后继任务,任务Tk为任务Ti的虚后继任务;虚后继任务是指与任务Ti分配到同一处理单元且在任务Ti之后执行的并行任务;
松弛时间:对给定的任务其只需要在某个时间段内完成而不会影响应用的整体执行时间,则称这段时间为松弛时间,表示如下:
t i slack = t i lct - t i est - - - ( 9 )
其中,表示任务Ti的松弛时间;表示任务Ti的最迟完成时间;表示任务Ti的最早开始时间;
关键/非关键任务:对给定的任务若其决定应用的整体执行时间,称为关键任务;否则,为非关键任务,表示如下:
T i is criticaltask t i slack = t i non - criticaltask otherwise - - - ( 10 ) ;
其中,表示任务Ti的松弛时间。
8.如权利要求5所述的面向混合计算环境的功耗感知的并行应用调度系统所采用的调度方法,其特征是,所述步骤(22)的具体步骤如下:
对非关键任务,在非关键任务的松弛时间内对频率/电压实施扩展,降低其计算能耗且不影响应用的整体执行时间;
在空闲阶段,若关闭处理单元所节省的能耗,既能抵消关闭处理单元所需的时间,又能弥补关闭处理单元所需的能耗,则满足DPM执行的条件;
对DVS技术,实施方法为将任务运行的频率/电压扩展,通过控制操作频率,确定实施DVS的频率值;
对给定的非关键任务所述操作频率是指当其既能够最小化应用的执行时间又能够最大程度地减少应用执行能耗时的运行频率,表示如下:
f i slack = f H t i / t i slack - - - ( 11 )
其中,表示非关键任务Ti的操作频率;表示任务Ti的松弛时间;fH表示DVS处理单元H个离散电压对应的时钟频率;
对DPM技术,实施方法为将空闲时间段关闭,通过使空闲时间大于空闲时间阈值的方法满足降低执行能耗且不延长执行时间的要求,从而保证抵消实施DPM的时间和能耗成本;所述空闲时间阈值的求解方法:
tthreshold=max{t′,e′/ps}(12)
其中,tthreshold表示执行DPM技术的空闲时间阈值;e′/ps为处理单元消耗e′能量所需的最少空闲时间,t′表示关闭和开启non-DVS处理单元消耗的时间,e′表示关闭和开启non-DVS处理单元消耗的能耗成本。
9.如权利要求5所述的面向混合计算环境的功耗感知的并行应用调度系统所采用的调度方法,其特征是,所述步骤(24)中对混合计算环境下的调度问题形式化,找到任务组分别分配到DVS处理单元和non-DVS处理单元时能耗值的大小关系,进行处理单元选择,具体处理单元的选择依据如下:
步骤(241):通过步骤(21)的分析知,任务组中存在关键任务、非关键任务、通信阶段和空闲阶段;首先计算当任务组被分别分配给non-DVS处理单元与DVS处理单元时,其对应的非关键任务、通信阶段、空闲阶段,以及任务组除去非关键任务、关键任务、通信阶段和空间阶段后的剩余环节所消耗的能耗差的大小,分别记为z1,z2,z3,z4
步骤(242):如果z4≥0,那么任务组放到DVS处理单元;如果z4<0,还要考虑公式(23)是否成立,如果公式(23)成立那么该任务组被分配给non-DVS处理单元,如果公式(23)不成立,那么该任务组被分配给DVS处理单元;
当任务组被分别分配给non-DVS处理单元与DVS处理单元时,其非关键任务所消耗的能耗差z1计算方法如下:
z 1 = p H Σ i = 1 I t nc i - Σ i = 1 I p slack i t i slack > 0 - - - ( 19 ) ;
其中,z1表示当任务组被分别分配给non-DVS处理单元与DVS处理单元时,非关键任务所消耗能耗差;pH表示最高电压水平时的功耗值;表示任务组内非关键任务的执行时间,i=1...I;表示非关键任务Ti在操作频率时的功耗值;表示任务Ti的松弛时间;
当任务组被分别分配给non-DVS处理单元与DVS处理单元时,其通信阶段所消耗的能耗差z2的计算方法如下:
z 2 = p s H Σ j = 1 J t comm j - p s 1 Σ j = 1 J 1 t comm j > 0 - - - ( 20 ) ;
其中,z2表示当任务组被分别分配给non-DVS处理单元与DVS处理单元时,通信阶段所消耗能耗差;表示最高电压水平时的静态功耗值;表示任务组内通信时间长度,j=1...J;表示处理单元在最低电压时的静态功耗值;
当任务组被分别分配给non-DVS处理单元与DVS处理单元时,其空闲阶段所消耗的能耗差z3的计算方法如下:
z 3 = p s H Σ k = 1 K 2 t idle k - p s 1 Σ k = 1 K 2 t idle ′ k > 0 - - - ( 21 )
其中,z3表示当任务组被分别分配给non-DVS处理单元与DVS处理单元时,空闲阶段所消耗能耗差;表示最高电压水平时的静态功耗值;表示处理单元在最低电压时的静态功耗值;表示任务组内空闲时间长度,k=1...K, 表示执行电压扩展后任务组内第k个空闲时间的长度且
当任务组被分别分配给non-DVS处理单元与DVS处理单元时,任务组除去非关键任务、关键任务、通信阶段和空间阶段后的剩余环节所消耗的能耗差z4的计算方法如下:
z 4 = e ′ K 1 - p s 1 Σ k = K 2 + 1 K t idle ′ k - - - ( 22 )
其中,z4表示当任务组被分别分配给non-DVS处理单元与DVS处理单元时,任务组除去非关键任务、关键任务、通信阶段和空间阶段后的剩余环节所消耗能耗差;表示执行电压扩展后任务组内第k个空闲时间的长度且 表示处理单元在最低电压时的静态功耗值;K1表示满足tidle>tthreshold的空闲阶段数目;e′表示关闭和开启non-DVS处理单元消耗的能耗成本;
公式(23)为:
p s 1 Σ k = K 2 + 1 K t idle ′ k ≥ ( z 1 + z 2 + z 3 + e ′ K 1 ) - - - ( 23 )
其中,表示处理单元在最低电压时的静态功耗值;表示执行电压扩展后任务组内第k个空闲时间的长度且e′表示关闭和开启non-DVS处理单元消耗的能耗成本;K1表示满足tidle>tthreshold的空闲阶段数目。
CN201310303675.9A 2013-07-18 2013-07-18 面向混合计算环境的功耗感知的并行应用调度系统及方法 Active CN103399626B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310303675.9A CN103399626B (zh) 2013-07-18 2013-07-18 面向混合计算环境的功耗感知的并行应用调度系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310303675.9A CN103399626B (zh) 2013-07-18 2013-07-18 面向混合计算环境的功耗感知的并行应用调度系统及方法

Publications (2)

Publication Number Publication Date
CN103399626A CN103399626A (zh) 2013-11-20
CN103399626B true CN103399626B (zh) 2016-01-20

Family

ID=49563266

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310303675.9A Active CN103399626B (zh) 2013-07-18 2013-07-18 面向混合计算环境的功耗感知的并行应用调度系统及方法

Country Status (1)

Country Link
CN (1) CN103399626B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103995749B (zh) * 2014-05-21 2017-06-16 广东省电信规划设计院有限公司 小区云系统的计算任务分配方法和系统
CN105630126B (zh) * 2014-11-05 2018-05-25 中国科学院沈阳计算技术研究所有限公司 一种基于常带宽服务器混合任务低功耗调度方法
CN104618480B (zh) * 2015-01-29 2018-11-13 南京理工大学 基于网络链路利用率驱动的云系统资源分配方法
CN108139929B (zh) * 2015-10-12 2021-08-20 华为技术有限公司 用于调度多个任务的任务调度装置和方法
CN106019167B (zh) * 2016-08-10 2018-09-11 国网江苏省电力公司电力科学研究院 一种基于工况模拟的智能电能表时钟电池性能测试方法
CN107728466B (zh) * 2017-09-28 2020-08-07 华侨大学 一种适用于数控系统固定优先级可靠性感知能耗优化方法
CN109542600B (zh) * 2018-11-15 2020-12-25 口碑(上海)信息技术有限公司 分布式任务调度系统及方法
CN109660625B (zh) * 2018-12-26 2021-09-17 深圳大学 一种边缘设备控制方法、边缘设备及计算机可读存储介质
CN110580019B (zh) * 2019-07-24 2021-03-02 湖州因迈科技有限公司 一种面向边缘计算的设备调取方法与装置
CN112561051A (zh) * 2019-09-26 2021-03-26 中兴通讯股份有限公司 一种对深度学习模型进行并行处理的方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101957780A (zh) * 2010-08-17 2011-01-26 中国电子科技集团公司第二十八研究所 一种基于资源状态信息的网格任务调度处理器及方法
CN102360246A (zh) * 2011-10-14 2012-02-22 武汉理工大学 一种异构分布式系统中基于自适应阈值的节能调度方法
CN102902344A (zh) * 2011-12-23 2013-01-30 同济大学 基于随机任务的云计算系统能耗优化方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102171627A (zh) * 2008-10-03 2011-08-31 悉尼大学 对在异构计算系统中执行的应用的调度

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101957780A (zh) * 2010-08-17 2011-01-26 中国电子科技集团公司第二十八研究所 一种基于资源状态信息的网格任务调度处理器及方法
CN102360246A (zh) * 2011-10-14 2012-02-22 武汉理工大学 一种异构分布式系统中基于自适应阈值的节能调度方法
CN102902344A (zh) * 2011-12-23 2013-01-30 同济大学 基于随机任务的云计算系统能耗优化方法

Also Published As

Publication number Publication date
CN103399626A (zh) 2013-11-20

Similar Documents

Publication Publication Date Title
CN103399626B (zh) 面向混合计算环境的功耗感知的并行应用调度系统及方法
Zhu et al. Task offloading decision in fog computing system
Zhang et al. Efficient computation resource management in mobile edge-cloud computing
CN106844051A (zh) 一种边缘计算环境中功耗优化的负载任务迁移算法
Zhang et al. Cost efficient scheduling for delay-sensitive tasks in edge computing system
US20090100437A1 (en) Temperature-aware and energy-aware scheduling in a computer system
Zhai et al. An energy aware offloading scheme for interdependent applications in software-defined IoV with fog computing architecture
CN103297505B (zh) 动态云服务请求下数据中心多能源的在线控制方法和系统
CN104021040A (zh) 基于时间约束条件下的云计算关联任务调度方法和装置
Sun et al. Colocation demand response: Joint online mechanisms for individual utility and social welfare maximization
Zhong et al. A green computing based architecture comparison and analysis
CN103076870A (zh) 数据中心中能耗驱动的应用融合调度和资源动态配置方法
CN104239135A (zh) 有向无环图的可重构系统的混合任务调度方法
Wang et al. An energy saving based on task migration for mobile edge computing
CN103257900A (zh) 减少cpu占用的多处理器上实时任务集资源预留方法
CN104102532B (zh) 一种异构集群中基于低能耗的科学工作流调度方法
CN108768703A (zh) 一种云工作流调度的能耗优化方法、云计算系统
CN105630126B (zh) 一种基于常带宽服务器混合任务低功耗调度方法
Kong et al. Optimal selection of power saving classes in IEEE 802.16 e
Ab Kadir et al. Optimal algorithm for shared network communication bandwidth in IoT applications
Kong et al. Performance study and system optimization on sleep mode operation in IEEE 802.16 e
CN104965762A (zh) 一种面向混合任务的调度系统
LiWang et al. Energy-aware allocation of graph jobs in vehicular cloud computing-enabled software-defined IoV
CN108733491A (zh) 一种面向异构MPSoC系统的热感知及低能耗任务调度方法
Da-Ren et al. Time and energy efficient DVS scheduling for real-time pinwheel tasks

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