[go: up one dir, main page]

CN112667377A - 一种面向电力芯片混合多核系统的任务调度优化方法 - Google Patents

一种面向电力芯片混合多核系统的任务调度优化方法 Download PDF

Info

Publication number
CN112667377A
CN112667377A CN202011543797.1A CN202011543797A CN112667377A CN 112667377 A CN112667377 A CN 112667377A CN 202011543797 A CN202011543797 A CN 202011543797A CN 112667377 A CN112667377 A CN 112667377A
Authority
CN
China
Prior art keywords
task
energy consumption
frequency
tasks
time
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
CN202011543797.1A
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.)
Zhejiang University ZJU
Southern Power Grid Digital Grid Research Institute Co Ltd
Original Assignee
Zhejiang University ZJU
Southern Power Grid Digital Grid Research Institute 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 Zhejiang University ZJU, Southern Power Grid Digital Grid Research Institute Co Ltd filed Critical Zhejiang University ZJU
Priority to CN202011543797.1A priority Critical patent/CN112667377A/zh
Publication of CN112667377A publication Critical patent/CN112667377A/zh
Pending legal-status Critical Current

Links

Images

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

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明属于电力芯片领域,涉及一种面向电力芯片混合多核系统任务调度优化方法,通过计算应用程序中每个任务的upward值大小并确定任务优先级,使用能耗预分配策略确定每个任务的预分配能耗,按照优先级从大到小的顺序,依次选取一个任务,计算此任务的能耗约束,再将此任务调度到每个处理器核并遍历所有的任务执行频率,找出满足此任务能耗约束且令此任务结束时间最早的处理器核和频率组合并重复操作,直到所有的任务调度完毕,得到任务调度结果,最后找出可做频率再调整的任务,计算找到的任务在最大程度延长运行时间后能够节省出的能耗值,将所述能耗分配给直接影响整体调度长度的任务,以提高运行频率,达到缩短整体调度长度的目的。

Description

一种面向电力芯片混合多核系统的任务调度优化方法
技术领域
本发明属于混合多核系统领域,涉及一种面向电力芯片混合多核系统的任务调度优化方法。
背景技术
在传统的电力计算中,各个电力的终端采集到的数据将传输到主站统一集中处理。而在电力物联网中,各种增长的电力终端设备和业务应用会产生海量的数据,这些数据传输和处理将给主站造成巨大的压力,且高时延和安全性也无法满足新业务形态的要求。边缘计算在就近用户侧提供服务,将大量的计算下放到执行端降低主站压力,满足实时数据的分析处理和低时延的业务要求,降低运维成本,提高系统效率。同时,边缘的智能化可以保证数据的安全,帮助电网规避风险。基于边缘计算的优势,其在电力拥有丰富的应用场景。
电力芯片的最新发展趋势对高性能边缘计算计算系统的能耗和性能都有较高要求。通过增加异构处理器和内核的数量,可以在保持能耗的同时提高性能。对于这样的系统,能耗是主要的设计约束之一。目前流行的能量消耗优化技术动态电压和频率缩放(DVFS)通过在任务运行时同时降低处理器的供电电压和频率来实现节能优化,以探索能耗与执行时间之间的折衷。
能耗约束下多核系统任务调度长度最小化问题的重点在于如何给未调度的任务预分配能耗。现有的方法有使用任务能耗最小值作为预分配能耗;使用能耗约束平均值作为预分配能耗;使用任务能耗权重值作为预分配能耗等。这些方法都没有考虑到,不同任务在应用程序中处在的位置不同,当分配给它们相同的能耗约束时,它们对整体调度长度的影响是不同的,这使最终的调度结果并不理想。本发明基于DVFS技术,提出了一种新的考虑任务所处位置的能耗预分配策略,以及此策略的调度方法,在得到初步的调度方法后,提出一种任务频率再调节机制,进一步缩短应用程序的调度长度。
发明内容
为了就解决现有技术中存在的上述技术问题,本发明提出了一种面向电力芯片混合多核系统的任务调度优化方法,其具体技术方案如下。
一种面向电力芯片混合多核系统的任务调度优化方法,设有应用程序G={N,W,C},其中的N={n1,n2,...}是任务的集合,即程序G中的节点的集合,W是一个|N|×|U|的矩阵,C表示任务间的通信时间的集合,U={u1,u2,...,u|U|}表示一组异构处理器,|U|表示U的处理器数量,功耗模型为:P(f)=Pind+Ceffm,其中Pind为与频率f不相关的功耗,Cef为有效电容,m为与处理器核相关的参数,具体包括:
步骤1:使用upward值作为确实任务优先级的原则,计算每个任务的upward值,并根据upward值得大小确定任务的优先级,upward值大的优先级更高;
步骤2:通过能耗预分配方法确定每个任务的预分配能耗;
步骤3:按照优先级从大到小的顺序,依次选取一个任务,并计算所述任务的能耗约束,然后将所述任务调度到每个处理器核并遍历所有的任务执行频率,找出满足所述任务能耗约束且令所述任务结束时间最早的处理器核和频率组合;
步骤4:重复步骤3,直到所有的任务调度完毕;
步骤5:得到任务调度结果;
步骤6:找出延长运行时间而对整体调度长度没有影响的任务,即找出可做频率再调整的任务;
步骤7:计算步骤6中找到的任务在最大程度延长运行时间后能够节省出的能耗值;
步骤8:将节省出的能耗分配给能够直接影响整体调度长度的任务。
进一步的,所述upward值为:
Figure BDA0002854671010000021
其中,每个节点ni∈N表示一个任务;c{i,j}∈C表示从任务ni到nj之间的通信时间,当c{i,j}=0,表示从任务ni到nj之间没有通信;w{i,k}表示任务ni以最大频率在处理器uk上的运行时间;succ(ni)表示ni的直接后置节点的集合。
进一步的,所述能耗预分配方法,具体包括:
首先定义每个任务的层次,任务层次定义如下:
Figure BDA0002854671010000022
定义层次l所包含的任务的集合为Nl={ni,nj,...},其中L(ni)=L(nj)=L(...)=l,层次l所包含的任务数量为|Nl|,nentry表示没有前置节点的任务,pred(ni)表示ni的直接前置节点的集合;
与ISAECC算法相同,定义提升能耗Eie(G)和ni的平均能耗Eave(ni),定义Nl的平均能耗
Figure BDA0002854671010000031
定义任务ni在其层次l中的能耗权重水平
Figure BDA0002854671010000032
定义考虑层次结构后Nl的变化能耗
Figure BDA0002854671010000033
其中当|Nl|<|U|时,K=|Nl|;当|Nl|≥|U|时,K=|U|。
相应的,程序G的变化能耗为
Figure BDA0002854671010000034
定义Nl在程序G中的能耗权重水平
Figure BDA0002854671010000035
定义Nl的提升能耗为
Eie(Nl)=Eie(G)×el(Nl)
于是有任务ni的预分配能耗的计算公式为
Ecal(ni)=Eie(Nl)×el(Nl)+Emin(ni)
=Eie(G)×el(Nl)×el(ni,l)+Emin(ni)
由于每个任务的能耗都有一个上界,因此
Epre(ni)=min{Ecal(ni),Emax(ni)}
进一步的,所述找出任务结束时间最早的处理器核和频率具体为:设处理器的有效频率变化范围为[flow,fmax],其中flow=max(fmin,flow),各处理器的有效频率集合为:
Figure BDA0002854671010000041
定义任务的最早开始时间EST和最早结束时间EFT,任务ni以频率f{k,h}在处理器uk上的最早开始时间定义如下:
Figure BDA0002854671010000042
其中avail[k]表示处理器uk的最早空闲时间,即处理器uk准备好运行一个新任务的时间,AFT(nj)表示任务nj的实际结束时间,c′i,j表示任务ni到nj的通信时间,当ni和nj被分配在同一个处理器上时,c′i,j=0;当ni和nj被分配在不同处理器上时,c′i,j=ci,j
任务的最早结束时间定义为任务的最早开始时间加上任务的运行时间,计算公式如下:
Figure BDA0002854671010000043
进一步的,所述步骤6具体包括:
定义任务的最晚结束时间LFT为:
Figure BDA0002854671010000044
其中ndn(i)指的与是任务ni处于同一处理器核上,在任务ni后面且紧邻任务ni的任务,nexit表示没有后置节点的任务,AST表示任务实际开始的时间;
再用各任务的LFT代替任务现有的结束时间AFT,计算出每个任务新的运行频率如下:
Figure BDA0002854671010000045
其中,fpr(i),hz(i)表示在处理器upr(i)上分配给任务ni的运行频率,fpr(i),hz(i)∈[fpr(i),low,fpr(i),max],upr(i)∈U并且1≤i≤|N|,pr(i)为分配给任务ni的处理器核。
进一步的,所述步骤7具体包括:
根据任务的新的运行频率,定义频率改变前任务ni的能耗为Ebef(ni),频率改变后任务ni的能耗为Eaft(ni),计算出节省出的总能耗为:
Figure BDA0002854671010000051
其中P{k,ind}为处理器核uk与频率不相关的功耗,C{k,ef}为处理器核uk的有效电容,m为与处理器核相关的参数;
任务调度完成后程序没有用完的剩余能耗
Erem(G)=Egiven(G)-E(G)
其中Egiven(G)为给定的能耗约束;
因此,可回收再利用的能耗为
Erec(G)=Esave(G)+Erem(G)
进一步的,所述步骤8具体包括:
将可回收再利用的能耗再分配给能够直接影响整体调度长度的任务,具体为:当任务模型层次严格的时候,即层次l中的任务只和其相邻层次中的任务有通信时,所述相邻层次为层次l+1和层次l-1,将Erec(G)分配给所在层级|Nl|=1且运行频率没有达到最高的任务;当任务模型层次不严格的时候,只将Erec(G)分配给nentry和nexit二者中运行频率没有达到最高的任务;
确定Erec(G)的分配对象之后,定义任务ni在处理器核uk上运行的最大能耗为
Figure BDA0002854671010000052
计算调度完成后任务ni的可提升能耗为:
Eimp(ni)=Emax(ni,pr(i))-E(ni)
根据选出的Erec(G)的分配对象的可提升能耗的比例,将Erec(G)进行分配。
本发明具有有效提高程序运行频率,达到缩短应用程序整体调度长度的目的。
附图说明
图1是本发明的应用程序模型DGA图;
图2是本发明的任务调度方法流程示意图;
图3是本发明的任务调度后的频率再调整机制的流程示意图。
具体实施方式
为了使本发明的目的、技术方案和技术效果更加清楚明白,以下结合说明书附图,对本发明作进一步详细说明。
如图1所示,本发明的一种面向电力芯片混合多核系统的任务调度优化方法,使用DAG图表示程序模型,所述应用程序模型G={N,W,C},其中,N={n1,n2,...}是任务的集合,即程序G中的节点的集合,W是一个|N|×|U|的矩阵,C表示任务间的通信时间的集合,U={u1,u2,…,u|U|}表示一组异构处理器,|U表示U的处理器数量,为了便于描述,定义:每个节点ni∈N表示一个任务;c{i,j}∈C表示从任务ni到nj之间的通信时间,如果c{i,j}=0,表示从任务ni到nj之间没有通信;w{i,k}表示任务ni以最大频率在处理器uk上的运行时间;pred(ni)和succ(ni)表示ni的直接前置节点的集合和直接后置节点的集合;nentry和nexit表示没有前置节点的任务和没有后置节点的任务。
由于在程序运行过程中,系统处于正常工作状态,并且主要能耗来自动态功耗,因此只考虑动态功耗,则所使用的功耗模型为:
P(f)=Pind+Ceffm
设一个处理器的频率变化范围是从最低频率fmin到最高频率fmax,另外由于系统中的处理器是异构的,定义如下的参数集合:
与频率不相关的功耗Pind的集合:{P{1,ind},P{2,ind},...,P{|U|,ind}};
与频率相关的功耗Pd的集合:{P{1,d},P{2,d},...,P{|U|,d}};
有效电容Cef的集合:{C{1,ef},C{2,ef},...,C{|U|,ef}};
与处理器核相关的参数m的集合:{m1,m2,...,m|U|};
各处理器的有效频率集合:
Figure BDA0002854671010000071
任务ni在处理器uk上以频率f{k,h}运行所需的时间计算公式为:
Figure BDA0002854671010000072
因此,任务ni在处理器uk上以频率f{k,h}运行所需的能耗的计算公式为:
Figure BDA0002854671010000073
将公式(1)看成能耗E关于频率f的函数,求得该函数的极小值点:
Figure BDA0002854671010000074
当f<fextre时,能耗E随着f的减小而增大;当f>fextre时,能耗E随着f的减小而减小。因此,当f<fextre时,如果f减小,能耗增大,任务的运行时间也增大,此时频率f减小没有任何意义。于是处理器的有效频率变化范围为[flow,fmax],其中flow=max(fmin,flow)。因此,所述各处理器的有效频率集合应更改为:
Figure BDA0002854671010000075
为了便于理解问题,定义任务的最早开始时间(EST)和最早结束时间(EFT),任务ni以频率f{k,h}在处理器uk上的最早开始时间定义为:
Figure BDA0002854671010000076
其中avail[k]表示处理器uk的最早空闲时间,即处理器uk准备好运行一个新任务的时间;AFT(nj)表示任务nj的实际结束时间;c′i,j表示任务ni到nj的通信时间,当ni和nj被分配在同一个处理器上时,c′i,j=0;当ni和nj被分配在不同处理器上时,c′i,j=ci,j
任务的最早结束时间定义为任务的最早开始时间加上任务的运行时间,计算公式为:
Figure BDA0002854671010000081
为程序G中的每个任务分配合适的处理器和频率,使程序G的运行长度SL(G最短,SL(G)=AFT(nexit);运行程序G所需的能耗不超过给定的能耗约束Egiven(G),即
Figure BDA0002854671010000082
其中upr(i)表示分配给任务ni的处理器,fpr(i),hz(i)表示在处理器upr(i)上分配给任务ni的运行频率,fpr(i),hz(i)∈[fpr(i),low,fpr(i),max],upr(i)∈U并且1≤i≤|N|,pr(i)为分配给任务ni的处理器核。
设Emin(G)和Emax(G)表示程序G最小和最大的能耗,计算公式为:
Figure BDA0002854671010000083
Figure BDA0002854671010000084
任务ni的最小和最大能耗定义为:
Figure BDA0002854671010000085
Figure BDA0002854671010000086
显而易见,只有当Emin(G)≤Egiven(G)≤Emax(G)时,给出的Egiven(G)才是合理的;当Egiven(G)<Emin(G)时,能耗约束永远无法满足;当Egiven(G)>Emax(G)时,能耗约束永远能够满足。
使用upward值作为确实任务优先级的原则,所述upward值定义为:
Figure BDA0002854671010000087
使用上式计算每个任务的upward值,根据upward值从大到小将任务进行优先级排序,upward值越大,优先级越高,得到的任务序列为{ns(1),ns(2),...,ns(|N|)},假设当前调度的任务为ns(j),设已经调度好的任务集合为Sbef={ns(1),ns(2),...,ns(j-1)},还没有调度的任务集合为Saft={ns(j+1),ns(j+2),...,ns(|N|)}。于是,当调度ns(j)时程序G的能耗为:
Figure BDA0002854671010000091
其中Epre(ns(y))表示给任务ns(y)预分配的能耗。
如果对于任意的任务ns(j)(j∈[1,...|N|]),有
Es(j)(G)≤Egiven(G) (9)
则满足能耗约束E(G)≤Egiven(G)。
根据式(8)和(9),可以得到
Figure BDA0002854671010000092
令任务ns(j)的预分配能耗为
Figure BDA0002854671010000093
考虑到每个任务都有最大能耗边界,设置
Egiven(ns(j))=min{Egiven(ns(j)),Emax(ns(j))} (11)
于是,当运行任务ns(j)时,只需要考虑如下约束:
E(ns(j),uk,fk,h)≤Egiven(ns(j)) (12)
在满足上式的能耗约束条件下,调度每个任务在合适的处理器上以合适的频率运行,使每个任务达到最小的EFT,以实现程序G的最短调度长度。
再考虑任务的层次结构,位于程序中的不同层次结构的任务有着不同的地位,在ISAECC算法使用能耗权重值的基础上,加入任务层次结构的考虑,提出了一种两级能耗预分配方法,具体包括:
首先定义每个任务的层次,任务层次定义如下:
Figure BDA0002854671010000101
定义层次l所包含的任务的集合为Nl={ni,nj,...},其中L(ni)=L(nj)L(...)=l,层次l所包含的任务数量为|Nl|。
与ISAECC算法相同,定义提升能耗Eie(G)和ni的平均能耗Eave(ni),定义Nl的平均能耗
Figure BDA0002854671010000102
定义任务ni在其层次l中的能耗权重水平
Figure BDA0002854671010000103
定义考虑层次结构后Nl的变化能耗
Figure BDA0002854671010000104
其中当|Nl|<|U|时,K=|Nl|;当|Nl|≥|U|时,K=|U|。
相应的,程序G的变化能耗为
Evar(G)=∑lEvar(Nl) (16)
定义Nl在程序G中的能耗权重水平
Figure BDA0002854671010000105
定义Nl的提升能耗为
Eie(Nl)=Eie(G)×el(Nl) (18)
于是有任务ni的预分配能耗的计算公式为
Ecal(ni)=Eie(Nl)×el(Nl)+Emin(ni)
=Eie(G)×el(Nl)×el(ni,l)+Emin(ni) (19)
由于每个任务的能耗都有一个上界,因此
Epre(ni)=min{Ecal(ni),Emax(ni)} (20)
基于上述能耗预分配方法,如图2所示,提出一种任务调度方法,具体包括如下步骤:
步骤1:计算每个任务的upward值,并根据upward值得大小确定任务的优先级,upward值大的优先级更高;
步骤2:通过所述能耗预分配方法确定每个任务的预分配能耗;
步骤3:按照优先级从大到小的顺序,依次选取一个任务,并计算此任务的能耗约束,然后尝试将此任务调度到每个处理器核并遍历所有的任务执行频率,找出满足此任务能耗约束且令此任务结束时间最早的处理器核和频率组合;
步骤4:重复步骤3,直到所有的任务调度完毕;
步骤5:得到任务调度结果。
上述任务调度过程中使用了局部最优的方法,即使每个任务都尽可能早地结束。但通过对调度结果的观察,发现有些任务的过早结束并不会缩短整体的调度长度,反而因为这些任务的运行时间过短使得其消耗的功耗更高,对整体调度长度最小化有着负面的影响。因此,在得到调度结果后,任务的频率还有再调节的空间。本发明通过将过早结束的任务的结束时间延后,使其能耗降低,将节省出来的能耗分配给对整体调度长度影响较大的任务,缩短所述任务的执行时间以进一步缩短应用程序的调度长度。因此,本发明增设了任务调度后的频率再调整机制,如图3所示,任务调度后的频率再调整机制具体包括如下步骤:
步骤1:找出可以延长运行时间而对整体调度长度没有影响的任务,即找出可做频率再调整的任务;
步骤2:计算步骤1中找到的任务在最大程度延长运行时间后能够节省出的能耗值;
步骤3:将节省出的能耗分配给能够直接影响整体调度长度的任务,以提高他们的运行频率,达到缩短整体调度长度的目的。
具体的,首先找出可以延长运行时间而对整体调度长度没有影响的任务,并在不影响整体调度长度的条件下将所述任务的运行时间尽可能延长,基于上述需求,定义任务的最晚结束时间LFT为:
Figure BDA0002854671010000121
其中ndn(i)指的与是任务ni处于同一处理器核上,在任务ni后面且紧邻任务ni的任务,AST表示任务实际开始的时间,如图1中,ndn(5)=n9,ndn(7)=n8,之后,用各任务的LFT代替任务现有的结束时间AFT,计算出每个任务新的运行频率如下:
Figure BDA0002854671010000122
根据任务的新的运行频率,定义频率改变前任务ni的能耗为Ebef(ni),频率改变后任务ni的能耗为Eaft(ni)可以计算出节省出的总能耗
Figure BDA0002854671010000123
一般情况下,任务调度完成后还会有没有用完的剩余能耗
Erem(G)=Egiven(G)-E(G)
因此,可回收再利用的能耗为
Erec(G)=Esave(G)+Erem(G)
计算出可回收再利用的能耗后,将这些能耗再分配给能够直接影响整体调度长度的任务。所述能够直接影响整体调度长度的任务,就是其运行时间变化多少,整体的调度长度也会相应地变化多少。但由于任务模型的多样性,想要精确找出哪些任务能够直接影响整体调度长度是非常困难的,因此,本发明采用一种更简单直接的方式:
当任务模型层次严格的时候,即层次l中的任务只和其相邻层次中的任务有通信时,所述相邻层次为层次l+1和层次l-1,将Erec(G)分配给所在层级|Nl|=1且运行频率没有达到最高的任务;当任务模型层次不严格的时候,只将Erec(G)分配给nentry和nexit二者中运行频率没有达到最高的任务。
确定了Erec(G)的分配对象之后,定义任务ni在处理器核uk上运行的最大能耗为
Figure BDA0002854671010000131
计算调度完成后任务ni的可提升能耗为
Eimp(ni)=Emax(ni,pr(i))-E(ni)
根据选出的Erec(G)的分配对象的可提升能耗的比例,将Erec(G)进行分配。

Claims (7)

1.一种面向电力芯片混合多核系统的任务调度优化方法,设有应用程序G={N,W,C},其中的N={n1,n2,...}是任务的集合,即程序G中的节点的集合,W是一个|N|×|U|的矩阵,C表示任务间的通信时间的集合,U={u1,u2,...,u|U|}表示一组异构处理器,|U|表示U的处理器数量,功耗模型为:P(f)=Pind+Ceffm,其中Pind为与频率f不相关的功耗,Cef为有效电容,m为与处理器核相关的参数,其特征在于,具体包括:
步骤1:使用upward值作为确实任务优先级的原则,计算应用程序中每个任务的upward值,并根据upward值得大小确定任务的优先级,upward值大的优先级更高;
步骤2:通过能耗预分配方法确定每个任务的预分配能耗;
步骤3:按照优先级从大到小的顺序,依次选取一个任务,并计算所述任务的能耗约束,然后将所述任务调度到每个处理器核并遍历所有的任务执行频率,找出满足所述任务能耗约束且令所述任务结束时间最早的处理器核和频率组合;
步骤4:重复步骤3,直到所有的任务调度完毕;
步骤5:得到任务调度结果;
步骤6:找出延长运行时间而对整体调度长度没有影响的任务,即找出可做频率再调整的任务;
步骤7:计算步骤6中找到的任务在最大程度延长运行时间后能够节省出的能耗值;
步骤8:将节省出的能耗分配给能够直接影响整体调度长度的任务。
2.如权利要求1所述的一种面向电力芯片混合多核系统的任务调度优化方法,其特征在于,所述upward值为:
Figure FDA0002854669000000011
其中,每个节点ni∈N表示一个任务;c{i,j}∈C表示从任务ni到nj之间的通信时间,当c{i,j}=0,表示从任务ni到nj之间没有通信;w{i,k}表示任务ni以最大频率在处理器uk上的运行时间;succ(ni)表示ni的直接后置节点的集合。
3.如权利要求1所述的一种面向电力芯片混合多核系统的任务调度优化方法,其特征在于,所述能耗预分配方法,具体包括:
首先定义每个任务的层次,任务层次定义如下:
Figure FDA0002854669000000021
定义层次l所包含的任务的集合为Nl={ni,nj,...},其中L(ni)=L(nj)=L(…)=l,层次l所包含的任务数量为|Nl|,nentry表示没有前置节点的任务,pred(ni)表示ni的直接前置节点的集合;
与ISAECC算法相同,定义提升能耗Eie(G)和ni的平均能耗Eave(ni),定义Nl的平均能耗
Figure FDA0002854669000000022
定义任务ni在其层次l中的能耗权重水平
Figure FDA0002854669000000023
定义考虑层次结构后Nl的变化能耗
Figure FDA0002854669000000024
其中当|Nl|<|U|时,K=|Nl|;当|Nl|≥|U|时,K=|U|。
相应的,程序G的变化能耗为
Figure FDA0002854669000000025
定义Nl在程序G中的能耗权重水平
Figure FDA0002854669000000026
定义Nl的提升能耗为
Eie(Nl)=Eie(G)×el(Nl)
于是有任务ni的预分配能耗的计算公式为
Ecal(ni)=Eie(Nl)×el(Nl)+Emin(ni)
=Eie(G)×el(Nl)×el(ni,l)+Emin(ni)
由于每个任务的能耗都有一个上界,因此
Epre(ni)=min{Ecal(ni),Emax(ni)}
4.如权利要求1所述的一种面向电力芯片混合多核系统的任务调度优化方法,其特征在于,所述找出任务结束时间最早的处理器核和频率具体为:设处理器的有效频率变化范围为[flow,fmax],其中flow=max(fmin,flow),各处理器的有效频率集合为:
Figure FDA0002854669000000031
定义任务的最早开始时间EST和最早结束时间EFT,任务ni以频率f{k,h}在处理器uk上的最早开始时间定义如下:
Figure FDA0002854669000000032
其中avail[k]表示处理器uk的最早空闲时间,即处理器uk准备好运行一个新任务的时间,AFT(nj)表示任务nj的实际结束时间,c′i,j表示任务ni到nj的通信时间,当ni和nj被分配在同一个处理器上时,c′i,j=0;当ni和nj被分配在不同处理器上时,c′i,j=ci,j
任务的最早结束时间定义为任务的最早开始时间加上任务的运行时间,计算公式如下:
Figure FDA0002854669000000033
5.如权利要求1所述的一种面向电力芯片混合多核系统的任务调度优化方法,其特征在于,所述步骤6具体包括:
定义任务的最晚结束时间LFT为:
Figure FDA0002854669000000034
其中ndn(i)指的与是任务ni处于同一处理器核上,在任务ni后面且紧邻任务ni的任务,nexit表示没有后置节点的任务,AST表示任务实际开始的时间;
再用各任务的LFT代替任务现有的结束时间AFT,计算出每个任务新的运行频率如下:
Figure FDA0002854669000000041
其中,fpr(i),hz(i)表示在处理器upr(i)上分配给任务ni的运行频率,fpr(i),hz(i)∈[fpr(i),low,fpr(i),max],upr(i)∈U并且1≤i≤|N|,pr(i)为分配给任务ni的处理器核。
6.如权利要求5所述的一种面向电力芯片混合多核系统的任务调度优化方法,其特征在于,所述步骤7具体包括:
根据任务的新的运行频率,定义频率改变前任务ni的能耗为Ebef(ni),频率改变后任务ni的能耗为Eaft(ni),计算出节省出的总能耗为:
Figure FDA0002854669000000042
其中P{k,ind}为处理器核uk与频率不相关的功耗,C{k,ef}为处理器核uk的有效电容,m为与处理器核相关的参数;
任务调度完成后程序没有用完的剩余能耗
Erem(G)=Egiven(G)-E(G)
其中Egiven(G)为给定的能耗约束;
因此,可回收再利用的能耗为
Erec(G)=Esave(G)+Erem(G)
7.如权利要求6所述的一种面向电力芯片混合多核系统的任务调度优化方法,其特征在于,所述步骤8具体包括:
将可回收再利用的能耗再分配给能够直接影响整体调度长度的任务,具体为:当任务模型层次严格的时候,即层次l中的任务只和其相邻层次中的任务有通信时,所述相邻层次为层次l+1和层次l-1,将Erec(G)分配给所在层级|Nl|=1且运行频率没有达到最高的任务;当任务模型层次不严格的时候,只将Erec(G)分配给nentry和nexit二者中运行频率没有达到最高的任务;
确定Erec(G)的分配对象之后,定义任务ni在处理器核uk上运行的最大能耗为
Figure FDA0002854669000000051
计算调度完成后任务ni的可提升能耗为:
Eimp(ni)=Emax(ni,pr(i))-E(ni)
根据选出的Erec(G)的分配对象的可提升能耗的比例,将Erec(G)进行分配。
CN202011543797.1A 2020-12-23 2020-12-23 一种面向电力芯片混合多核系统的任务调度优化方法 Pending CN112667377A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011543797.1A CN112667377A (zh) 2020-12-23 2020-12-23 一种面向电力芯片混合多核系统的任务调度优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011543797.1A CN112667377A (zh) 2020-12-23 2020-12-23 一种面向电力芯片混合多核系统的任务调度优化方法

Publications (1)

Publication Number Publication Date
CN112667377A true CN112667377A (zh) 2021-04-16

Family

ID=75409467

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011543797.1A Pending CN112667377A (zh) 2020-12-23 2020-12-23 一种面向电力芯片混合多核系统的任务调度优化方法

Country Status (1)

Country Link
CN (1) CN112667377A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114527862A (zh) * 2022-02-14 2022-05-24 贵州电网有限责任公司 一种调整电力专用芯片功耗的方法、设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070110094A1 (en) * 2005-11-15 2007-05-17 Sony Computer Entertainment Inc. Task Allocation Method And Task Allocation Apparatus
CN102193826A (zh) * 2011-05-24 2011-09-21 哈尔滨工程大学 一种异构多核处理器高效任务调度方法
CN109298918A (zh) * 2018-07-10 2019-02-01 东南大学 一种基于线性规划的并行任务节能调度方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070110094A1 (en) * 2005-11-15 2007-05-17 Sony Computer Entertainment Inc. Task Allocation Method And Task Allocation Apparatus
CN102193826A (zh) * 2011-05-24 2011-09-21 哈尔滨工程大学 一种异构多核处理器高效任务调度方法
CN109298918A (zh) * 2018-07-10 2019-02-01 东南大学 一种基于线性规划的并行任务节能调度方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KAI HUANG, ET AL: "Task-Level Aware Scheduling of Energy-Constrained Applications on Heterogeneous Multi-Core System", ELECTRONICS, vol. 9, no. 12, pages 1 - 22 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114527862A (zh) * 2022-02-14 2022-05-24 贵州电网有限责任公司 一种调整电力专用芯片功耗的方法、设备及介质
CN114527862B (zh) * 2022-02-14 2023-10-31 贵州电网有限责任公司 一种调整电力专用芯片功耗的方法、设备及介质

Similar Documents

Publication Publication Date Title
CN112380008B (zh) 一种面向移动边缘计算应用的多用户细粒度任务卸载调度方法
CN113873022A (zh) 一种可划分任务的移动边缘网络智能资源分配方法
CN111722910B (zh) 一种云作业调度及资源配置的方法
CN107357661A (zh) 一种针对混合负载的细粒度gpu资源管理方法
WO2023087658A1 (zh) 一种任务调度方法、装置、设备及可读存储介质
CN102622273A (zh) 基于自学习负载预测的集群按需启动方法
CN106648846A (zh) 一种改进的异构多核任务调度的方法
CN106209967A (zh) 一种视频监控云资源预测方法及系统
WO2023222061A1 (zh) 意图驱动的无线网络资源冲突解决方法及其装置
CN110850957B (zh) 一种边缘计算场景下通过休眠降低系统功耗的调度方法
CN109324891A (zh) 一种比例空闲时间分配的周期任务低功耗调度方法
CN116954905A (zh) 一种面向Flink大数据的任务编排与迁移方法
CN112667377A (zh) 一种面向电力芯片混合多核系统的任务调度优化方法
CN118828703A (zh) 一种基于李雅普诺夫优化的能量收集与任务卸载方法
CN112346828B (zh) 基于分布式异构系统的任务配置方法、装置及存储介质
CN104102532B (zh) 一种异构集群中基于低能耗的科学工作流调度方法
CN114385336B (zh) 一种流大数据处理任务的抗干扰调度方法和装置
CN107682880A (zh) 一种云无线接入网络的资源分配方法
CN113342462B (zh) 融合限制周期性拟休眠的云计算优化方法、系统及介质
CN113452625B (zh) 基于深度强化学习的卸载调度与资源分配方法
CN108234151B (zh) 一种云平台资源分配方法
CN114745386B (zh) 一种多用户边缘智能场景下的神经网络分割及卸载方法
CN114546617B (zh) 一种车载云环境下低服务成本的任务调度方法
CN114153612B (zh) 一种提升系统整体吞吐量的cpu资源动态分配方法
CN115617526A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20210416