CN115328628A - 一种基于能量优化的多核异构NoC平台任务执行方法 - Google Patents
一种基于能量优化的多核异构NoC平台任务执行方法 Download PDFInfo
- Publication number
- CN115328628A CN115328628A CN202210944749.6A CN202210944749A CN115328628A CN 115328628 A CN115328628 A CN 115328628A CN 202210944749 A CN202210944749 A CN 202210944749A CN 115328628 A CN115328628 A CN 115328628A
- Authority
- CN
- China
- Prior art keywords
- task
- constraint
- theta
- processor
- energy consumption
- 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
Links
- 238000005457 optimization Methods 0.000 title claims abstract description 75
- 238000000034 method Methods 0.000 title claims abstract description 64
- 238000005265 energy consumption Methods 0.000 claims abstract description 53
- 238000004891 communication Methods 0.000 claims abstract description 41
- 230000010076 replication Effects 0.000 claims abstract description 38
- 238000013507 mapping Methods 0.000 claims abstract description 27
- 238000004364 calculation method Methods 0.000 claims abstract description 18
- 239000011159 matrix material Substances 0.000 claims description 9
- 238000005516 engineering process Methods 0.000 claims description 8
- 229910052731 fluorine Inorganic materials 0.000 claims 2
- 125000001153 fluoro group Chemical group F* 0.000 claims 2
- 238000006467 substitution reaction Methods 0.000 claims 1
- 230000002123 temporal effect Effects 0.000 claims 1
- 230000009466 transformation Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 5
- 238000011160 research Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000000354 decomposition reaction Methods 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 241000543540 Guillardia theta Species 0.000 description 1
- 241001255830 Thema Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006317 isomerization reaction Methods 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3243—Power saving in microcontroller unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/329—Power saving characterised by the action undertaken by task scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4887—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4893—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于能量优化的多核异构NoC平台任务执行方法,通过一个元组来描述每个精确计算任务的特征;基于多核异构NoC平台,考虑计算能耗和通信能耗,对任务执行可靠性进行建模;通过引入任务分配、路径选择、频率选择、任务执行可靠性、任务执行次序、任务不可抢占性、实时性约束,构造了以均衡能量为目标的任务;采用引入辅助变量和增加线性化约束的方法将混合整数非线性规划(MINLP)问题等价线性化为混合整数线性规划(MILP)问题,并通过最优化方法找到最优解;也可以将原问题分解为任务映射与调度、频率选择与任务复制和多路径路由三个子问题顺序求解,通过低计算复杂度的启发式算法,降低了问题求解时间,提高了本任务执行方法的可扩展性。
Description
技术领域
本发明属于多核NoC平台任务调度技术领域,主要涉及了一种基于能量优化的多核异构NoC平台任务执行方法。
背景技术
在嵌入式系统领域中,随着数据密集型应用的出现及其性能需求的提高,例如流媒体、图像识别和车辆控制等等,嵌入式系统面临着更高处理能力的挑战。核心数目的增加,提高了芯片的计算能力,但同时对通信资源提出了更多要求。NoC高度灵活、可扩展、能耗低、具有强大的并行处理能力,成为了片上通信挑战的可行解决方案,并且正在朝着异构化的方向发展。但与此同时系统在功率、封装密度方面的性能增益被片上通信元素和处理元件的可靠性抵消了。因此,在满足实时性和可靠性的前提下,研究任务在多核异构NoC平台上的能量优化调度问题具有重要的现实意义。
对于实时系统,研究者广泛使用动态电压/频率调节技术来优化系统功耗。目前,在基于能量优化的实时任务调度研究中,已经取得了很多的研究成果,但还存在以下问题:1)基于能量优化的任务调度方法中,大多是基于数据总线的多核处理器平台,只考虑计算能耗而未考虑通信能耗,但在NoC平台上通信能耗是不可忽略的;2)基于多核NoC平台的任务调度研究一般只考虑能量优化目标,但很少同时考虑满足可靠性需求的情况;3)针对异构多核NoC平台,基于能量优化和可靠性设计的任务部署问题具有较高的计算复杂度,需要设计低计算复杂度算法以提高系统实时性和可扩展性。
发明内容
本发明正是针对现有技术中存在的问题,提供一种基于能量优化的多核异构NoC平台任务执行方法,通过一个元组来描述每个精确计算任务的特征,包括任务执行周期、任务截止时间、由有向无环图描述的任务图转换的任务相关性矩阵及通信数据大小;基于多核异构NoC平台,同时考虑计算能耗和通信能耗,结合动态电压/频率调节技术和任务复制技术,对任务执行可靠性进行建模;通过引入任务分配、路径选择、频率选择、任务执行可靠性、任务执行次序、任务不可抢占性、实时性约束,构造了以均衡能量为目标的任务部署问题;采用引入辅助变量和增加线性化约束的方法将混合整数非线性规划(MINLP)问题等价线性化为混合整数线性规划(MILP)问题,并通过最优化方法找到最优解;也可以根据任务部署问题结构,将原问题分解为任务映射与调度、频率选择与任务复制和多路径路由三个子问题顺序求解,设计一种低计算复杂度的启发式算法,显著降低了问题的求解时间,提高了本任务部署方法的可扩展性。
为了实现上述目的,本发明采取的技术方案是:一种基于能量优化的多核异构NoC平台任务执行方法,包括如下步骤:
S1,特征描述:通过一个元组来描述每个精确计算任务的特征,包括任务执行周期、任务截止时间、由有向无环图描述的任务图转换的任务相关性矩阵及通信数据大小;所述元组可用四元组{Ci,Di,pij,sij}来描述,其中,Ci为任务τi的最坏情况执行周期;Di为任务τi的相对截止时间;pij为任务相关性矩阵p=[pij]M×M中的第(i,j)元素;sij为通信数据大小;
S2,任务执行建模:基于多核异构NoC平台,同时考虑计算能耗和通信能耗,结合动态电压/频率调节技术和任务复制技术,对任务执行可靠性进行建模;所述模型的目标函数为均衡系统能耗,即:
s.t.(1)-(9)
其中,为处理器θk消耗的通信能量;为处理器θk消耗的计算能量;x为任务映射优化变量;c为路径选择优化变量;y为频率选择优化变量;h为任务存在索引优化变量;u为任务执行次序优化变量;ts任务起始时间优化变量;对所建目标函数模型引入约束条件,所述约束条件(1)-(7)包括任务分配约束、路径选择约束、频率选择约束、任务存在约束、任务执行可靠性约束、任务执行次序约束、任务不可抢占性约束,(8)和(9)为实时性约束;
S3,混合整数非线性规划问题转化或者启发式算法求解:所述启发式算法求解具体为:针对目标任务的问题,将原问题拆解为任务映射与调度、频率选择与任务复制和多路径路由三个子问题顺序求解,首先将任务暂时均衡映射到各个异构处理器上;其次对处理器上的频率等级进行遍历,得到满足可靠性和时间约束下最节约计算能耗的频率选择方案,对于无法满足约束的任务反馈到第一步重新分配具有更高频率等级的处理器;最后遍历多路径路由,得到通信能耗最优的路径选择方案。
与现有技术相比,本发明的技术方案具有以下有益效果:1)本发明提出了一种在满足系统实时性、可靠性的基础上,结合DVFS和任务复制技术,进行任务调度,以实现均衡系统能耗的目标;2)针对原任务部署问题的结构,提出一种新的基于分解的启发式贪心算法,显著降低了问题的求解时间,提高了本任务部署方法的可扩展性。
附图说明
图1是本发明方法创造思路及解法的步骤流程图;
图2是本发明实施例使用的任务有向无环图和最优化方法中任务复制后扩展得到的任务图;
图3是本发明实验例配置任务数量M=14,在异构NoC平台使用本发明方法最优化求解得到的任务执行结果示意图;
图4是本发明实验例配置任务数量M=14,在异构NoC平台使用本发明方法最优化求解,在任务执行中分别采用单路径路由和多路径路由时系统的目标值对比图;
图5是本发明实验例配置任务数量M=14,在异构NoC平台使用本发明方法最优化求解,在任务执行中分别采用任务级DVFS技术和处理器级DVFS技术时系统的目标值对比图;
图6是本发明实验例配置任务数量M=14,在异构NoC平台使用本发明方法最优化求解,在任务执行中分别采用任务复制与DVFS技术相结合和不考虑任务复制时在不同可靠性阈值下系统的目标值对比图;
图7是本发明实验例配置任务数量M=14,在异构NoC平台使用本发明方法最优化求解,在任务执行中分别采用任务复制与DVFS技术相结合和全部复制任务时系统的目标值对比图;
图8是本发明实验例配置任务数量M=14,在异构NoC平台使用步骤S5提出的启发式算法求解,在任务执行中加入反馈环节和未加入反馈环节时系统的目标值对比图;
图9是本发明实验例配置任务数量M=14,在异构NoC平台使用步骤S5提出的启发式算法和求最优解目标值方面的对比图;
图10是本发明实验例配置任务数量M=9、14、16时,在异构NoC平台使用步骤S5提出的启发式算法和求最优解在算法运行时间方面的对比图。
具体实施方式
下面结合附图和具体实施方式,进一步阐明本发明,应理解下述具体实施方式仅用于说明本发明而不用于限制本发明的范围。
一种基于能量优化的多核异构NoC平台任务执行方法,包括如下步骤:
步骤S1,特征描述:
M个具有相关性的周期性任务{τ1,τ2,...,τM}组成实时系统的任务集合,并通过有向无环图G(V,E)来描述,其中顶点V表示需要执行的任务,有向边E表示任务之间的相关性。任务集合从0时刻释放,共用调度周期H。每个任务可用一个四元组{Ci,Di,pij,sij}来描述,其中Ci为任务τi的最坏情况执行周期(WCEC,Worst Case Execution Cycles);Di为任务τi的相对截止时间;pij为任务相关性矩阵p=[pij]M×M中的第(i,j)元素,如果任务τi和τj具有相关性,τi先于τj且τj是距离τi最近的任务时,pij=1,否则pij=0;当τi完成时,将为其后继任务τj(pij=1)生成一组大小为sij的数据,以比特为单位。
步骤S2,任务执行建模:
多核异构NoC平台具有数量为N的异构独立的处理器{θ1,θ2,...,θN},其中每个处理器θk都支持动态电压/频率调节技术,并可以在lk个离散电压/频率对集合上运行,其中lk为处理器θk的电压频率等级数量。当任务τi映射到处理器θk上,并以电压频率等级(vkl,fkl)执行时,其计算时间为计算能耗为NoC平台采用最基础的二维网格拓扑结构,具有多条数据路由路径,考虑能量消耗最小和传输时间延迟最小的路径的路径。用权重wij表示数据传输表示的时能耗(时间),传输能量(时间)最小的路径转换为寻找最短路径问题,可以通过例如Dijkstra算法求解。进而得到一个能量矩阵e=[eβγkρ]N×N×N×P和一个时间矩阵t=[tβγρ]N×N×P,分别表示任务数据通过不同路径在处理器之间传输时,处理器能量消耗和时间消耗。其中eβγkρ定义为单位数据通过第ρ条路径从θβ路由到θγ,处理器θk上消耗的能量,tβγρ定义为数据通过第ρ条路径将数据从θβ传输到到θγ所需的时间。当两个具有相关性的任务映射到同一个处理器上时,通信能量(时间)为零。根据满足泊松分布的瞬态故障模型得到,当任务τi在处理器θk上以电压/频率等级(vkl,fkl)执行时的可靠性为其中λk,max表示处理器θk在最大工作频率下运行时单位时间的故障率,d为一个正的常数,表示故障率对电压缩放的敏感度,分别表示处理器θk的最大和最小工作频率。当任务τi的可靠性低于其阈值Rth时,为了增强其可靠性,任务将会被复制。本步骤中,引入任务映射、路径选择、频率选择、任务存在索引、任务执行次序、任务起始时间等优化变量:1)当任务τi映射到处理器θk上时,二进制变量xik=1,否则xik=0;2)当数据通过第ρ条路径从处理器θβ路由到θγ时,cβγρ=1,否则cβγρ=0;3)当任务τi被分配到处理器θk上,并以电压频率等级(vkl,fkl)执行时,yikl=1,否则yikl=0;4)当任务τi存在时,hi=1,否则hi=0;5)当任务τi先于任务τj执行时,uij=1,否则uij=0;6)变量是一个连续变量,它表示任务τi的起始时间。引入集合N={1,......,N},M={1,......,M},M′={1,......,2M},Lk={1,......,lk},P={1,2}以简化表述。为了描述权利要求1所述的一种基于能量优化的多核异构NoC平台上的任务执行可靠性设计方法,需要引入以下约束条件:
(1)任务分配约束:不考虑任务迁移技术,每个任务只能在一个处理器上执行。因此在任务分配方面引入如下约束:
(2)路径选择约束:任意两个处理器之间进行通信,有两条路径,分别为能量最小的路径和时间最短的路径,当任务在不同的处理器之间进行传输时只能选择一条路径。因此在路径选择方面引入如下约束:
(3)频率选择约束:每个任务只能选用一个给定的电压/频率等级去执行,因此在频率选择方面引入如下约束:
(4)任务执行可靠性约束:当τi和分别表示原始任务及其复制任务,其中τi和τi+M具有相同的执行周期和截止时间,以及相关性关系。考虑rikl和yikl,在不考虑任务复制的情况下,任务的可靠性为ri=∑kxik(∑lyiklrikl)。复制任务τi+M是否存在,取决于原始任务τi的可靠性ri。为了表示任务τi是否存在,在此引入了一个二进制决策变量hi,因为原始任务总是存在,所以如果ri≥Rth,说明原始任务的可靠性已经满足要求,则不需要复制任务τi,即hi+M=0;否则需要复制任务τi,即hi+M=1。上述判断可写为如下约束:
(5)任务执行次序约束:一个任务τi只有当接收完所有前继任务通信给τi的输入数据之后,才能开始执行。当一个任务完成执行时,它的输出数据可以传输给它的所有后继任务。为了避免通信冲突,路由器将依次接收其他路由器发送的数据,因此,接收执行任务τi所需的全部数据所花费的通信时间为
和分别定义为任务τi的开始时间和结束时间,其中当任务τi存在,且分配到处理器θk上,并以电压频率等级(vkl,fkl)执行时,其计算时间为因此任务τi的计算时间为对于具有相关性的任务τi和τj,它们的起始时间和结束时间的范围为:
(6)任务非抢占式约束:当独立的任务τi和τj(pij=0)分配给相同的处理器时,必须确定它们的执行顺序,这是因为一个处理器同时只能执行一个任务,因此,任务非抢占式约束如下:
如果τi和τj分配给同一处理器,例如xik=xjk=1,式(7)才有意义,其余情况下,式(7)恒成立。在xik=xjk=1情况下,如果uij=1,即τi先于τj执行,则否则,uij=1时,式(7)恒满足。
(7)实时约束:由于每个任务τi的执行时间应小于相对截止时间Di,且所有任务都应在调度周期H内完成,因此在时间方面加入以下约束:
本任务部署问题以均衡系统能耗为目标函数,而基于NoC平台,任务的通信能耗与计算能耗都需要考虑,如果具有相关性的任务τi和τj被分配到不同的处理器,例如θβ和θβ,则处理器θk通过第ρ条路径将大小为sij的任务数据从θβ传输到θβ,所消耗的能量为在这个基础上,将任务复制hi考虑在内,得到处理器θk消耗的通信能量为
另一方面,关于计算能量,在处理器θk上以(vkl,fkl)执行任务τi所需要的能量为因此考虑任务分配xik,得到在处理器θk上消耗的计算能耗为任务τi的计算能耗为因此,为了均衡处理器的能耗,任务部署问题可以表述为如下问题模型:
s.t.(1)-(9)
步骤S3,混合整数非线性规划问题转化或者启发式算法:
对步骤S2中建立的任务部署问题模型进行等价线性化处理。在问题模型P1中,存在if-else结构判断、整数变量相乘的非线性项,因此优化问题(10)是一个混合整型非线性规划问题。步骤(4)通过增加辅助变量和线性化约束的方法将问题(10)等价地转换为混合整型线性规划问题,其具体方式如下:
A、由于公式(4)为if-else结构的非线性约束,为了将其线性化,首先引入如下引理:
证明1:设如果x≥s1,得到b2≥1,且由于0<x-(s1-σ)<s,得到0<b1<1。考虑b1和b2的值,且b∈{0,1},可以得到b=0。另一方面,如果x<s1,有b2<1且b1<0,因此可以得到b=1。
B、由于约束(5)-(8)中存在整型变量相乘的非线性项hiyikl,xikhiyikl,hihjxiβxjγ等,引入引理2对上述非线性项进行线性化。
引理2:假设x,y,z是0-1变量,非线性项z=xy可以通过以下约束代替:z-x≤0,z-y≤0,x+y-z≤1。
证明2:不等式z≤x和z≤y确保了当x=0或y=0时,z=0。另一方面z≥x+y-1确保了当x=1且y=1时,z=1。
基于引理2,引入辅助变量aikl和bikl来分别替换非线性项hiyikl和xikhiyikl(即xikaikl),并添加以下约束:
对于非线性项hihjxiβxjγcβγρ,首先引入线性化辅助变量dij,并加入以下约束来替换非线性项hihj:
同样,引入线性化辅助变量giβjγ及以下约束来替换非线性项xiβxjγ:
在此基础上,引入线性化辅助变量eiβjγρ及以下约束来替换非线性项giβjγcβγρ:
最后,引入线性化辅助变量oiβjγρ及以下约束来替换非线性项dijeiβjγρ:
借助以上线性化辅助变量,问题P1可以线性化为:
s.t.(1)-(3),(5)-(9),(11)-(17)
因为P2是MILP问题,所以可以通过优化求解器,例如gurobi来求解,最优化求解耗时较长。
除了进行等价线性化处理外,也可以通过启发式算法来解决,根据步骤S2中优化问题结构,提出一种新的基于分解的启发式算法,显著降低了问题的求解时间,提高了本任务部署方法的可扩展性。针对原始任务部署问题可以分解为三个子问题:1)任务分配与调度;2)频率选择与任务复制;3)多路径选择。对上述三个子问题依次求解,可以得到一个基于能量优化的任务部署方案。具体步骤如下:
(3.1)任务分配与调度;
s.t.(1),(6),(7),(9)
由于和受到频率选择yikl和任务复制hi的影响,而yikl和hi目前未知,因此,暂时将和分别用处理器θk的平均计算能量和任务τi的平均计算时间代替。即分别表示当任务τi映射到处理器θk上时,以其上所有电压频率等级运行时的计算时间平均值和计算能量平均值,Lk为处理器θk上电压/频率等级的总数。进而得到下式一旦频率选择yikl和任务复制hi确定,和的值将相应地更新。
由于和受路径选择cβγρ的影响,而cβγρ目前未知,因此,暂时将和受分别用处理器θk的平均通信能量和任务τi的平均通信时间代替,假设任务τi映射到处理器θk上, 其中M1为任务τi的前继任务的数量,这里考虑最坏情况,即所有前继任务全部需要复制,M2=2M1为前继任务和前继任务的复制任务总数量,θβ为前继任务所映射到的处理器。一旦路径选择cβγρ确定,和的值将相应地更新。
根据问题(12)的结构,采用贪心算法来求解该问题,分为如下三个步骤:
第一步,通过任务分层的方式确定算法中任务的遍历次序。由于所有任务的入度和出度都可以计算得到,根据任务的入度和出度将任务划分为多个层。这样可以同时满足任务执行次序约束(6)以及任务不可抢占约束(7)。具体方法为:
(1)根据有向无环图找到入口任务,构成第一层的任务集合,标记为layer0;
(2)循环layer0中的任务,通过递归的方法依次确定其每个后继任务的分层级别,并由此更新已经确定的任务分层级别;
(3)同一层中的任务根据其执行周期大小按降序排序。如果同一层中的任务具有相同的执行周期,那么将它们随机排序;
(4)以此类推,对下一层的任务按(3)排序,并按照分层级别由小到大将任务排序,直到所有任务标记完成。
第二步,排除不满足系统实时性约束的分配方案。按照第一步中得到的任务遍历次序,迭代地为一个任务τi分配一个处理器θk,若不满足实时性约束,则排除此方案重新进行任务分配。
第三步,利用贪心算法确定任务映射优化变量xik。计算满足实时性约束的任务的能耗,为实现均衡处理器的能量消耗的目标,选择使计算能耗和通信能耗增量最小的任务分配方案。
(3.2)频率选择与任务复制;
基于(3.1)的结果确定频率选择优化变量yikl和任务存在索引优化变量hi,由于任务复制hi是由频率选择yikl决定的,所以根据(4)的分析,yikl和hi应该联合优化。因为yikl和hi主要影响任务的计算时间和计算能量为了最小化计算能量,频率选择和任务复制问题可以表述为:
s.t.(3)-(5),(8),(9)
第一步,验证任务分配的结果是否满足任务相对截止时间约束。按照(3.1)中任务分层得到的任务分配的顺序,迭代地将处理器θk上的频率等级分配给任务τi,在此过程中,如果不能满足任务相对截止时间约束(8),则排除这个频率选择方案。如果该处理器上的所有频率都无法满足截止时间约束,则返回(3.1)为该任务重新分配具有更高频率的处理器。
第三步,判断复制任务是否存在。根据频率选择的结果,即已知原始任务τi的频率分配,可以通过(4)确定复制任务是否存在,即hi+M的值。
(3.3)多路径选择;
最后一个子问题决定了路径选择优化变量cβγρ。由于cβγρ不影响计算时间和计算能量只影响通信时间和通信能量因此子问题中只更新通信时间和能量。为了平衡处理器的能耗,同时满足实时限制,将路径选择问题表述为:
s.t.(2),(9)
利用贪心算法确定路径选择优化变量cβγρ。为每对处理器(θβ,θγ)引入一个路径选择索引Q[β][γ]。Q[β][γ]=ρ代表数据通过第ρ条路径从θβ传输到θγ。为每对处理器(θβ,θγ)迭代地确定路由路径。其目的是为θβ和θγ找到一条路径,使这些处理器之间的通信能量增量最小。在此过程中,应该满足实时约束(9),使其不超出调度周期。
基于上述问题,能够求解任务映射优化变量xik、路径选择优化变量cβγρ、频率选择优化变量yikl、任务存在索引优化变量hi、任务执行次序优化变量uij、任务起始时间优化变量从而得到一种基于能量优化的多核异构NoC平台上的任务执行可靠性设计方案。
实验例:
为了测量本方法的可靠性,对其进行实验测试,本发明实验环境为MatlabR2021a,求解器采用gurobi求解器;采用70纳米处理器的技术参数;图1为本发明方法创造思路及解法的步骤流程图,图2至图10为本发明的实验结果图。
图2为本实施例使用的任务有向无环图和任务复制后扩展得到的任务图。由图2可看出,复制任务的相关性关系与原始任务相同,部分复制任务避免出现任务冗余。
图3是本发明实验例配置任务数量M=14,在异构NoC平台使用本发明方法最优化求解得到的任务执行结果示意图,左上角的数字表示任务执行使用的电压频率等级,其中τ17,τ24,τ26为复制任务,图上可以看出,本发明方法可以很好地在时间约束和可靠性约束下实现对任务的调度及均衡处理器能耗的目标。
图4是本发明实施例配置任务数量M=14,在异构NoC平台使用本案方法最优化求解,在任务执行中分别采用单路径路由和多路径路由时系统的目标值对比图。由图中可以看出,本发明中采用的多路径方案,可以选择更优的路径,进一步提高能源效率。
图5是本发明实施例配置任务数量M=14,在异构NoC平台使用本案方法最优化求解,在任务执行中分别采用任务级DVFS(TL-DVFS)技术和处理器级DVFS(PL-DVFS)技术时系统的目标值对比图。由图中可以看出,本发明中采用的任务级DVFS技术方案在相同的调度周期下目标值更低,灵活性和能源效率更高。
图6是本发明实施例配置任务数量M=14,在异构NoC平台使用本发明方法最优化求解,在任务执行中分别采用任务复制与DVFS技术相结合和不考虑任务复制时在不同可靠性阈值下系统的目标值对比图,横坐标为可靠性阈值大小,纵坐标为目标值。由图中可以看出,如果没有采用本发明中的任务复制与DVFS技术相结合方案,存在即使采用最高的电压频率等级也无法满足可靠性要求的情况,而采用任务复制方案后,每个任务都能达到可靠性要求,且目标值更低更节能。
图7是本发明实施例配置任务数量M=14,在异构NoC平台使用本发明方法最优化求解,在任务部署中分别采用任务复制与DVFS技术相结合和全部复制任务时系统的目标值对比图,横坐标为调度周期大小,纵坐标为目标值。由图中可以看出,如果没有采用本发明中的任务复制与DVFS技术相结合方案,全部复制任务使得任务数量翻倍、任务的相关性关系也大大增加,在相同的调度周期下会消耗更多的能量,且难以在较小的调度周期内找到可行解,而采用部分任务复制方案后,减少了待执行任务的数量,节约能耗。
图8是本发明实施例配置任务数量M=14,在异构NoC平台使用本发明步骤S5提出的启发式算法求解,在任务执行中加入反馈环节和未加入反馈环节时系统的目标值对比图。由图中可以看出,本发明中添加的反馈环节扩大了可行域的范围。
图9是本发明实施例配置任务数量M=14,在异构NoC平台使用提出的启发式算法和求最优解目标值方面的对比图。由图中可以看出,本发明提出的启发式算法提供了一个次优解,比最优解有更高的但是可以接受的能耗,随着调度周期的增大,本发明提出的启发式算法得到的目标值与最优解相差无几。
图10是本发明实施例配置任务数量M=9、14、16时,在异构NoC平台使用提出的启发式算法和求最优解在算法运行时间方面的对比图。由图中可以看出,启发式算法以降低一定程度系统解的质量为代价,显著提升了任务调度算法的运行速度。
需要说明的是,以上内容仅仅说明了本发明的技术思想,不能以此限定本发明的保护范围,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰均落入本发明权利要求书的保护范围之内。
Claims (6)
1.一种基于能量优化的多核异构NoC平台任务执行方法,其特征在于,包括如下步骤:
S1,特征描述:通过一个元组来描述每个精确计算任务的特征,包括任务执行周期、任务截止时间、由有向无环图描述的任务图转换的任务相关性矩阵及通信数据大小;所述元组可用四元组{Ci,Di,pij,sij}来描述,其中,Ci为任务τi的最坏情况执行周期;Di为任务τi的相对截止时间;pij为任务相关性矩阵p=[pij]M×M中的第(i,j)元素;sij为通信数据大小;
S2,任务执行建模:基于多核异构NoC平台,同时考虑计算能耗和通信能耗,结合动态电压/频率调节技术和任务复制技术,对任务执行可靠性进行建模;所述模型的目标函数为均衡系统能耗,即:
s.t.(1)-(9)
其中,为处理器θk消耗的通信能量;为处理器θk消耗的计算能量;x为任务映射优化变量;c为路径选择优化变量;y为频率选择优化变量;h为任务存在索引优化变量;u为任务执行次序优化变量;ts任务起始时间优化变量;对所建目标函数模型引入约束条件,所述约束条件(1)-(7)包括任务分配约束、路径选择约束、频率选择约束、任务存在约束、任务执行可靠性约束、任务执行次序约束、任务不可抢占性约束,(8)和(9)为实时性约束;
S3,混合整数非线性规划问题转化或者启发式算法求解:通过混合整数非线性规划问题转化为线性化问题或者启发式算法求解步骤S2中混合整数非线性规划问题,所述启发式算法求解具体为:针对目标任务的问题,将原问题拆解为任务映射与调度、频率选择与任务复制和多路径路由三个子问题顺序求解,首先将任务暂时均衡映射到各个异构处理器上;其次对处理器上的频率等级进行遍历,得到满足可靠性和时间约束下最节约计算能耗的频率选择方案,对于无法满足约束的任务反馈到第一步重新分配具有更高频率等级的处理器;最后遍历多路径路由,得到通信能耗最优的路径选择方案。
2.如权利要求1所述的一种基于能量优化的多核异构NoC平台任务执行方法,其特征在于:针对步骤S2中混合整数非线性规划问题,所述步骤S3中的启发式算法具体步骤如下:
(3.1)任务映射与调度
所述(3.1)中目标函数模型为在任务执行顺序和任务不可抢占约束下,均衡系统能耗,即:
s.t.(1),(6),(7),(9)
所述(3.1)采用贪心算法来求解,具体分为如下三个步骤:
第一步,通过任务分层的方式确定算法中任务的遍历次序;计算任务的入度和出度,并将任务划分为多个层以满足任务执行次序约束和任务不可抢占约束;
第二步,排除不满足系统实时性约束的分配方案;按照第一步中得到的任务遍历次序,迭代地为一个任务τi分配一个处理器θk,若不满足实时性约束,则排除此方案重新进行任务分配;
第三步,利用贪心算法确定任务映射优化变量xik;计算满足实时性约束的任务的能耗,选择使计算能耗和通信能耗增量最小的任务分配方案;
(3.2)频率选择与任务复制
所述步骤(3.2)是基于(3.1)任务映射的结果,目标函数为最小化计算能量,即:
s.t.(3)-(5),(8),(9)
第一步,验证任务分配的结果是否满足任务相对截止时间约束;按照(3.1)中任务分层得到的任务分配的顺序,迭代地将处理器θk上的频率等级分配给任务τi,在此过程中,如果不能满足任务相对截止时间约束,则排除这个频率选择方案;如果该处理器上的所有频率都无法满足截止时间约束,则返回步骤(3.1)为该任务重新分配具有更高频率的处理器;
第二步,利用贪心算法确定频率选择优化变量yikl;计算满足实时性约束的任务的计算能耗,选择使计算能耗最小的频率方案;
第三步,判断复制任务是否存在;由原始任务τi的频率选择yikl及任务执行可靠性约束确定复制任务是否存在,即hi+M的值;
第四步,对复制任务及其原始任务联合优化频率分配;选择使任务副本及其对应的原始任务其计算能量之和最小的频率选择方案;
所述(3.2)最终得到频率选择优化变量yikl和任务存在索引优化变量hi的值;(3.3)多路径路由
所述步骤(3.3)是基于(3.1)任务映射和(3.2)频率选择和任务存在的结果,目标函数为均衡处理器能耗,即:
s.t.(2),(9)
所述(3.3)采用贪心算法为每对处理器(θβ,θγ)迭代地确定路由路径,选择θβ到θγ中不超出调度周期并使处理器间通信能量增量最小的通信路径;
所述(3.3)最终得到路径选择优化变量cβγρ的值。
3.如权利要求1所述的一种基于能量优化的多核异构NoC平台任务执行方法,其特征在于:所述步骤S3中混合整数非线性规划问题转化具体为:采用引入辅助变量和增加线性化约束的方法将步骤S2提出的目标函数相关混合整数非线性规划问题等价线性化为混合整数线性规划问题,并通过最优化方法找到最优解。
5.如权利要求2或3或4所述的一种基于能量优化的多核异构NoC平台任务执行方法,其特征在于:所述步骤S1中,若任务τi和τj具有相关性,τi先于τj且τj是距离τi最近的任务时,pij=1,否则pij=0;当τi完成时,将为其后继任务τj(pij=1)生成一组大小为sij的数据,以比特为单位。
6.如权利要求5所述的一种基于能量优化的多核异构NoC平台任务执行方法,其特征在于:所述步骤S2中的通信能耗为:
其中,hi和hj分别为任务τi和τj的存在索引;pij为任务相关性矩阵p=[pij]M×M中的第(i,j)元素;sij为通信数据大小;xiβ表示任务τi映射到处理器θβ上;xjγ表示任务τj映射到处理器θγ上;cβγρ表示处理器θβ和θγ之间通过第ρ条路径传送数据;eβγkρ表示当处理器θβ和θγ之间通过第ρ条路径传送数据时,在处理器θk上的通信能耗;
所述计算能耗为:
其中,xik表示任务τi映射到处理器θk上;hi为任务τi存在索引;yikl为任务τi选择为处理器θk上第l个频率等级;Ci为任务τi的最坏情况执行周期;fkl为处理器θk上第l个频率等级;Pkl为频率等级fkl相应的功耗;
所述步骤S2中任务分配约束指每个任务只能在一个处理器上执行,具体为:
其中,xik表示任务τi映射到处理器θk上;
所述路径选择约束为当任务在不同的处理器之间进行传输时只能选择能量最小的路径或时间最短的路径,具体为:
其中,cβγρ表示处理器θβ和θγ之间通过第ρ条路径传送数据;
所述频率选择约束为每个任务只能选用一个给定的电压/频率等级去执行,具体为:
其中,yikl为任务τi选择为处理器θk上第l个频率等级;
所述任务执行可靠性约束中,原始任务的可靠性为ri=∑kxik(∑lyiklrikl),复制任务τi+M是否存在,取决于原始任务τi的可靠性ri;引入了一个二进制决策变量hi,如果ri≥Rth,说明原始任务的可靠性已经满足要求,则不需要复制任务τi,即hi+M=0;否则需要复制任务τi,即hi+M=1,即:
其中,ri′为原始任务τi复制后的可靠性,Rth为可靠性阈值;
所述任务执行次序约束为:对于具有相关性的任务τi和τj,它们的起始时间和结束时间的范围为:
所述任务非抢占式约束为当独立的任务τi和τj(pij=0)分配给相同的处理器时,必须确定它们的执行顺序,具体为:
所述实时约束指由于每个任务τi的执行时间应小于相对截止时间Di,且所有任务都应在调度周期H内完成,因此在时间方面加入以下约束:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210944749.6A CN115328628A (zh) | 2022-08-08 | 2022-08-08 | 一种基于能量优化的多核异构NoC平台任务执行方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210944749.6A CN115328628A (zh) | 2022-08-08 | 2022-08-08 | 一种基于能量优化的多核异构NoC平台任务执行方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115328628A true CN115328628A (zh) | 2022-11-11 |
Family
ID=83922050
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210944749.6A Pending CN115328628A (zh) | 2022-08-08 | 2022-08-08 | 一种基于能量优化的多核异构NoC平台任务执行方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115328628A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116339957A (zh) * | 2023-05-30 | 2023-06-27 | 北京理工大学 | 一种异构分布式平台混合关键系统的任务调度方法及系统 |
-
2022
- 2022-08-08 CN CN202210944749.6A patent/CN115328628A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116339957A (zh) * | 2023-05-30 | 2023-06-27 | 北京理工大学 | 一种异构分布式平台混合关键系统的任务调度方法及系统 |
CN116339957B (zh) * | 2023-05-30 | 2023-08-11 | 北京理工大学 | 一种异构分布式平台混合关键系统的任务调度方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kwok et al. | Dynamic critical-path scheduling: An effective technique for allocating task graphs to multiprocessors | |
US8612987B2 (en) | Prediction-based resource matching for grid environments | |
US20210304066A1 (en) | Partitioning for an execution pipeline | |
Li et al. | An effective scheduling strategy based on hypergraph partition in geographically distributed datacenters | |
Schlag et al. | Scalable edge partitioning | |
Alam et al. | A new approach of dynamic load balancing scheduling algorithm for homogeneous multiprocessor system | |
Gu et al. | Maximizing workflow throughput for streaming applications in distributed environments | |
CN115328628A (zh) | 一种基于能量优化的多核异构NoC平台任务执行方法 | |
Shi et al. | Multijob associated task scheduling for cloud computing based on task duplication and insertion | |
Mo et al. | Energy efficient, real-time and reliable task deployment on noc-based multicores with DVFS | |
Huang et al. | A scalable and adaptable ILP-based approach for task mapping on MPSoC considering load balance and communication optimization | |
Cao et al. | Distributed workflow mapping algorithm for maximized reliability under end-to-end delay constraint | |
Gu et al. | Distributed throughput optimization for large-scale scientific workflows under fault-tolerance constraint | |
Mo et al. | Heet: Accelerating Elastic Training in Heterogeneous Deep Learning Clusters | |
Namyar et al. | Solving {Max-Min} Fair Resource Allocations Quickly on Large Graphs | |
CN113448736A (zh) | 一种近似计算任务在多核异构处理平台上基于能量和QoS联合优化的任务映射方法 | |
Shah et al. | Modified least cost method for grid resource allocation | |
Hung et al. | Scalable scheduling in parallel processors | |
Wu et al. | Latency modeling and minimization for large-scale scientific workflows in distributed network environments | |
Banicescu et al. | Towards the robustness of dynamic loop scheduling on large-scale heterogeneous distributed systems | |
Gao et al. | Overbooking-enabled task scheduling and resource allocation in mobile edge computing environments | |
Tong et al. | H2ACO: An optimization approach to scheduling tasks with availability constraint in heterogeneous systems | |
CN113377542A (zh) | 一种多核嵌入式系统的网络节点任务映射方法 | |
Chen et al. | MARCO: A High-performance Task M apping a nd R outing Co-optimization Framework for Point-to-Point NoC-based Heterogeneous Computing Systems | |
Park et al. | Gemma: reinforcement learning-based graph embedding and mapping for virtual network applications |
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 |