CN106502779B - 一种基于NoC多核同构系统的负载判断方法的任务迁移方法 - Google Patents
一种基于NoC多核同构系统的负载判断方法的任务迁移方法 Download PDFInfo
- Publication number
- CN106502779B CN106502779B CN201610994503.4A CN201610994503A CN106502779B CN 106502779 B CN106502779 B CN 106502779B CN 201610994503 A CN201610994503 A CN 201610994503A CN 106502779 B CN106502779 B CN 106502779B
- Authority
- CN
- China
- Prior art keywords
- node
- underloading
- heavily loaded
- listing
- matrix
- 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
Links
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/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
- G06F9/4862—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate
- G06F9/4875—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate with migration policy, e.g. auction, contract negotiation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种基于NoC多核同构系统的负载判断方法的任务迁移方法,它涉及一种基于NoC多核同构系统的负载判断方法的任务迁移方法。本发明要解决在NoC多核同构系统中任务迁移过程中任务迁移颠簸、系统运行时间开销大和迁移通信距离开销大的问题。本发明的任务迁移方法:根据基于NoC多核同构系统的负载判断方法获取重载节点列表、轻载节点列表;对节点列表中节点个数分析和获得权重矩阵;计算重载节点列表中每个节点的n步长区域,满足终止条件,得到候选轻载节点矩阵和步长矩阵;获取加权后的步长矩阵;计算得到迁移通信距离最小化的配对组合;进行任务迁移。
Description
技术领域
本发明涉及一种基于NoC多核同构系统的负载判断方法的任务迁移方法,是申请日为2014年3月28日、申请号为2014101205282的《一种基于NoC多核同构系统的负载判断方法和基于此方法的任务迁移方法》分案申请。
背景技术
随着芯片上集成的晶体管数量越来越多,在片上多核系统中集成的核数也越来越多,从几个增加到几十个、几百个甚至几千个,开始由多核进入到了众核时代。然而,虽然多核系统或众核系统带来了处理能力上的提高,但是当多核系统中各个运算核上分配的负载多少不一致时,就会导致各个核上的功耗和温度不一样,产生热点,严重时会烧毁芯片进而使整个芯片报废,所以多核系统或众核系统面临着由于负载分布不均匀等原因而产生的功耗和热量分布方面的挑战。
无论是为了平衡系统的任务分布以降低功耗或者均衡系统的热量分布,还是为了容错的目的,一种有效的解决方法就是任务迁移。目前,任务迁移的方法已经运用到了嵌入式系统的设计和多核片上系统中,用以解决以上挑战引起的可靠性问题。但是,任务迁移解决产生的功耗和热量问题的同时,也面临着任务迁移颠簸、额外迁移通信开销等诸多问题。任务迁移颠簸是指,当重载节点把其上多余的任务迁移到轻载节点上去后导致自身变成轻载节点或者不仅使自身变成轻载节点同时还使为目的节点的轻载节点变成重载节点,这就会导致迁移出去的任务量有可能又被再次迁移,这种现象就称为任务迁移颠簸。
因此,本领域的技术人员有必要去研究任务迁移过程中所引起的这些问题,从而提出行之有效的手段用以解决在任务迁移过程中任务迁移颠簸、系统运行时间开销大和迁移通信距离开销大的问题。
发明内容
本发明是为了解决在NoC多核同构系统中任务迁移过程中任务迁移颠簸、系统运行时间开销大和迁移通信距离开销大的问题,而提供了一种基于NoC多核同构系统的负载判断方法的任务迁移方法。
本发明基于NoC多核同构系统的负载判断方法为,迁移的任务量ΔLoad满足下式,即可进行节点上的任务迁移:
其中,ΔLoad是从节点号为i的重载节点迁移到节点号为j的轻载节点的迁移的任务量;
Loadi是节点号为i的重载节点上的负载量;
Loadj是节点号为j的轻载节点上的负载量;
m是节点号为i的重载节点和节点号为j的轻载节点之间的总步长数;
v是NoC多核同构系统节点的运算速度;
trouter是单位数据通过路由器的平均时间;
tlink是单位数据通过数据链路的平均时间。
本发明的一种基于NoC多核同构系统的负载判断方法的任务迁移方法,按下述方法实现:
步骤一、获取重载节点列表、轻载节点列表
根据负载判断方法得到NoC多核同构系统中主控节点的重载节点列表、轻载节点列表;
步骤二、节点列表中节点个数分析和获得权重矩阵
a、对步骤一中得到的重载节点列表和轻载节点列表中所含有的节点的个数进行判断,根据重载节点列表中重载节点的个数和轻载节点列表中轻载节点的个数的比较可以分为三种情况:
①、重载节点列表中节点的个数大于轻载节点列表中节点的个数;
②、重载节点列表中节点的个数等于轻载节点列表中节点的个数;
③、重载节点列表中节点的个数小于轻载节点列表中节点的个数;
⑴、若主控节点的查询模块对节点列表中节点个数分析的情况为①时,则将重载节点列表中的节点和轻载节点列表中的节点整体交换,即将原轻载节点列表中的轻载节点作为分析后得到的重载节点列表中的重载节点,将原重载节点列表中的重载节点作为分析后得到的轻载节点列表中的轻载节点;
⑵、若主控节点的查询模块对节点列表中节点个数分析的情况为②或③,则重载节点列表中的重载节点直接作为分析后得到的重载节点列表中的重载节点,轻载节点列表中的轻载节点直接作为分析后得到的轻载节点列表中的轻载节点;
b、依据NoC多核同构系统中从节点运行的任务的相关性,得到权重矩阵;
步骤b中所述的任务的相关性是指不同从节点上任务之间数据通信频繁程度,所述的数据通信频繁程度越强,权重矩阵中的权重值越大;其中,所述的数据通信频繁程度越强,权重矩阵中的权重值越大;当数据通信频繁程度为0时,即不存在数据通信,则权重值为1,当数据通信频繁程度不为0时,即存在数据通信则权重值都大于1;
步骤三、获得候选轻载节点矩阵和步长矩阵
对步骤二得到的重载节点列表中的每一个重载节点求其n步长区域,n从1开始,直到满足终止条件为止,得到候选轻载节点矩阵和步长矩阵;
其中,所述的终止条件为:重载节点列表中每一个重载节点在其n步长区域内都至少有一个与之对应的候选轻载节点,若存在多个重载节点只有一个候选轻载节点与之对应的情况,则必须保证此候选轻载节点被其重载节点所独有;
所述的候选轻载节点矩阵的大小为row×column;所述的步长矩阵的大小为row×column;所述的row为步骤二中分析后得到的重载节点列表中重载节点的个数,所述的column为步骤二中分析后得到的轻载节点列表中轻载节点的个数;
步骤四、获取加权后的步长矩阵
采用步骤二得到的权重矩阵通过点乘的方式给步骤三得到的步长矩阵加权,得到加权后的步长矩阵;
其中,所述的加权后的步长矩阵的矩阵大小为row×column;所述的rowg为步骤二中分析后得到的重载节点列表中重载节点的个数,所述的column为步骤二中分析后得到的轻载节点列表中轻载节点的个数;
所述的加权后的步长矩阵的第i行存储的是步骤二得到的重载节点列表中节点号为i的重载节点到与之对应的每个候选轻载节点加权后的步长;
步骤五、计算得到迁移通信距离最小化的配对组合
由步骤三得到的候选轻载节点矩阵可得到候选轻载节点组合,在依据步骤四得到的加权后的步长矩阵可得到与候选轻载节点组合相对应的加权后的步长组合,在通过加权后的步长组合可得到任务迁移通信距离的总步长,从得到的所有任务的任务迁移的总步长中选取步长数最小的任务迁移的总步长,从而可以得到轻载节点组合,进而得到迁移通信距离最小化的重载节点和轻载节点的配对组合;
步骤六、任务迁移
NoC多核同构系统依据步骤五得到的迁移通信距离最小化的重载节点和轻载节点的配对组合进行任务迁移,即完成基于NoC多核同构系统的负载判断方法的任务迁移方法。
本发明中的NoC是指Network on Chip,中文名称为片上网络。
本发明针对系统任务迁移问题,先提出了一种能够抗任务迁移颠簸和减少系统运行时间开销的负载判断方法,然后基于此方法提出了一种能够抗任务迁移颠簸、减少系统运行时间开销和迁移通信开销的任务迁移方法。
本发明的具体实现为:具体实现分为两部分,首先提出负载判断方法,然后基于此方法提出一种任务迁移方法。对于负载判断方法是依据NoC多核同构系统的系统环境信息如系统的任务分布情况、核的执行速度、片上网络的规模以及路由器和数据链路等通信网络传输数据的能力而建立起来的。然后系统根据负载判断方法对系统中所有的节点进行负载判断,判断其为重载节点、轻载节点和适载节点三种中的一种。然后由任务迁移方法求解重载节点列表中每个节点的步长区域,接着,由每个节点步长区域中的轻载节点组成候选轻载节点矩阵,同时由步长区域的步长数组成步长矩阵并且用权重矩阵对其加权,如果满足终止条件则从加权后的步长矩阵中找出通信开销最小的那组配对组合的位置。最后从候选轻载节点矩阵中的相同位置找出相应的具有最小通信开销的轻载节点组合。终止条件为:重载节点列表中每一个重载节点在其n步长区域内都至少有一个与之对应的候选轻载节点,若存在多个重载节点只有一个候选轻载节点与之对应的情况,则必须保证此候选轻载节点被其重载节点所独有。
本发明的优点:
1、本发明提出的负载判断方法能够很好的区分NoC系统中各节点上的负载情况,并且能够抗任务迁移颠簸;
2、对于本发明提出的基于NoC多核同构系统的负载判断方法的任务迁移方法,能够减少系统任务迁移的总迁移通信开销;
3、本发明基于负载判断方法的任务迁移方法能使迁移后整个系统的执行时间减少,与现有的方法,对于同时处理同一个任务相比,时间上减少了24%。
附图说明
图1为具体实施方式二所述的NoC多核同构系统模型示意图;
图2为网络规模为5×5的片上多核同构系统的步长区域示意图;
图3为具体实施方式二所述的一种基于NoC多核同构系统的负载判断方法的任务迁移方法流程图示意图。
具体实施方式
具体实施方式一:本实施方式中一种基于NoC多核同构系统的负载判断方法为负载判断方法为迁移的任务量ΔLoad满足下式,即可进行节点上的任务迁移:
其中,ΔLoad是从节点号为i的重载节点迁移到节点号为j的轻载节点的迁移的任务量;
Loadi是节点号为i的重载节点上的负载量;
Loadj是节点号为j的轻载节点上的负载量;
m是节点号为i的重载节点和节点号为j的轻载节点之间的总步长数;
v是系统中核的运算速度;
trouter是单位数据通过路由器的平均时间;
tlink是单位数据通过数据链路的平均时间。
本实施方式中ΔLoad的单位为KB,Loadi的单位为KB,Loadj的单位为KB,v的单位为KB/s,trouter的单位为s,tlink的单位为s。
本实施方式中基于NoC多核同构系统的负载判断方法通过求出NoC多核同构系统的平均负载和一个偏移量ΔLoad能够很简单地判断一个节点是重载节点、轻载节点还是适载节点,并且只要每次迁移的任务量不超过2ΔLoad,就能够保证不会出现任务迁移颠簸。
本实施方中基于NoC多核同构系统的负载判断方法可以保证整个系统抗任务迁移颠簸和任务迁移后系统运行时间更短。
本实施方式中基于NoC多核同构系统的负载判断方法是基于抗任务迁移颠簸和任务迁移后系统运行时间更短提出的,通过以下证明:
证明1:抗任务颠簸的证明
对于M×N网络的NoC多核同构系统,首先根据整个系统的负载量与节点数,能够得到整个系统的平均负载:
其中,所述的Loadall表示NoC多核同构系统的总负载;所述的Loadave表示NoC多核同构系统的平均负载;所述的n表示NoC多核同构系统的节点个数;
接着,假设一个负载阈值ΔLoad,给出下面三个不等式及重载节点、轻载节点和适载节点的定义:
Load>Loadave+ΔLoad (2)
Load<Loadave-ΔLoad (3)
Loadave-ΔLoad≤Load≤Loadave+ΔLoad (4)
重载节点:当本地节点上负载Load满足(2)式时,此节点就为重载节点;
轻载节点:当本地节点上负载Load满足(3)式时,此节点就为轻载节点;
适载节点:当本地节点上负载Load满足(4)式时,此节点就为适载节点;
在(2)式两边同时减去2ΔLoad有:
Load-2ΔLoad>Loadave-ΔLoad (5)
在(3)式两边同时加上2ΔLoad有:
Load+2ΔLoad<Loadave+ΔLoad (6)
由(5)式得出,当重载节点上迁移掉2ΔLoad负载后其为非轻载节点,由(6)式可以得出,当轻载节点上迁移来2ΔLoad负载后其为非重载节点。也即上面(5)式和(6)式说明只要迁移的任务量不超过2ΔLoad,则绝对不会出现任务迁移颠簸,所以为了抗任务迁移颠簸,每次迁移的任务量不要超过2ΔLoad。对于建立负载判断方法而言,ΔLoad的获取至关重要。
证明2:任务迁移后系统运行时间更少
以任务迁移后系统运行时间更少为导向给出获取ΔLoad的推导证明。在M×N网络的NoC多核同构系统中假设节点号为i号的节点为重载节点,节点号为j号节点为轻载节点,i≠j且i,j∈[1,M×N]。由重载节点的定义以及(2)式,可设重载节点上的负载量为:
Loadi=Ki+ΔLoad,Ki>Loadave (7)
同理,由轻载节点的定义以及(3)式,可设轻载节点上的负载量为:
Loadj=Kj-ΔLoad,Kj<Loadave (8)
(7)式和(8)式中的Ki和Kj分别为比平均负载大和比平均负载小的负载量,目的在于把(2)式和(3)式两不等式变成等式形式。如果重载节点上的负载量很大,迁出一个ΔLoad后其依然为重载节点,则这次迁移过后其根据自身的监测模块监测到本地节点依然为重载节点时,依然会把本地节点的节点号发送到主控节点的重载节点列表中去,所以只要每次监测到其为重载节点则就会一直迁移,直到其变成适载节点为止。同理,对于轻载节点,若迁进一个ΔLoad后其依然为轻载节点,则这次迁移过后其根据自身的检测模块监测到本地节点依然为轻载节点时依然会把本地节点的节点号发送到主控节点的轻载节点列表中去,所以只要每次监测到其为轻载节点则就会一直迁移,直到其变成适载节点为止。所以在此我们设每一次从重载节点i往轻载节点j只迁移ΔLoad;
则负载ΔLoad在重载节点i上执行完所需要的时间为
ti=t执行i+t等待i,
其中,所述的t执行i为节点i单独执行负载ΔLoad所需时间;
t等待i为节点i单独执行负载Ki所需时间,也即执行负载ΔLoad之前其所需要等待的时间;
在轻载节点j上执行完所需要的时间为
tj=t执行j+t等待j;
t执行j为节点j单独执行负载ΔLoad所需时间,t等待j为j号轻载节点单独执行负载Kj-ΔLoad所需时间,也即执行负载ΔLoad之前其所需要等待的时间。
设t迁移ij为负载ΔLoad从重载节点i迁移到轻载节点j的迁移时间开销。则如果满足下述(9)式,则意味着迁移之后比迁移之前在时间开销上减少了。
ti>t迁移ij+tj (9)
把ti和tj表达式带入(9)中得:
t执行i+t等待i>t迁移ij+t执行j+t等待j (10)
由于是同构多核系统,所以每一个核(节点)的运算速度一样。因此,对于执行相同的负载ΔLoad,其执行时间也相等,即t执行i=t执行j。所以(10)式化简得:
t等待i>t迁移ij+t等待j (11)
设每个核的执行速度为v,则有:
通过(12)式和(13)式可以计算出t等待i和t等待j,接下来只要能够通过某种方式求的t迁移ij,则就可以确定ΔLoad。
t迁移ij不仅跟通信网络(链路和路由器)有关,还与通信距离有关。通信距离由节点之间的曼哈顿距离表示。此处定义数据走过一个路由器和一条链路为一步长通信距离。设一单位数据通过一链路所需时间为tlink,通过一路由器所需时间为trouter。不考虑网络拥塞情况,并且tlink和trouter可以由系统信息统计分析得到。所以单位数据的一步长通信距离时间开销为:
thop=trouter+tlink (14)
设m为任务迁移的源节点i到目的节点j的步长数,则从重载节点i迁移ΔLoad负载到轻载节点j的迁移时间开销为:
t迁移ij=m×ΔLoad×thop=m×ΔLoad×(trouter+tlink) (15)
把(12)、(13)和(15)代入(11)中得:
由(16)式可以得出:
由(7)式和(8)式可得:
Ki-Kj=(Loadi-ΔLoad)-(Loadj+ΔLoad)
=Loadi-Loadj-2ΔLoad (18)
将(18)代入(17)中可得:
至此就求得了ΔLoad的取值条件,只要满足(19)式的ΔLoad就能保证任务迁移之后系统运行的时间比迁移之前少,并且不会出现任务迁移颠簸。
具体实施方式二:结合图3,本实施方式中一种基于NoC多核同构系统的负载判断方法的任务迁移方法,按下述方法实现:
步骤一、获取重载节点列表、轻载节点列表
根据负载判断方法得到NoC多核同构系统中主控节点的重载节点列表、轻载节点列表;
步骤二、节点列表中节点个数分析和获得权重矩阵
a、对步骤一中得到的重载节点列表和轻载节点列表中所含有的节点的个数进行判断,根据重载节点列表中重载节点的个数和轻载节点列表中轻载节点的个数的比较可以分为三种情况:
①、重载节点列表中节点的个数大于轻载节点列表中节点的个数;
②、重载节点列表中节点的个数等于轻载节点列表中节点的个数;
③、重载节点列表中节点的个数小于轻载节点列表中节点的个数;
⑴、若主控节点的查询模块对节点列表中节点个数分析的情况为①时,则将重载节点列表中的节点和轻载节点列表中的节点整体交换,即将原轻载节点列表中的轻载节点作为分析后得到的重载节点列表中的重载节点,将原重载节点列表中的重载节点作为分析后得到的轻载节点列表中的轻载节点;
⑵、若主控节点的查询模块对节点列表中节点个数分析的情况为②或③,则重载节点列表中的重载节点直接作为分析后得到的重载节点列表中的重载节点,轻载节点列表中的轻载节点直接作为分析后得到的轻载节点列表中的轻载节点;
b、依据NoC多核同构系统中从节点运行的任务的相关性,得到权重矩阵;
步骤b中所述的任务的相关性是指不同从节点上任务之间数据通信频繁程度,所述的数据通信频繁程度越强,权重矩阵中的权重值越大;其中,所述的数据通信频繁程度越强,权重矩阵中的权重值越大;当数据通信频繁程度为0时,即不存在数据通信,则权重值为1,当数据通信频繁程度不为0时,即存在数据通信则权重值都大于1;
步骤三、获得候选轻载节点矩阵和步长矩阵
对步骤二得到的重载节点列表中的每一个重载节点求其n步长区域,n从1开始,直到满足终止条件为止,得到候选轻载节点矩阵和步长矩阵;
其中,所述的终止条件为:重载节点列表中每一个重载节点在其n步长区域内都至少有一个与之对应的候选轻载节点,若存在多个重载节点只有一个候选轻载节点与之对应的情况,则必须保证此候选轻载节点被其重载节点所独有;
所述的候选轻载节点矩阵的大小为row×column;所述的步长矩阵的大小为row×column;所述的row为步骤二中分析后得到的重载节点列表中重载节点的个数,所述的column为步骤二中分析后得到的轻载节点列表中轻载节点的个数;
步骤四、获取加权后的步长矩阵
采用步骤二得到的权重矩阵通过点乘的方式给步骤三得到的步长矩阵加权,得到加权后的步长矩阵;
其中,所述的加权后的步长矩阵的矩阵大小为row×column;所述的row为步骤二中分析后得到的重载节点列表中重载节点的个数,所述的column为步骤二中分析后得到的轻载节点列表中轻载节点的个数;
所述的加权后的步长矩阵的第i行存储的是步骤二得到的重载节点列表中节点号为i的重载节点到与之对应的每个候选轻载节点加权后的步长;
步骤五、计算得到迁移通信距离最小化的配对组合
由步骤三得到的候选轻载节点矩阵可得到候选轻载节点组合,在依据步骤四得到的加权后的步长矩阵可得到与候选轻载节点组合相对应的加权后的步长组合,在通过加权后的步长组合可得到任务迁移通信距离的总步长,从得到的所有任务的任务迁移的总步长中选取步长数最小的任务迁移的总步长,从而可以得到轻载节点组合,进而得到迁移通信距离最小化的重载节点和轻载节点的配对组合;
步骤六、任务迁移
NoC多核同构系统依据步骤五得到的迁移通信距离最小化的重载节点和轻载节点的配对组合进行任务迁移,即完成基于NoC多核同构系统的负载判断方法的任务迁移方法。
本实施方式中的NoC多核同构系统模型,如图1所示。从图1中可以看出此系统模型节点之间采用的是主从模式,一个节点作为管理节点即图中的主控节点,其他节点作为运算节点也即从节点。整个NoC多核同构系统由主控节点和从节点两大部分组成。主控节点中由轻载节点列表、重载节点列表、查询模块和迁移模块组成。重载节点列表和轻载节点列表记录着整个系统节点的负载情况,若某一节点为重载节点,则就把其编号也即节点号发送给主控节点,存于重载节点列表中,若某一节点为轻载节点,则就把其编号发送给主控节点,存于轻载节点列表中,适载节点不发送;当查询模块查询到重载节点列表和轻载节点列表同时不为空时,则反馈信息给迁移模块,由迁移模块进行任务迁移计算,得出在此重载节点和轻载节点的情况下最优迁移配对关系进行任务迁移。最后把已经进行过迁移的重载节点和轻载节点从相应的列表中删除。
从节点由负载监测模块、工作任务表和迁移任务表三部分组成。负载监测模块负责监测本地节点的负载信息,当根据负载判断方法监测到本地节点负载过重时就把负载过重部分的任务存于迁移任务表中并且把本地节点的节点号发送给主控节点,然后存于主控节点重载节点列表中,而工作任务表存储将在本地节点上执行的任务;当监测到本地节点负载过轻时就把本地节点的节点号发送给主控节点,然后存于主控节点轻载节点列表中。
当轻载节点列表和重载节点列表都得到后,然后运用本实施例提出一种基于NoC多核同构系统的负载判断方法的任务迁移方法就可以为重载节点从整个系统角度找出通信开销最小的目的轻载节点。接着,把得到的具有最小通信开销的配对组合发给每一个从节点。最后,从节点就可以依据这些配对组合进行任务迁移。
本实施方式中步骤三中终止条件的意义在于:在保证最小通信开销配对存在的条件下使得计算量最少。
本实施例中把分析后得到的重载节点列表中的节点统称为重载节点,把轻载节点列表中的节点统称为轻载节点。
具体实施方式三:本实施方式与具体实施方式二的不同之处是,步骤一中所述的负载判断方法为迁移的任务量ΔLoad满足下式,即可进行节点上的任务迁移:
其中,ΔLoad是从节点号为i的重载节点迁移到节点号为j的轻载节点的迁移的任务量;
Loadi是节点号为i的重载节点上的负载量;
Loadj是节点号为j的轻载节点上的负载量;
m是节点号为i的重载节点和节点号为j的轻载节点之间的步长总数;
v是系统中核的运算速度;
trouter是单位数据通过路由器的平均时间;
tlink是单位数据通过数据链路的平均时间。
本实施方式中ΔLoad的单位为KB,Loadi的单位为KB,Loadj的单位为KB,v的单位为KB/s,trouter的单位为s,tlink的单位为s。其他与具体实施方式二相同。
具体实施方式四:本实施方式与具体实施方式二或三的不同之处是,步骤二b中所述的权重矩阵的矩阵大小为row×column;其中,所述的row为步骤二中分析后得到的重载节点列表中重载节点的个数,所述的column为步骤二中分析后得到的轻载节点列表中轻载节点的个数。其他与具体实施方式二或三相同。
具体实施方式五:本实施方式与具体实施方式二至四之一的不同之处是,步骤三中所述的步长区域的计算:计算步骤二分析后得到的重载节点列表中每个节点的n步长区域,方法如下:
选取节点号为i的重载节点,则节点号为i的重载节点的一步长节点号为i±1和i±N,而节点号为i±1和i±N的节点形成了节点号为i的重载节点的一步长区域;
节点号为i的重载节点的二步长节点号为一步长区域中的一步长节点号±1和一步长节点号±N,而节点号为一步长节点号±1和一步长节点号±N的节点形成了节点号为i的重载节点的二步长区域;
依次类推,节点号为i的重载节点的n步长区域由n-1步长区域中n-1步长节点号±1和n-1步长节点号±N的节点形成;
其中,步骤三中所述的n≥2;
N是网络规模为M×N的片上多核同构系统的列数,M是网络规模为M×N片上多核同构系统的行数。
在本实施方式中:
a、当节点号为i的重载节点处于网络规模为M×N片上多核同构系统的网络左边界上时,此时节点号为i的重载节点的步长区域由存在的节点组成,所述的存在的节点的节点号为i+1,i±N;
b、当节点号为i的重载节点处于网络规模为M×N片上多核同构系统的网络右边界上时,此时节点号为i的重载节点的步长区域由存在的节点组成,所述的存在的节点的节点号为i-1,i±N;
c、当节点号为i的重载节点处于网络规模为M×N片上多核同构系统的网络上边界上时,此时节点号为i的重载节点的步长区域由存在的节点组成,所述的存在的节点的节点号为i±1,i+N;
d、当节点号为i的重载节点处于网络规模为M×N片上多核同构系统的网络下边界上时,此时节点号为i的重载节点的步长区域由存在的节点组成,所述的存在的节点的节点号为i±1,i-N;
e、当节点号为i的重载节点处于网络规模为M×N片上多核同构系统的网络左边界的上顶点时,此时节点号为i的重载节点的步长区域由存在的节点组成,所述的存在的节点的节点号为i+1,i+N;
f、当节点号为i的重载节点处于网络规模为M×N片上多核同构系统的网络左边界的下顶点时,此时节点号为i的重载节点的步长区域由存在的节点组成,所述的存在的节点的节点号为i+1,i-N;
g、当节点号为i的重载节点处于网络规模为M×N片上多核同构系统的网络右边界的上顶点时,此时节点号为i的重载节点的步长区域由存在的节点组成,所述的存在的节点的节点号为i-1,i+N;
h、当节点号为i的重载节点处于网络规模为M×N片上多核同构系统的网络右边界的下顶点时,此时节点号为i的重载节点的步长区域由存在的节点组成,所述的存在的节点的节点号为i-1,i-N。其他与具体实施方式二至四之一相同。
具体实施方式六:本实施方式与具体实施方式二至五之一的不同之处是,步骤三中所述的候选轻载节点矩阵的第i行用以存储步骤二中分析后得到的重载节点列表中节点号为i的重载节点,以及在满足终止条件时,与之对应的所有候选轻载节点的节点号。其他与具体实施方式二至五之一相同。
具体实施方式七:本实施方式与具体实施方式二至六之一的不同之处是,步骤二中分析后得到的重载节点列表中重载节点在其n步长区域中包含的轻载节点组成;其中,所述的轻载节点为步骤二中所述的分析后得到的轻载节点列表中的轻载节点。其他与具体实施方式二至六之一相同。
具体实施方式八:本实施方式与具体实施方式二至七之一的不同之处是,步骤三中所述的步长矩阵的第i行第j列用以存储步骤二中得到的重载节点列表中节点号为i的重载节点到与候选轻载节点矩阵中第i行第j列的轻载节点的步长数。其他与具体实施方式二至七之一相同。
Claims (5)
1.一种基于NoC多核同构系统的负载判断方法的任务迁移方法,其特征在于基于NoC多核同构系统的负载判断方法的任务迁移方法,按下述方法实现:
步骤一、获取重载节点列表、轻载节点列表
根据负载判断方法得到NoC多核同构系统中主控节点的重载节点列表、轻载节点列表;
步骤二、节点列表中节点个数分析和获得权重矩阵
a、对步骤一中得到的重载节点列表和轻载节点列表中所含有的节点的个数进行判断,根据重载节点列表中重载节点的个数和轻载节点列表中轻载节点的个数的比较可以分为三种情况:
①、重载节点列表中节点的个数大于轻载节点列表中节点的个数;
②、重载节点列表中节点的个数等于轻载节点列表中节点的个数;
③、重载节点列表中节点的个数小于轻载节点列表中节点的个数;
⑴、若主控节点的查询模块对节点列表中节点个数分析的情况为①时,则将重载节点列表中的节点和轻载节点列表中的节点整体交换,即将原轻载节点列表中的轻载节点作为分析后得到的重载节点列表中的重载节点,将原重载节点列表中的重载节点作为分析后得到的轻载节点列表中的轻载节点;
⑵、若主控节点的查询模块对节点列表中节点个数分析的情况为②或③,则重载节点列表中的重载节点直接作为分析后得到的重载节点列表中的重载节点,轻载节点列表中的轻载节点直接作为分析后得到的轻载节点列表中的轻载节点;
b、依据NoC多核同构系统中从节点运行的任务的相关性,得到权重矩阵;
步骤b中所述的任务的相关性是指不同从节点上任务之间数据通信频繁程度,其中,所述的数据通信频繁程度越强,权重矩阵中的权重值越大;当数据通信频繁程度为0时,即不存在数据通信,则权重值为1,当数据通信频繁程度不为0时,即存在数据通信则权重值都大于1;
步骤三、获得候选轻载节点矩阵和步长矩阵
对步骤二得到的重载节点列表中的每一个重载节点求其n步长区域,n从1开始,直到满足终止条件为止,得到候选轻载节点矩阵和步长矩阵;
所述的步长区域的计算:计算步骤二分析后得到的重载节点列表中每个节点的n步长区域,方法如下:
选取节点号为i的重载节点,则节点号为i的重载节点的一步长节点号为i±1和i±N,而节点号为i±1和i±N的节点形成了节点号为i的重载节点的一步长区域;
节点号为i的重载节点的二步长节点号为一步长区域中的一步长节点号±1和一步长节点号±N,而节点号为一步长节点号±1和一步长节点号±N的节点形成了节点号为i的重载节点的二步长区域;
依次类推,节点号为i的重载节点的n步长区域由n-1步长区域中n-1步长节点号±1和n-1步长节点号±N的节点形成;其中,所述的n≥2;N是网络规模为M×N的片上多核同构系统的列数,M是网络规模为M×N片上多核同构系统的行数;
其中,所述的终止条件为:重载节点列表中每一个重载节点在其n步长区域内都至少有一个与之对应的候选轻载节点,若存在多个重载节点只有一个候选轻载节点与之对应的情况,则必须保证此候选轻载节点被其重载节点所独有;
所述的候选轻载节点矩阵的大小为row×column;所述的步长矩阵的大小为row×column;所述的row为步骤二中分析后得到的重载节点列表中重载节点的个数,所述的column为步骤二中分析后得到的轻载节点列表中轻载节点的个数;
步骤四、获取加权后的步长矩阵
采用步骤二得到的权重矩阵通过点乘的方式给步骤三得到的步长矩阵加权,得到加权后的步长矩阵;
其中,所述的加权后的步长矩阵的矩阵大小为row×column;所述的row为步骤二中分析后得到的重载节点列表中重载节点的个数,所述的column为步骤二中分析后得到的轻载节点列表中轻载节点的个数;
所述的加权后的步长矩阵的第i行存储的是步骤二得到的重载节点列表中节点号为i的重载节点到与之对应的每个候选轻载节点加权后的步长;
步骤五、计算得到迁移通信距离最小化的配对组合
由步骤三得到的候选轻载节点矩阵可得到候选轻载节点组合,在依据步骤四得到的加权后的步长矩阵可得到与候选轻载节点组合相对应的加权后的步长组合,在通过加权后的步长组合可得到任务迁移通信距离的总步长,从得到的所有任务的任务迁移的总步长中选取步长数最小的任务迁移的总步长,从而可以得到轻载节点组合,进而得到迁移通信距离最小化的重载节点和轻载节点的配对组合;
步骤六、任务迁移
NoC多核同构系统依据步骤五得到的迁移通信距离最小化的重载节点和轻载节点的配对组合进行任务迁移,即完成基于NoC多核同构系统的负载判断方法的任务迁移方法。
2.根据权利要求1所述的一种基于NoC多核同构系统的负载判断方法的任务迁移方法,其特征在于步骤二b中所述的权重矩阵的矩阵大小为row×column;其中,所述的row为步骤二中分析后得到的重载节点列表中重载节点的个数,所述的column为步骤二中分析后得到的轻载节点列表中轻载节点的个数。
3.根据权利要求1所述的一种基于NoC多核同构系统的负载判断方法的任务迁移方法,其特征在于步骤三中所述的候选轻载节点矩阵的第i行用以存储步骤二中分析后得到的重载节点列表中节点号为i的重载节点,以及在满足终止条件时,与之对应的所有候选轻载节点的节点号。
4.根据权利要求3所述的一种基于NoC多核同构系统的负载判断方法的任务迁移方法,其特征在于所述的候选轻载节点是由步骤二中分析后得到的重载节点列表中重载节点在其n步长区域中包含的轻载节点组成;其中,所述的轻载节点为步骤二中所述的分析后得到的轻载节点列表中的轻载节点。
5.根据权利要求1所述的一种基于NoC多核同构系统的负载判断方法的任务迁移方法,其特征在于步骤三中所述的步长矩阵的第i行第j列用以存储步骤二中得到的重载节点列表中节点号为i的重载节点到与候选轻载节点矩阵中第i行第j列的轻载节点的步长数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610994503.4A CN106502779B (zh) | 2014-03-28 | 2014-03-28 | 一种基于NoC多核同构系统的负载判断方法的任务迁移方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610994503.4A CN106502779B (zh) | 2014-03-28 | 2014-03-28 | 一种基于NoC多核同构系统的负载判断方法的任务迁移方法 |
CN201410120528.2A CN103955404B (zh) | 2014-03-28 | 2014-03-28 | 一种基于NoC多核同构系统的负载判断方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410120528.2A Division CN103955404B (zh) | 2014-03-28 | 2014-03-28 | 一种基于NoC多核同构系统的负载判断方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106502779A CN106502779A (zh) | 2017-03-15 |
CN106502779B true CN106502779B (zh) | 2019-07-02 |
Family
ID=51332679
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410120528.2A Active CN103955404B (zh) | 2014-03-28 | 2014-03-28 | 一种基于NoC多核同构系统的负载判断方法 |
CN201610994503.4A Active CN106502779B (zh) | 2014-03-28 | 2014-03-28 | 一种基于NoC多核同构系统的负载判断方法的任务迁移方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410120528.2A Active CN103955404B (zh) | 2014-03-28 | 2014-03-28 | 一种基于NoC多核同构系统的负载判断方法 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN103955404B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107295110B (zh) * | 2017-08-16 | 2020-08-04 | 网宿科技股份有限公司 | 计算任务的处理方法、边缘节点、业务服务器及系统 |
CN109617989B (zh) * | 2018-12-28 | 2021-11-26 | 浙江省公众信息产业有限公司 | 用于负载分配的方法、装置、系统和计算机可读介质 |
CN112181124B (zh) * | 2020-09-11 | 2023-09-01 | 华为技术有限公司 | 功耗管理的方法和相关设备 |
CN113873045B (zh) * | 2021-11-11 | 2023-09-12 | 深圳市云语科技有限公司 | 一种基于能力协商的文件多节点传输方法 |
CN114398166B (zh) * | 2022-01-27 | 2024-05-28 | 重庆大学 | 基于二分法的分布式计算任务调度方法及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101854293A (zh) * | 2010-03-29 | 2010-10-06 | 中科华核电技术研究院有限公司 | 一种资源负载均衡方法以及企业资源计划设备 |
CN102455944A (zh) * | 2010-10-29 | 2012-05-16 | 迈普通信技术股份有限公司 | 多核负载均衡的方法以及处理器 |
CN103401939A (zh) * | 2013-08-08 | 2013-11-20 | 中国航天科工集团第三研究院第八三五七研究所 | 一种采用混合调度策略的负载均衡方法 |
CN103440173A (zh) * | 2013-08-23 | 2013-12-11 | 华为技术有限公司 | 一种多核处理器的调度方法和相关装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7111188B2 (en) * | 2003-07-31 | 2006-09-19 | International Business Machines Corporation | Dynamically configurable fault tolerance in autonomic computing with multiple service points |
US8479216B2 (en) * | 2009-08-18 | 2013-07-02 | International Business Machines Corporation | Method for decentralized load distribution in an event-driven system using localized migration between physically connected nodes and load exchange protocol preventing simultaneous migration of plurality of tasks to or from a same node |
CN102158559B (zh) * | 2011-04-18 | 2016-05-18 | 浙江工业大学 | 一种基于p2p网络的负载均衡的方法 |
US9619297B2 (en) * | 2012-06-25 | 2017-04-11 | Microsoft Technology Licensing, Llc | Process migration in data center networks |
CN103327072B (zh) * | 2013-05-22 | 2016-12-28 | 中国科学院微电子研究所 | 一种集群负载均衡的方法及其系统 |
CN103412635B (zh) * | 2013-08-02 | 2016-02-24 | 清华大学 | 数据中心节能方法及装置 |
-
2014
- 2014-03-28 CN CN201410120528.2A patent/CN103955404B/zh active Active
- 2014-03-28 CN CN201610994503.4A patent/CN106502779B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101854293A (zh) * | 2010-03-29 | 2010-10-06 | 中科华核电技术研究院有限公司 | 一种资源负载均衡方法以及企业资源计划设备 |
CN102455944A (zh) * | 2010-10-29 | 2012-05-16 | 迈普通信技术股份有限公司 | 多核负载均衡的方法以及处理器 |
CN103401939A (zh) * | 2013-08-08 | 2013-11-20 | 中国航天科工集团第三研究院第八三五七研究所 | 一种采用混合调度策略的负载均衡方法 |
CN103440173A (zh) * | 2013-08-23 | 2013-12-11 | 华为技术有限公司 | 一种多核处理器的调度方法和相关装置 |
Non-Patent Citations (1)
Title |
---|
NoC_MPSim:基于片上网络通信架构多核仿真平台;王进祥 等;《中国集成电路设计》;20110630(第145期);31-37 |
Also Published As
Publication number | Publication date |
---|---|
CN106502779A (zh) | 2017-03-15 |
CN103955404A (zh) | 2014-07-30 |
CN103955404B (zh) | 2017-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106502779B (zh) | 一种基于NoC多核同构系统的负载判断方法的任务迁移方法 | |
CN109684083B (zh) | 一种面向边缘-云异构下的多级事务调度分配策略 | |
Baumgartner et al. | Combined virtual mobile core network function placement and topology optimization with latency bounds | |
CN104270416B (zh) | 负载均衡控制方法及管理节点 | |
US20140082202A1 (en) | Method and Apparatus for Integration of Virtual Cluster and Virtual Cluster System | |
CN110231976A (zh) | 一种基于负载预测的边缘计算平台容器部署方法及系统 | |
CN105515987B (zh) | 一种基于sdn架构面向虚拟光网络的映射方法 | |
CN108182105A (zh) | 基于Docker容器技术的局部动态迁移方法及控制系统 | |
CN107851043A (zh) | 快捷外围部件互连网络中资源组的动态分配 | |
Cao et al. | Collaborative attributes and resources for single-stage virtual network mapping in network virtualization | |
CN106775949A (zh) | 一种感知复合应用特征与网络带宽的虚拟机在线迁移优化方法 | |
CN108009196A (zh) | 数据库再平衡方法 | |
Dong et al. | Dependence-aware edge intelligent function offloading for 6G-based IoV | |
Ma et al. | Component reassignment for reliability optimization of reconfigurable systems considering component degradation | |
Azimzadeh et al. | Placement of IoT services in fog environment based on complex network features: a genetic-based approach | |
CN109976879B (zh) | 一种基于资源使用曲线互补的云计算虚拟机放置方法 | |
Huang et al. | An integrated cloud-edge-device adaptive deep learning service for cross-platform web | |
Batra et al. | A brief overview of load balancing techniques in fog computing environment | |
Whaiduzzaman et al. | Pefc: Performance enhancement framework for cloudlet in mobile cloud computing | |
Li et al. | DRL-based energy-efficient baseband function deployments for service-oriented open RAN | |
Brighen et al. | A new distributed graph coloring algorithm for large graphs | |
Khalili et al. | GAJEL-DSDN: an intelligent hybrid genetic-Jaya-based switch migration algorithm for efficient load balancing in distributed SDNs | |
Tahmasebi-Pouya et al. | A reinforcement learning-based load balancing algorithm for fog computing | |
Wang et al. | A new approach to heterogeneous wireless sensor networks reliability evaluation based on perception layer in internet of vehicles | |
CN115550373B (zh) | 基于云平台管控的联合试验任务环境负载均衡建模方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |