CN113377542B - 一种多核嵌入式系统的网络节点任务映射方法 - Google Patents

一种多核嵌入式系统的网络节点任务映射方法 Download PDF

Info

Publication number
CN113377542B
CN113377542B CN202110705825.3A CN202110705825A CN113377542B CN 113377542 B CN113377542 B CN 113377542B CN 202110705825 A CN202110705825 A CN 202110705825A CN 113377542 B CN113377542 B CN 113377542B
Authority
CN
China
Prior art keywords
task
tasks
execution
tau
core
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
CN202110705825.3A
Other languages
English (en)
Other versions
CN113377542A (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.)
Southeast University
Original Assignee
Southeast University
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 Southeast University filed Critical Southeast University
Priority to CN202110705825.3A priority Critical patent/CN113377542B/zh
Publication of CN113377542A publication Critical patent/CN113377542A/zh
Application granted granted Critical
Publication of CN113377542B publication Critical patent/CN113377542B/zh
Active 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • 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)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种多核嵌入式系统的网络节点任务映射方法,该方法包括以下步骤:通过无线网络节点拓扑结构得到节点图,由此建立节点间的通信能耗与通信时间矩阵;根据实际应用得到任务间的相关性,并建立任务图及任务间的相关性矩阵;通过任务执行可靠性模型,建立任务可靠性、动态电压/频率调整、任务复制之间的关系;引入任务分配、频率选择、任务复制、任务执行起始时间、任务执行顺序优化变量,构造相应的时间和能量约束,构建多核嵌入式系统的网络节点任务映射问题;利用变量替代方法,将提出的优化问题线性化以便求得最优解;针对优化问题结构利用解耦及任务分层的方法,设计低计算复杂度的启发式算法以提高本映射方法的可扩展性。

Description

一种多核嵌入式系统的网络节点任务映射方法
技术领域
本发明属于嵌入式实时系统领域,涉及一种多核嵌入式系统的网络节点任务映射方法。
背景技术
嵌入式系统因具有结构简单、低成本、功耗小、可定制化程度高等特点,已逐步成为了网络化系统的核心组成部分。它使得网络节点在微小体积内能够实现信息采集、数据处理、无线通信等多种功能。虽然单个节点能力有限,只能完成某些特定的简单任务,但是通过节点间的协同工作,能够完成单个节点所不能完成的复杂任务。因此,需要对任务在网络节点上的映射过程进行优化设计。通过将任务分配到网络化节点上执行,并调整任务的起始时间和执行时间,可实现节点间的高效协同工作。在任务映射过程中,受节点硬件和实际应用的影响,需要考虑实时性、可靠性和能效性方面的约束。由于提高系统可靠性会影响实时性和能效性,为了均衡上述目标,需要对此进行联合优化,并且根据不同的性能指标设计相应的求解算法。
如今,多核嵌入式实时系统的任务映射研究已经取得了很多的研究成果。然而还存在以下的问题:1)网络化系统中嵌入式节点的通信成本(包括通信时间和能量)不可忽略;2)任务在多核嵌入式节点上映射过程中存在执行冲突;3)基于多目标优化的多核嵌入式系统任务映射问题具有较高的计算复杂度。
发明内容
发明目的:本发明提出了一种多核嵌入式系统的网络节点任务映射方法,在考虑实时性、可靠性和能效性的约束下,确定任务频率选择、任务复制、任务分配和任务执行起始时间决策,以达到均衡各节点能耗的目的。
技术方案:为实现本发明的目的,本发明所采用的技术方案是:一种多核嵌入式系统的网络节点任务映射方法,该方法包括如下步骤:
(1)通过无线网络节点的拓扑结构得到无向节点图,由此建立节点间的通信能耗矩阵与通信时间矩阵;
(2)根据实际应用得到任务的相关性,由此得到任务的有向无环图,以及任务间的相关性矩阵;
(3)通过任务执行可靠性模型,建立任务可靠性、动态电压/频率调整、任务复制之间的关系;
(4)引入任务分配、频率选择、任务复制、任务执行起始时间、任务执行顺序等优化变量并构造相应的时间和能量约束,从而构建基于多核嵌入式系统的网络节点任务映射优化问题;
(5)将(4)所提出的优化问题线性化;
(6)针对(4)所提出的优化问题结构利用解耦及任务分层方法设计了低计算复杂度的启发式算法,以提高本映射方法的可扩展性。
进一步的,步骤(1)中节点图由一系列具有特定功能(例如感知、执行和控制)的节点所组成,每个节点的处理器为多核结构,考虑系统中所有节点一共有N个核{θ1,…θN}。处理器的核为同构的并支持动态电压/频率调整(Dynamic Voltage/Frequency Scaling,DVFS)。每个核都拥有L个不同的V/F等级{(v1,f1),…,(vL,fL)},Pl是核工作在(vl,fl)时的功率。根据网络拓扑结构可以得到一个能量矩阵e=[eβγk]N×N×N和一个时间矩阵t=[tβγ]N×N,矩阵元素eβγk和tβγ分别表示将单位数据从核θβ传输到核θγ时,核θk所需消耗的能量;以及数据从核θβ传输到核θγ时所需要花费的时间。由于同一处理器上的核与核之间的通信主要通过数据总线和控制总线完成,因此与节点间通信相比,在同个节点核与核之间传输数据的时间和能量消耗非常小,可以用足够小的正数σt和σe来表示。
进一步的,步骤(2)中,可用M个具有相关性的任务{τ1,…τM}来描述一个具体应用,由此得到任务的有向无环图。对于每个任务τi,Ci表示任务的最差情况执行周期,Di表示任务的执行截止时间。任务间的相关性可用一个矩阵p=[pij]M×M来描述。如果任务τi与任务τj相关且τi在τj之前,则pij=1,否则,pij=0。如果任务τi和τj具有相关性(即pij=1),当任务τi执行后将为任务τj生成一组大小为sij的数据。
进一步的,步骤(3)中,引入可靠性来调整任务的映射情况,当任务τi在V/F等级(vl,fl)下执行,其可靠性为:
其中λ为最大故障率,d为一个正数,表示故障率与频率调整的敏感性。因此,通过DVFS方式可调整任务的可靠性Ril
利用Rth表示可靠性阈值,如果任务τi的可靠性低于阈值Rth,即时,为了提高其可靠性,可以通过DVFS和任务复制相结合的方法达到目的。若任务τi被复制,则原任务τi及复制任务τi+M都会被执行,且复制任务τi+M的执行周期也为Ci。原任务τi和复制任务τi+M,如果其中一个任务出现错误,则可以通过执行成功的任务继续下一步执行。在通常情况下,原任务τi和复制任务τi+M同时出现错误的可能性很小(即至少有一个任务会成功)。由于不是每个原任务都会被复制,引入优化变量hi来描述任务τi的存在性。同时考虑DVFS优化变量yil,则任务τi的可靠性为:
进一步的,步骤(4)中,引入频率选择、任务复制、任务分配、任务执行起始时间、任务执行顺序等优化变量:1)如果任务τi以频率fl执行,则二进制变量yil=1,否则,yil=0;2)如果任务τi存在,则二进制变量hi=1,否则hi=0;3)如果任务τi被分配到核θk执行,则二进制变量xik=1,否则,xik=0;4)连续变量来表示任务τi的执行起始时间;5)对于相互独立的任务τi和τj,引入二进制变量oij来表示当任务τi和τj映射到同一个核上时任务执行顺序,当任务τi在任务τj之前执行时,oij=1,否则,oij=0。为了问题描述方便,令集合
为了描述一种多核嵌入式系统的网络节点可靠任务映射方法,需增加以下约束条件:
1)任务分配:由于本发明不考虑任务迁移情况,即每个任务的完整执行过程只能在一个核上完成,因此加入以下约束:
2)频率选择:由于本发明考虑的是任务级别的DVFS,也就是说,每个任务只能选择一个V/F等级来执行,且在执行过程中不会发生跳频现象,因此在任务的频率选择方面加入如下约束:
3)任务复制:对于任务τi,如果满足即满足可靠性要求,此时不需要复制任务τi,从而任务τi+M不存在。否则,为了提高任务τi的可靠性,需要复制任务τi,则任务τi+M被引入任务图。由于原任务{τ1,…,τM}始终存在,而复制任务{τM+1,…,τ2M}是否存在依赖于原任务的可靠性,因此可加入以下两个约束:
4)能量约束:如果任务τi和τj具有相关性(即pij=1),并且被分配到不同的核上时(如θβ和θγ),任务τi执行结束会产生大小为sij的数据给任务τj。根据能量矩阵e,数据通信过程中核θk所消耗的能量可计算为pijsijxxeβγk。在此基础上,通过考虑复制决策hi,核θk的通信能耗可通过下式计算为:
此外,如果任务τi被分配到核θk,并以V/F等级(vl,fl)来执行任务(即xik=yil=1),核θk用于执行任务τi所消耗的时间和能量分别为和/>所以,在给定任务分配xik和频率选择yil的情况下,核θk上用于执行任务的能量为:
由于在任务映射过程中核θk用于任务执行和数据通信的总能耗不能超过其能量预算因此有:
5)时间约束:基于任务相关性矩阵p,与任务τi相关且在其之前执行的任务数量是已知的,即在执行任务τi时,需要收集任务τi之前执行的所有相关任务生成的数据。为了避免通信冲突,一个核依次接收来自其他核的数据。因此,对于任务τi,接收数据和执行任务所花费的通信时间和执行时间分别为:
由于每个任务都需要在其截止时间之前完成执行,因此有如下约束:
6)任务执行起始时间:为了避免任务在同一个核上执行时发生抢占的情况,同一时间同一个核上只能执行一个任务。同时,由于任务间具有相关性,我们引入以下约束:
a)独立任务:对于相互独立的任务τi和τj,它们可能分配到不同的核上,也可能分配到同一个核上,当它们分配到同一核上时,需要考虑任务的非抢占性,因此,我们引入以下两个约束:
其中,T表示所有任务的最大可允许截止时间,表示任务τi执行的结束时间,所以可以得到/>同时,执行顺序优化变量oij满足以下条件:
b)相关任务:对于具有相关性的任务τi和τj(即pij=1),无论它们是否分配在同一核上,为确定两个任务执行顺序,都需要满足以下约束:
根据问题模型,可建立多核嵌入式系统的网络节点任务映射优化问题:
s.t.(1),(2),(3),(4),(10)-(15)
进一步的,步骤(5)中,对步骤(4)中建立的问题模型进行线性化处理:
(7.1)由于公式(4)是非线性的,为了将其线性化,首先引入如下引理:
引理1:假设b是一个二进制变量,x是一个连续变量,且其范围为0≤x≤s。对于判断1)2)/>(其中s1为常数,且s1≤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。
根据引理1,公式(4)可被线性化为:
(7.2)由于公式(5)、(6)、(8)、(9)中存在多个变量相乘的非线性项,因此优化问题(16)是一个混合整数非线性问题。为了将问题线性化,引入以下引理:
引理2:设x、y为二进制变量,通过引入二进制辅助变量z=xy,并在问题中引入以下约束:z-x≤0,z-y≤0,x+y-z≤1,则非线性项xy可被线性化。
证明:当x=0或y=0时,通过不等式z≤x和z≤y可以得到z=0。另一方面,当变量x和y均为1时,根据不等式z≥x+y-1,可得z=1。
基于引理2,对于非线性项hihjxx,首先引入辅助变量zij,并添加以下约束来替换非线性项hihj
在此基础上,利用辅助变量qiβjγ和以下附加约束来处理非线性项xx
最后,引入辅助变量liβjγ并添加以下约束来替换非线性项zijqiβjγ
同样,引入辅助变量ril和gikl,并分别加入以下约束来替换非线性项hiyil和xikhiyil(即xikril):
借助于辅助变量zij、qiβjγ、liβjγ、ril和gikl,公式(5)和(6)可转换为:
同理,公式(8)和(9)可转换为:
因此,问题(16)可线性化为:
s.t.(1),(2),(3),(4),(7),(10)-(15),(17)-(21)
进一步的,在步骤(6)中,根据步骤(4)中优化问题结构,利用解耦及任务分层的方法,设计了低计算复杂度的启发式算法,以提高本映射方法的可扩展性。
求解过程可以分为三步:第一步通过贪婪算法确定频率选择和任务复制;第二步在上一步的基础上利用任务分层的方式得到任务分配和任务执行起始时间;最后一步验证所得到的任务映射结果是否满足实时性约束。具体方法如下:
(8.1)确定每个任务的频率选择y和任务复制h的决策;
为了在满足实时性和可靠性约束下均衡任务在核上的执行能耗,频率选择和任务复制的联合优化问题构可造如下:
s.t.(2),(3),(17),
yil,hi∈{0,1}.
根据问题结构,基于贪婪算法来解决优化问题(28)。首先在实时约束下利用贪婪算法为原任务τi选择合适的频率,使得任务执行能耗最小。在给定频率选择决策的情况下,如果该决策不能满足任务的实时约束,则排除这个频率选择。对于原任务τi,当其执行频率确定情况下,可得到相应的任务复制决策hi。如果任务τi不满足可靠性要求,则τi会被复制,即任务τi+M存在。然后,使用相同的方法为复制任务τi+M寻找合适的执行频率。最后,迭代地将上述频率选择过程应用于每个任务,就能找到优化问题(28)的解。
(8.2)基于(8.1)的结果求解任务分配决策x和任务执行起始时间ts
由于任务执行频率y已经确定,实时性要求已经初步被满足,且任务分配除了对核的执行和通信能耗有影响外,并不会影响任务的执行时间。因此,在保证满足能量约束的前提下,以均衡各个核总能耗为目标的多核嵌入式网络节点可靠任务映射问题可描述如下:
s.t.(1),(7),(11)-(15),
xik,oij∈{0,1},
为了有效解决问题(29),把求解过程分为两个步骤。第一步是对任务图进行分层,即将任务图以树状结构展开,其中同一层的任务是独立的。具体方法如下:
(1)根据给定的任务图,找到入度为0的任务集构成第一层;
(2)找到任务集Γ1中所有任务的后继任务构成任务集Γ2,剔除Γ2中的重复项,并剔除Γ2中每对相关任务中的后继任务(如果pij=1,则τj为后继任务),避免每层任务之间存在通信,同时令Γ1=Γ2
(3)重复步骤(2)以找到当前任务集的下一层任务集,直到任务图中的所有任务完成分层。
第二步在第一步得到任务分层图的基础上,求任务分配决策x和任务执行起始时间ts。具体方法为:从任务图的第一层开始,基于贪婪算法,迭代地将当前层的所有任务映射到适当的核上执行,以在满足能量约束的条件下,使各个核上的能耗增量最小。同时,确定每个任务τi的执行起始时间其主要决定因素为:1)分配到同一个核的前一个任务的执行结束时间,2)所有该任务之前的相关任务的最晚结束时间。因此,/>取两者中的最大值。
(8.3)验证通过(8.1)和(8.2)得到的任务映射结果是否满足实时性约束。
基于所得的频率选择y、任务复制h、任务分配x和任务起始时间ts,根据式(8)、(9)计算每个任务执行的结束时间能否满足实时性约束。
有益效果:与现有技术相比,本发明的技术方案具有以下有益效果:1)本发明提供了一种在保证任务实时性和可靠性的前提下,提高节点能效性的优化任务映射方法;2)针对多核嵌入式实时系统的任务映射问题,提供了基于问题解耦和任务图分层的启发式算法,以降低计算复杂度。
附图说明
图1是本发明实施例使用的任务映射模型的示意图;
图2是本发明实例2在进行任务映射时,12个任务在3个双核嵌入式节点上的映射结果示意图,其中τ110为原任务,τ17和τ20分别为τ7和τ10的复制任务;
图3是本发明实例2配置任务数量为10(M=10),双核嵌入式节点数量为3(N=6),频率等级数量为5(L=5)时,在任务映射中采用任务复制和不采用任务复制时各任务的可靠性对比图;
图4是本发明实例2配置任务数量为10(M=10),双核嵌入式节点数量为3(N=6),频率等级数量为5(L=5)时,单核和多核情况下的任务映射在目标值和可行性方面的对比图;
图5是本发明实例2配置任务数量为10(M=10),双核嵌入式节点数量为3(N=6),频率等级数量为5(L=5)时,使用提出的启发式算法和求最优解在求解时间和目标值方面的对比图。
具体实施方式
以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。
实施例一:
图1本发明实施例使用的任务映射模型的示意图,下面参照图1,详细说明各个步骤。
步骤(1),节点图由一系列具有特定功能(例如感知、执行和控制)的节点所组成,每个节点的处理器为多核结构,考虑系统中所有节点一共有N个核{θ1,…θN}。处理器的核为同构的并支持动态电压/频率调整(Dynamic Voltage/Frequency Scaling,DVFS)。每个核都拥有L个不同的V/F等级{(v1,f1),…,(vL,fL)},Pl是核工作在(vl,fl)时的功率。根据网络拓扑结构可以得到一个能量矩阵e=[eβγk]N×N×N和一个时间矩阵t=[tβγ]N×N,矩阵元素eβγk和tβγ分别表示将单位数据从核θβ传输到核θγ时,核θk所需消耗的能量;以及数据从核θβ传输到核θγ时所需要花费的时间。由于同一处理器上的核与核之间的通信主要通过数据总线和控制总线完成,因此与节点间通信相比,在核之间传输数据的时间和能量消耗非常小,可以用足够小的正数σt和σe来表示。
步骤(2),用M个具有相关性的任务{τ1,…τM}来描述一个具体应用,由此得到任务的有向无环图。对于每个任务τi,Ci表示任务最差情况执行周期,Di表示任务的执行截止时间。任务间的相关性可用一个矩阵p=[pij]M×M来描述。如果任务τi与任务τj相关且任务τi在任务τj之前,则pij=1,否则,pij=0。如果任务τi和τj具有相关性(即pij=1),任务τi执行完后会为任务τj生成一组大小为sij的数据。
步骤(3),引入可靠性来调整任务的映射情况,当任务τi在V/F等级(vl,fl)下执行,其可靠性为:
其中λ为最大故障率,d为一个正数,表示故障率与频率调整的敏感性。因此,通过DVFS方式可调整任务的可靠性Ril
利用Rth表示可靠性阈值,如果任务τi的可靠性低于阈值Rth,即时,为了提高其可靠性,可以通过DVFS和任务复制相结合的方法达到目的。若任务τi被复制,则原任务τi及复制任务τi+M都会被执行,且复制任务τi+M的执行周期也为Ci。原任务τi和复制任务τi+M,如果其中一个任务出现错误,则可以通过执行成功的任务继续下一步执行。在通常情况下,原任务τi和复制任务τi+M同时出现错误的可能性很小(即至少有一个任务会成功)。由于不是每个原任务都会被复制,引入优化变量hi来描述任务τi的存在性。同时考虑DVFS优化变量yil,则任务τi的可靠性为:
步骤(4),引入频率选择、任务复制、任务分配、任务执行起始时间、任务执行顺序等优化变量:1)如果任务τi以频率fl执行,则二进制变量yil=1,否则,yil=0;2)如果任务τi存在,则二进制变量hi=1,否则hi=0;3)如果任务τi被分配到核θk执行,则二进制变量xik=1,否则,xik=0;4)连续变量来表示任务τi的执行起始时间;5)对于相互独立的任务τi和τj,引入二进制变量oij来表示当任务τi和τj映射到同一个核上时它们的执行顺序,当任务τi在任务τj之前执行时,oij=1,否则,oij=0。为了问题描述方便,令集合
为了描述一种多核嵌入式系统的网络节点可靠任务映射方法,需增加以下约束条件:
1)任务分配:由于本发明不考虑任务迁移情况,即每个任务的完整执行过程只能在一个核上完成,因此加入以下约束:
2)频率选择:由于本发明考虑的是任务级别的DVFS,也就是说,每个任务只能选择一个V/F等级来执行,且在执行过程中不会发生跳频现象,因此在任务的频率选择方面加入如下约束:
3)任务复制:对于任务τi,如果满足即满足可靠性要求,此时不需要复制任务τi,从而任务τi+M不存在。否则,为了提高任务τi的可靠性,需要复制任务τi,则任务τi+M被引入任务图。由于原任务{τ1,…,τM}始终存在,而复制任务{τM+1,…,τ2M}是否存在依赖于原任务的可靠性,因此可加入以下两个约束:
4)能量约束:如果任务τi和τj具有相关性(即pij=1),并且被分配到不同的核上时(如θβ和θγ),任务τi执行结束会产生大小为sij的数据给任务τj。根据能量矩阵e,数据通信过程中核θk所消耗的能量可计算为pijsijxiβxeβγk。在此基础上,通过考虑复制情况hi,核θk的通信能耗可通过下式计算为:
此外,如果任务τi被分配到核θk,并以V/F等级(vl,fl)来执行任务(即xik=yil=1),核θk用于执行任务τi所消耗的时间和能量分别为和/>所以,在给定任务分配xik和频率选择yil的情况下,核θk上用于执行任务的能量为:
由于在任务映射过程中核θk用于任务执行和数据通信的总能耗不能超过其能量预算因此有:
5)时间约束:基于任务相关性矩阵p,与任务τi相关且在其之前执行的任务数量是已知的,即在执行任务τi时,需要收集τi之前执行的所有相关任务生成的数据。为了避免通信冲突,一个核依次接收来自其他核的数据。因此,对于任务τi,接收数据和执行任务所花费的通信时间和执行时间分别为:
由于每个任务都需要在其截止时间之前完成执行,因此有如下约束:
6)任务执行起始时间:为了避免任务在同一个核上执行时发生抢占的情况,同一时间同一个核上只能执行一个任务。同时,由于任务间具有相关性,我们引入以下约束:
a)独立任务:对于相互独立的任务τi和τj,它们可能分配到不同的核上,也可能分配到同一个核上,当它们分配到同一核上时,需要考虑任务的非抢占性,因此,我们引入以下约束:
其中,T表示所有任务的最大可允许截止时间,表示任务τi执行的结束时间,所以可以得到/>同时,执行顺序优化变量oij满足以下条件:
b)相关任务:对于具有相关性的任务τi和τj(即pij=1),无论它们是否分配在同一核上,为确定两个任务执行顺序,都需要满足以下约束:
根据问题模型,可建立基于多核嵌入式系统的网络节点任务映射优化问题:
s.t.(1),(2),(3),(4),(10)-(15)
步骤(5),对步骤(4)中建立的问题模型进行线性化处理:
(7.1)由于公式(4)是非线性的,为了将其线性化,首先引入如下引理:
引理1:假设b是一个二进制变量,x是一个连续变量,且范围为0≤x≤s。对于以下判断1)2)/>(其中s1为常数,且s1≤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。
根据引理1,公式(4)可被线性化为:
(7.2)由于公式(5)、(6)、(8)、(9)中存在多个变量相乘的非线性项,因此优化问题(16)是一个混合整数非线性问题。为了将问题线性化,引入以下引理:
引理2:设x、y为二进制变量,通过引入二进制辅助变量z=xy,并在问题中引入以下约束:z-x≤0,z-y≤0,x+y-z≤1,则非线性项xy可被线性化。
证明:当x=0或y=0时,通过不等式z≤x和z≤y可以得到z=0。另一方面,当变量x和y均为1时,根据不等式z≥x+y-1,可得z=1。
基于引理2,对于非线性项hihjxx,首先引入辅助变量zij,并添加以下约束来替换非线性项hihj
在此基础上,利用辅助变量qiβjγ和以下附加约束来处理非线性项xx
最后,引入辅助变量liβjγ并添加以下约束来替换非线性项zijqiβjγ
同样,引入辅助变量ril和gikl,并分别加入以下约束来替换非线性项hiyil和xikhiyil(即xikril):
借助于辅助变量zij、qiβjγ、liβjγ、ril和gikl,公式(5)和(6)可转换为:
同理,公式(8)和(9)可转换为:
因此,问题(16)可线性化为:
s.t.(1),(2),(3),(4),(7),(10)-(15),(17)-(21)
在步骤(6),根据步骤(4)中优化问题结构,利用解耦及任务分层的方法,设计了低计算复杂度的启发式算法以提高本映射方法的可扩展性。
求解过程可以分为三步:1)通过贪婪算法确定频率选择和任务复制;2)在上一步的基础上利用任务分层的方式得到任务分配和任务执行起始时间;3)验证所得到的任务映射结果是否满足实时性约束。具体步骤如下:
(8.1)确定每个任务的频率选择y和任务复制h的决策;
为了在满足实时性和可靠性约束下均衡任务在核上的执行能耗,频率选择和任务复制的联合优化问题构可造如下:
s.t.(2),(3),(17),
yil,hi∈{0,1}.
根据问题结构,基于贪婪算法来解决优化问题(28)。首先在实时约束下利用贪婪算法为原任务τi选择合适的频率,使得任务执行能耗最小。在给定频率选择决策的情况下,如果该决策不能满足任务的实时约束,则排除这个频率选择。对于原任务τi,当其执行频率确定情况下,可得到相应的任务复制决策hi。如果任务τi不满足可靠性要求,则任务τi会被复制,即任务τi+M存在。然后,使用相同的方法为复制任务τi+M寻找合适的执行频率。最后,迭代地将上述频率选择过程应用于每个任务,就能找到优化问题(28)的解。
(8.2)基于(8.1)的结果求解任务分配决策x和任务执行起始时间ts
由于任务执行频率y已经确定,实时性要求已经初步被满足,且任务分配除了对核的执行和通信能耗有影响外,并不会影响任务的执行时间。因此,在保证满足能量约束的前提下,以均衡各个核总能耗为目标的多核嵌入式网络节点可靠任务映射问题可描述如下:
s.t.(1),(7),(11)-(15),
xik,oij∈{0,1},
为了有效解决问题(29),把求解过程分为两个步骤。第一步是对任务图进行分层,即将任务图以树状结构展开,其中同一层的任务是独立的。具体方法如下:
(1)根据给定的任务图,找到入度为0的任务集构成第一层;/>
(2)找到任务集Γ1中所有任务的后继任务构成任务集Γ2,剔除Γ2中的重复项,并剔除Γ2中每对相关任务中的后继任务(如果pij=1,则τj为后继任务),避免每层任务之间存在通信,同时令Γ1=Γ2
(3)重复步骤(2)以找到当前任务集的下一层任务集,直到任务图中的所有任务完成分层。
第二步在第一步得到任务分层图的基础上,求任务分配决策x和任务执行起始时间ts。具体方法为:从任务图的第一层开始,基于贪婪算法,迭代地将当前层的所有任务映射到适当的核上执行,以在满足能量约束的条件下,使各个核上的能耗增量最小。同时,确定每个任务τi的执行起始时间其主要决定因素为:1)分配到同一个核的前一个任务的执行结束时间,2)所有该任务之前的相关任务的最晚结束时间。因此,/>取两者中的最大值。
(8.3)验证通过(8.1)和(8.2)得到的任务映射结果是否满足实时性约束。
基于所得的频率选择y、任务复制h、任务分配x和任务起始时间ts,根据式(8)、(9)计算每个任务执行的结束时间能否满足实时性约束。
实施例二:
图2至图5为本发明的实验结果图。
如图2是12个任务在3个双核嵌入式节点上的映射结果示意图,其中τ110为原任务,τ17和τ20分别为τ7和τ10的复制任务。由图中可以看出,12个任务在不同的时间在不同的节点上执行,且映射到同一个节点上的任务依次执行,没有执行冲突。
图3是本发明实例2配置任务数量为10(M=10),双核嵌入式节点数量为3(N=6),频率等级数量为5(L=5)时,在任务映射中采用任务复制和不采用任务复制时各任务的可靠性对比图。由图中可以看出,如果没有采用本发明中的任务复制方案,存在任务难以满足可靠性要求,而采用任务复制方案后,每个任务都能达到可靠性要求。
图4是本发明实例2配置任务数量为10(M=10),双核嵌入式节点数量为3(N=6),频率等级数量为5(L=5)时,单核和多核情况下的任务映射在目标值和可行性方面的对比图。由图中可以看出,相比与单核情况,本发明所针对的多核嵌入式系统网络节点可靠任务映射方法具有较高的可行性和较小的目标值。
图5是本发明实例2配置任务数量为10(M=10),双核嵌入式节点数量为3(N=6),频率等级数量为5(L=5)时,使用提出的启发式算法和求最优解在求解时间和目标值方面的对比图。由图中可以看出,本发明提出的启发式算法在减少任务映射问题求解时间方面非常有效,同时,所提出算法是以降低解的质量为代价的。
虽然本发明所揭露的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

Claims (1)

1.一种多核嵌入式系统的网络节点任务映射方法,其特征在于,包括如下步骤:
(1)通过无线网络节点的拓扑结构得到无向节点图,并由此建立节点间的通信能耗矩阵与通信时间矩阵;
(2)根据感知/控制和执行功能得到任务间的相关性,由此得到任务的有向无环图,以及任务间的相关性矩阵;
(3)通过任务执行可靠性模型,建立任务可靠性与任务复制之间的关系;
(4)引入任务分配、频率选择、任务复制、任务执行起始时间、任务执行顺序优化变量,并构造相应的时间和能量约束,从而构建基于多核嵌入式系统的网络节点任务映射优化问题;
(5)将(4)所提出的优化问题线性化;
(6)针对(4)所提出的优化问题结构利用解耦以及任务分层方法,设计了低计算复杂度的启发式算法,
步骤(1)中节点图由一系列具有感知、执行或控制功能的节点所组成,每个节点的处理器为多核结构,考虑网络中所有节点一共有N个核{θ1,…θN},处理器的核为同构的并支持动态电压/频率调整技术,每个核拥有L个不同的V/F等级{(v1,f1),…,(vL,fL)},Pl是核工作在(vl,fl)时的功率,根据网络拓扑结构,可得到一个能量矩阵和一个时间矩阵/>其中矩阵元素eβγk和tβγ分别表示将单位数据从核θβ传输到核θγ时,核θk所需消耗的能量;以及数据从核θβ传输到核θγ时所需要花费的时间,同一个节点的核与核之间传输数据的时间和能量消耗,用正数σt和σe来表示,
步骤(2)中,用M个具有相关性的任务{τ1,…τM}来描述一个包括感知、控制、执行功能的应用,由此得到任务的有向无环图,对于每个任务τi,Ci表示任务的最差情况执行周期,Di表示任务的执行截止时间,任务的相关性用一个二进制矩阵p=[pij]M×M来描述,如果任务τi与任务τj相关且任务τi在任务τj之前,则pij=1,否则,pij=0,如果任务τi和τj是相关的,任务τi执行完后会为任务τj生成一组大小为sij的数据,
步骤(3)中,引入可靠性来调整任务的映射情况,当任务τi在V/F等级(vl,fl)下执行,其可靠性为:
其中λ为最大故障率,d为一个正数,表示故障率与频率调整的敏感性,因此,通过动态电压/频率调整可调整任务的可靠性Ril
利用Rth表示可靠性阈值,如果任务τi的可靠性低于阈值Rth,即时,通过动态电压/频率调整和任务复制相结合的方法达到目的,若任务τi被复制,则原任务τi及复制任务τi+M都会被执行,且复制任务τi+M的执行周期也为Ci,原任务τi和复制任务τi+M,如果其中一个任务出现错误,则通过执行成功的任务继续下一步执行,原任务τi和复制任务τi+M至少有一个任务会成功,由于不是每个原任务都会被复制,引入优化变量hi来描述任务τi的存在性,同时考虑动态电压/频率调整优化变量yil,则任务τi的可靠性为:
步骤(4)中,引入频率选择、任务复制、任务分配、任务执行起始时间、任务执行顺序优化变量:1)如果任务τi以频率fl执行,则二进制变量yil=1,否则,yil=0;2)如果任务τi存在,则二进制变量hi=1,否则hi=0;3)如果任务τi被分配到核θk执行,则二进制变量xik=1,否则,xik=0;4)连续变量来表示任务τi的执行起始时间;5)对于相互独立的任务τi和τj,引入二进制变量oij来表示当任务τi和τj映射到同一个核上时任务的执行顺序,当任务τi在任务τj之前执行时,oij=1,否则,oij=0,令集合
在步骤(4)中所述方法增加以下约束条件:
1)任务分配:每个任务的完整执行过程只能在一个核上完成,因此加入以下约束:
2)频率选择:由于考虑的是任务级别的动态电压/频率调整,每个任务只能选择一个V/F等级来执行,且在执行过程中不会发生跳频现象,因此在任务的频率选择方面需要加入如下约束:
3)任务复制:对于任务τi,如果满足即满足可靠性要求,此时不需要复制任务τi,从而任务τi+M不存在,否则,需要复制任务τi,则任务τi+M被引入任务图,由于原任务{τ1,…,τM}始终存在,而复制任务{τM+1,…,τ2M}是否存在依赖于原任务的可靠性,因此需要加入以下两个约束:
4)能量约束:如果任务τi和τj具有相关性,并且被分配到不同的核上时,任务τi执行结束会产生大小为sij的数据给任务τj,根据能量矩阵e,数据通信过程中核θk所消耗的能量可计算为pijsijxxeβγk,通过考虑复制情况hi,核θk的通信能耗可通过下式计算为:
此外,如果任务τi被分配到核θk,并以V/F等级(vl,fl)来执行任务,核θk用于执行任务τi所消耗的时间和能量分别为和/>所以,在给定任务分配xik和频率选择yil的情况下,核θk上用于执行任务的能量为:
由于在任务映射过程中核θk用于任务执行和数据通信的总能耗不能超过其能量预算因此有:
5)时间约束:基于任务相关性矩阵p,与任务τi相关且在其之前执行的任务数量是已知的,即在执行任务τi时,需要收集任务τi之前执行的所有相关任务生成的数据,一个核依次接收来自其他核的数据,因此,对于任务τi,接收数据和执行任务所花费的通信时间和执行时间分别为:
由于每个任务都需要在其截止时间之前完成执行,因此有如下约束:
6)任务执行起始时间:同一时间同一个核上只能执行一个任务,考虑到任务间具有相关性,我们引入以下约束:
a)独立任务:对于相互独立的任务τi和τj,当它们分配到同一核上时,需要考虑任务的非抢占性,因此,引入以下约束:
其中,T表示所有任务的最大可允许截止时间,表示任务τi执行的结束时间,所以可以得到/>同时,执行顺序优化变量oij满足以下条件:
b)相关任务:对于具有相关性的任务τi和τj,无论它们是否分配在同一核上,为确定两个任务执行顺序,都需要满足以下约束:
根据问题模型,可建立基于多核嵌入式系统的网络节点任务映射优化问题:
s.t.(1),(2),(3),(4),(10)-(15),
步骤(5)中,对步骤(4)中建立的问题模型进行线性化处理:
(7.1)由于公式(4)是非线性的,为了将其线性化,首先引入如下引理:
引理1:假设b是一个二进制变量,x是一个连续变量,且范围为0≤x≤s,对于以下判断1)2)/>其中s1为常数,且s1≤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;
根据引理1,公式(4)可被线性化为:
(7.2)由于公式(5)、(6)、(8)、(9)中存在多个变量相乘的非线性项,引入以下引理:
引理2:设x、y为二进制变量,通过引入二进制辅助变量z=xy,并在问题中引入以下约束:z-x≤0,z-y≤0,x+y-z≤1,则非线性项xy可被线性化;
证明:当x=0或y=0时,通过不等式z≤x和z≤y可以得到z=0,另一方面,当变量x和y均为1时,根据不等式z≥x+y-1,可得z=1;
基于引理2,对于非线性项hihjxx,首先引入辅助变量zij,并添加以下约束来替换非线性项hihj
利用辅助变量qiβjγ和以下附加约束来处理非线性项xx
最后,引入辅助变量liβjγ并添加以下约束来替换非线性项zijqiβjγ
同样,引入辅助变量ril和gikl,并分别加入以下约束来替换非线性项hiyil和xikhiyil
借助于辅助变量zij、qiβjγ、liβjγ、ril和gikl,公式(5)和(6)可转换为:
同理,公式(8)和(9)可转换为:
因此,问题(16)可线性化为:
s.t.(1),(2),(3),(4),(7),(10)-(15),(17)-(21),
在步骤(6)中,根据步骤(4)中优化问题结构,利用解耦及任务分层的方法,设计了低计算复杂度的启发式算法,
求解过程可以分为三步:1)通过贪婪算法确定频率选择和任务复制;2)在上一步的基础上利用任务分层的方式得到任务分配和任务执行起始时间;3)最后验证所得到的任务映射结果是否满足实时性约束,具体步骤如下:
(8.1)确定每个任务的频率选择y和任务复制h的决策;
为了在满足实时性和可靠性约束下均衡任务在核上的执行能耗,频率选择和任务复制的联合优化问题构可造如下:
s.t.(2),(3),(17)
yil,hi∈{0,1}
根据问题结构,基于贪婪算法来解决优化问题(28),首先在实时约束下利用贪婪算法为原任务τi选择合适的频率,使得任务执行能耗最小,在给定频率选择决策的情况下,如果该决策不能满足任务的实时约束,则排除这个频率选择,对于原任务τi,当其执行频率确定情况下,可得到相应的任务复制决策hi,如果任务τi不满足可靠性要求,则τi会被复制,即任务τi+M存在,然后,使用相同的方法为复制任务τi+M寻找合适的执行频率,最后,迭代地将上述频率选择过程应用于每个任务,从而找到优化问题(28)的解;
(8.2)基于(8.1)的结果求解任务分配决策x和任务执行起始时间ts
在保证满足能量约束的前提下,以均衡各个核总能耗为目标的多核嵌入式网络节点可靠任务映射问题可描述如下:
s.t.(1),(7),(11)-(15)
xik,oij∈{0,1}
为了有效解决问题(29),把求解过程分为两个步骤,第一步是对任务图进行分层,即将任务图以树状结构展开,其中同一层的任务是独立的,具体方法如下:
(8.2.1)根据给定的任务图,找到入度为0的任务集构成第一层;
(8.2.2)找到任务集Γ1中所有任务的后继任务构成任务集Γ2,剔除Γ2中的重复项,
并剔除Γ2中每对相关任务中的后继任务,避免每层任务之间存在通信,同时令Γ1=Γ2
(8.2.3)重复步骤(8.2.2)以找到当前任务集的下一层任务集,直到任务图中的所有任务完成分层,
求任务分配决策x和任务执行起始时间ts,具体方法为:从任务图的第一层开始,基于贪婪算法,迭代地将当前层的所有任务映射到适当的核上执行,以在满足能量约束的条件下,使各个核上的能耗增量最小,同时,确定每个任务τi的执行起始时间其决定因素为:1)分配到同一个核的前一个任务的执行结束时间,2)所有该任务之前的相关任务的最晚结束时间,因此,/>取两者中的最大值;
(8.3)验证通过(8.1)和(8.2)得到的任务映射结果是否满足实时性约束;
基于所得的频率选择y、任务复制h、任务分配x和任务起始时间ts,根据式(8)、(9)计算每个任务执行的结束时间能否满足实时性约束。
CN202110705825.3A 2021-06-24 2021-06-24 一种多核嵌入式系统的网络节点任务映射方法 Active CN113377542B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110705825.3A CN113377542B (zh) 2021-06-24 2021-06-24 一种多核嵌入式系统的网络节点任务映射方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110705825.3A CN113377542B (zh) 2021-06-24 2021-06-24 一种多核嵌入式系统的网络节点任务映射方法

Publications (2)

Publication Number Publication Date
CN113377542A CN113377542A (zh) 2021-09-10
CN113377542B true CN113377542B (zh) 2024-03-26

Family

ID=77578981

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110705825.3A Active CN113377542B (zh) 2021-06-24 2021-06-24 一种多核嵌入式系统的网络节点任务映射方法

Country Status (1)

Country Link
CN (1) CN113377542B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115357360B (zh) * 2022-08-23 2023-05-12 重庆大学 一种实时处理器系统可靠性最大化方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102508708A (zh) * 2011-11-30 2012-06-20 湖南大学 基于改进遗传算法的异构多核节能任务调度方法
WO2014072628A1 (fr) * 2012-11-08 2014-05-15 Bull Sas Procédé, dispositif et programme d'ordinateur de placement de tâches dans un système multi-coeurs
CN109117255A (zh) * 2018-07-02 2019-01-01 武汉理工大学 基于强化学习的异构多核嵌入式系统能耗优化调度方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102508708A (zh) * 2011-11-30 2012-06-20 湖南大学 基于改进遗传算法的异构多核节能任务调度方法
WO2014072628A1 (fr) * 2012-11-08 2014-05-15 Bull Sas Procédé, dispositif et programme d'ordinateur de placement de tâches dans un système multi-coeurs
CN109117255A (zh) * 2018-07-02 2019-01-01 武汉理工大学 基于强化学习的异构多核嵌入式系统能耗优化调度方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
移动云计算任务交互图的能效映射与调度;孙赫勇;文勃;郑丹;周强;;计算机应用与软件;20200112(第01期);全文 *

Also Published As

Publication number Publication date
CN113377542A (zh) 2021-09-10

Similar Documents

Publication Publication Date Title
Liu et al. Adaptive asynchronous federated learning in resource-constrained edge computing
Wu et al. Distributed optimal coordination for distributed energy resources in power systems
Peng et al. Constrained multiobjective optimization for IoT-enabled computation offloading in collaborative edge and cloud computing
CN113225377B (zh) 物联网边缘任务卸载方法及装置
CN113377542B (zh) 一种多核嵌入式系统的网络节点任务映射方法
Li et al. FedHiSyn: A hierarchical synchronous federated learning framework for resource and data heterogeneity
Halldórsson et al. Distributed backup placement in networks
CN115907038A (zh) 一种基于联邦拆分学习框架的多元控制决策方法
CN110310014B (zh) 基于过渡矩阵的泛在电力物联网分布式经济调度方法
Mohammadi et al. Learning-aided asynchronous admm for optimal power flow
Chen et al. Enhancing decentralized federated learning for non-iid data on heterogeneous devices
Ding et al. A Multi-agent Meta-based Task Offloading Strategy for Mobile Edge Computing
CN108462737A (zh) 基于批处理和流水线的分层数据一致性协议优化方法
CN112415959A (zh) 边云协同的工业信息物理系统主动安全响应方法及架构
Xiong et al. An Energy Aware Algorithm for Edge Task Offloading.
Meng et al. Edge computing task offloading method for load balancing and delay optimization
Guo et al. Dynamic computation offloading strategy with dnn partitioning in d2d multi-hop networks
Zhu et al. Blockchain-based consensus study on distributed control systems
CN115328628A (zh) 一种基于能量优化的多核异构NoC平台任务执行方法
Ji et al. Towards optimal application offloading in heterogeneous edge-cloud computing
CN108897619A (zh) 一种用于超级计算机的多层级资源柔性配置方法
CN111242513B (zh) 一种基于一致性理论的电力系统分布式经济调度方法
Yi et al. Joint program partitioning and resource allocation for completion time minimization in multi-MEC systems
Liu et al. Computation Offloading and Task Scheduling with Fault-Tolerance for Minimizing Redundancy in Edge Computing
Magoula et al. A Safe Genetic Algorithm Approach for Energy Efficient Federated Learning in Wireless Communication Networks

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
GR01 Patent grant
GR01 Patent grant