首页 / 一种基于NoC多核同构系统的负载判断方法和基于此方法的任务迁移方法

一种基于NoC多核同构系统的负载判断方法和基于此方法的任务迁移方法有效专利 发明

具体技术细节

[0005] 本发明是为了解决在NoC多核同构系统中任务迁移过程中任务迁移颠簸、系统运行时间开销大和迁移通信距离开销大的问题,而提供了一种基于NoC多核同构系统的负载判断方法和基于此方法的任务迁移方法。
[0006] 本发明基于NoC多核同构系统的负载判断方法为,迁移的任务量△Load满足下式,即可进行节点上的任务迁移:
[0007]
[0008] 其中,△Load是从节点号为i的重载节点迁移到节点号为j的轻载节点的迁移的任务量;
[0009] Loadi是节点号为i的重载节点上的负载量;
[0010] Loadj是节点号为j的轻载节点上的负载量;
[0011] m是节点号为i的重载节点和节点号为j的轻载节点之间的总步长数;
[0012] v是NoC多核同构系统节点的运算速度;
[0013] trouter是单位数据通过路由器的平均时间;
[0014] tlink是单位数据通过数据链路的平均时间。
[0015] 本发明的一种基于NoC多核同构系统的负载判断方法的任务迁移方法,按下述方法实现:
[0016] 步骤一、获取重载节点列表、轻载节点列表
[0017] 根据负载判断方法得到NoC多核同构系统中主控节点的重载节点列表、轻载节点列表;
[0018] 步骤二、节点列表中节点个数分析和获得权重矩阵
[0019] a、对步骤一中得到的重载节点列表和轻载节点列表中所含有的节点的个数进行判断,根据重载节点列表中重载节点的个数和轻载节点列表中轻载节点的个数的比较可以分为三种情况:
[0020] ①、重载节点列表中节点的个数大于轻载节点列表中节点的个数;
[0021] ②、重载节点列表中节点的个数等于轻载节点列表中节点的个数;
[0022] ③、重载节点列表中节点的个数小于轻载节点列表中节点的个数;
[0023] ⑴、若主控节点的查询模块对节点列表中节点个数分析的情况为①时,则将重载节点列表中的节点和轻载节点列表中的节点整体交换,即将原轻载节点列表中的轻载节点作为分析后得到的重载节点列表中的重载节点,将原重载节点列表中的重载节点作为分析后得到的轻载节点列表中的轻载节点;
[0024] ⑵、若主控节点的查询模块对节点列表中节点个数分析的情况为②或③,则重载节点列表中的重载节点直接作为分析后得到的重载节点列表中的重载节点,轻载节点列表中的轻载节点直接作为分析后得到的轻载节点列表中的轻载节点;
[0025] b、依据NoC多核同构系统中从节点运行的任务的相关性,得到权重矩阵;
[0026] 步骤b中所述的任务的相关性是指不同从节点上任务之间数据通信频繁程度,所述的数据通信频繁程度越强,权重矩阵中的权重值越大;其中,所述的数据通信频繁程度越强,权重矩阵中的权重值越大;当数据通信频繁程度为0时,即不存在数据通信,则权重值为1,当数据通信频繁程度不为0时,即存在数据通信则权重值都大于1;
[0027] 步骤三、获得候选轻载节点矩阵和步长矩阵
[0028] 对步骤二得到的重载节点列表中的每一个重载节点求其n步长区域,n从1开始,直到满足终止条件为止,得到候选轻载节点矩阵和步长矩阵;
[0029] 其中,所述的终止条件为:重载节点列表中每一个重载节点在其n步长区域内都至少有一个与之对应的候选轻载节点,若存在多个重载节点只有一个候选轻载节点与之对应的情况,则必须保证此候选轻载节点被其重载节点所独有;
[0030] 所述的候选轻载节点矩阵的大小为row×column;所述的步长矩阵的大小为row×column;所述的row为步骤二中分析后得到的重载节点列表中重载节点的个数,所述的column为步骤二中分析后得到的轻载节点列表中轻载节点的个数;
[0031] 步骤四、获取加权后的步长矩阵
[0032] 采用步骤二得到的权重矩阵通过点乘的方式给步骤三得到的步长矩阵加权,得到加权后的步长矩阵;
[0033] 其中,所述的加权后的步长矩阵的矩阵大小为row×column;所述的rowg为步骤二中分析后得到的重载节点列表中重载节点的个数,所述的column为步骤二中分析后得到的轻载节点列表中轻载节点的个数;
[0034] 所述的加权后的步长矩阵的第i行存储的是步骤二得到的重载节点列表中节点号为i的重载节点到与之对应的每个候选轻载节点加权后的步长;
[0035] 步骤五、计算得到迁移通信距离最小化的配对组合
[0036] 由步骤三得到的候选轻载节点矩阵可得到候选轻载节点组合,在依据步骤四得到的加权后的步长矩阵可得到与候选轻载节点组合相对应的加权后的步长组合,在通过加权后的步长组合可得到任务迁移通信距离的总步长,从得到的所有任务的任务迁移的总步长中选取步长数最小的任务迁移的总步长,从而可以得到轻载节点组合,进而得到迁移通信距离最小化的重载节点和轻载节点的配对组合;
[0037] 步骤六、任务迁移
[0038] NoC多核同构系统依据步骤五得到的迁移通信距离最小化的重载节点和轻载节点的配对组合进行任务迁移,即完成基于NoC多核同构系统的负载判断方法的任务迁移方法。
[0039] 本发明中的NoC是指Network on Chip,中文名称为片上网络。
[0040] 本发明针对系统任务迁移问题,先提出了一种能够抗任务迁移颠簸和减少系统运行时间开销的负载判断方法,然后基于此方法提出了一种能够抗任务迁移颠簸、减少系统运行时间开销和迁移通信开销的任务迁移方法。
[0041] 本发明的具体实现为:具体实现分为两部分,首先提出负载判断方法,然后基于此方法提出一种任务迁移方法。对于负载判断方法是依据NoC多核同构系统的系统环境信息如系统的任务分布情况、核的执行速度、片上网络的规模以及路由器和数据链路等通信网络传输数据的能力而建立起来的。然后系统根据负载判断方法对系统中所有的节点进行负载判断,判断其为重载节点、轻载节点和适载节点三种中的一种。然后由任务迁移方法求解重载节点列表中每个节点的步长区域,接着,由每个节点步长区域中的轻载节点组成候选轻载节点矩阵,同时由步长区域的步长数组成步长矩阵并且用权重矩阵对其加权,如果满足终止条件则从加权后的步长矩阵中找出通信开销最小的那组配对组合的位置。最后从候选轻载节点矩阵中的相同位置找出相应的具有最小通信开销的轻载节点组合。终止条件为:重载节点列表中每一个重载节点在其n步长区域内都至少有一个与之对应的候选轻载节点,若存在多个重载节点只有一个候选轻载节点与之对应的情况,则必须保证此候选轻载节点被其重载节点所独有。
[0042] 本发明的优点:
[0043] 1、本发明提出的负载判断方法能够很好的区分NoC系统中各节点上的负载情况,并且能够抗任务迁移颠簸;
[0044] 2、对于本发明提出的基于NoC多核同构系统的负载判断方法的任务迁移方法,能够减少系统任务迁移的总迁移通信开销;
[0045] 3、本发明基于负载判断方法的任务迁移方法能使迁移后整个系统的执行时间减少,与现有的方法,对于同时处理同一个任务相比,时间上减少了24%。

法律保护范围

涉及权利要求数量8:其中独权2项,从权-2项

1.一种基于NoC多核同构系统的负载判断方法,其特征在于基于NoC多核同构系统的负载判断方法为,迁移的任务量△Load满足下式,即可进行节点上的任务迁移:
其中,△Load是从节点号为i的重载节点迁移到节点号为j的轻载节点的迁移的任务量;
Loadi是节点号为i的重载节点上的负载量;
Loadj是节点号为j的轻载节点上的负载量;
m是节点号为i的重载节点和节点号为j的轻载节点之间的总步长数;
v是NoC多核同构系统中节点的运算速度;
trouter是单位数据通过路由器的平均时间;
tlink是单位数据通过数据链路的平均时间。
2.一种基于NoC多核同构系统的负载判断方法的任务迁移方法,其特征在于基于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多核同构系统的负载判断方法的任务迁移方法。
3.根据权利要求2所述的一种基于NoC多核同构系统的负载判断方法的任务迁移方法,其特征在于步骤一中所述的负载判断方法为迁移的任务量△Load满足下式,即可进行节点上的任务迁移:
其中,△Load是从节点号为i的重载节点迁移到节点号为j的轻载节点的迁移的任务量;
Loadi是节点号为i的重载节点上的负载量;
Loadj是节点号为j的轻载节点上的负载量;
m是节点号为i的重载节点和节点号为j的轻载节点之间的步长距离;
v是NoC多核同构系统中节点的运算速度;
trouter是单位数据通过路由器的平均时间;
tlink是单位数据通过数据链路的平均时间。
4.根据权利要求2所述的一种基于NoC多核同构系统的负载判断方法的任务迁移方法,其特征在于步骤二b中所述的权重矩阵的矩阵大小为row×column;其中,所述的row为步骤二中分析后得到的重载节点列表中重载节点的个数,所述的column为步骤二中分析后得到的轻载节点列表中轻载节点的个数。
5.根据权利要求2所述的一种基于NoC多核同构系统的负载判断方法的任务迁移方法,其特征在于步骤三中所述的步长区域的计算:计算步骤二分析后得到的重载节点列表中每个节点的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片上多核同构系统的行数。
6.根据权利要求2所述的一种基于NoC多核同构系统的负载判断方法的任务迁移方法,其特征在于步骤三中所述的候选轻载节点矩阵的第i行用以存储步骤二中分析后得到的重载节点列表中节点号为i的重载节点,在满足终止条件时,与之对应的所有候选轻载节点的节点号。
7.根据权利要求6所述的一种基于NoC多核同构系统的负载判断方法的任务迁移方法,其特征在于所述的候选轻载节点是由步骤二中分析后得到的重载节点列表中重载节点在其n步长区域中包含的轻载节点组成;其中,所述的轻载节点为步骤二中所述的分析后得到的轻载节点列表中的轻载节点。
8.根据权利要求2所述的一种基于NoC多核同构系统的负载判断方法的任务迁移方法,其特征在于步骤三中所述的步长矩阵的第i行第j列用以存储步骤二中得到的重载节点列表中节点号为i的重载节点到与候选轻载节点矩阵中第i行第j列的轻载节点的步长数。

当前第2页 第1页 第2页 第3页