本发明专利技术公开的一种含开关及连线故障的处理器阵列的重构方法,包含以下步骤:通过预处理,将开关故障转化为连线故障,并将故障连线进行分类;通过A‑MLA算法生成最大逻辑阵列;通过A‑TMLA算法对生成的最大逻辑阵列的连线进行优化,从而降低通信延迟和功耗。本发明专利技术的重构方法,即使考虑开关和连线故障,与当前最优的算法相比,本发明专利技术的算法生成的逻辑阵列规模更大,且连线长度更短。
【技术实现步骤摘要】
本专利技术涉及多核容错阵列的重构领域,特别涉及一种含开关及连线故障的处理器阵列的重构方法。
技术介绍
随着集成技术的快速发展,成百上千的处理器被集成到单一芯片上来执行大规模并行计算任务。然而,急剧增长的芯片集成密度使得芯片在制造或实际运行过程中发生故障的可能性大大增加。故障的处理器单元破坏了通信网络规则的结构,导致多处理器阵列的处理能力下降。因此,我们需要使用容错重构技术来重构网络拓朴结构,从而提高多处理阵列的计算能力和多处理器系统的稳定性。一般来说,容错重构有两种策略,分别是冗余策略和降阶策略。冗余策略要求重构后的逻辑阵列和物理阵列的规模相等,一旦不能满足该条件,则整个重构无法完成。而降阶策略试图获得一个尽可能大的逻辑阵列,因而在航天卫星、极端环境下工作的电子系统中有着重要的应用。本专利技术就是在基于网格互连的网络中,使用降阶策略完成故障阵列的重构。现有的工作假设故障仅发生在处理器单元上,忽略开关及连线发生故障的可能性,即使他们发生故障的可能性很小。目前唯一的考虑了开关故障的容错重构技术,是通过同时使用行列选路策略来构造无故障的逻辑阵列,但是该方法中还存在着很多问题:首先是该工作仅考虑了故障发生在处理器单元和开关上,假设了所有的连线都是无故障的;其次是该方法并未充分的利用无故障处理器单元,也就是说还存在着相当一部分的处理器单元是无故障的,但是并未被用于构造无故障的逻辑阵列;最重要的一点是,该方法在构造无故障逻辑阵列时,采用的是行列同时选路的策略,这就引入了大量的长连接,从而导致了大量的通信延迟和功耗。鉴于这些原因,特此提出了本
技术实现思路
。
技术实现思路
本专利技术的目的在于克服现有技术的缺点与不足,提供一种含开关及连线故障的处理器阵列的重构方法。本专利技术的目的通过以下的技术方案实现:一种含开关及连线故障的处理器阵列的重构方法,包含以下步骤:通过预处理,将开关故障转化为连线故障,并将故障连线进行分类;通过A-MLA算法生成处理器最大逻辑阵列;通过A-TMLA算法对生成的处理器最大逻辑阵列的连线进行优化,从而降低通信延迟和功耗。所述将开关故障转化为连线故障,具体为:对于物理阵列中的每个故障开关,将所有与该故障开关相邻的连线设为故障,即得到连线故障。这样处理后,在后续过程中将不再考虑这些故障开关。所述将故障连线进行分类,具体为:将位于物理行Ri的所有非故障单元作为集合Ei的元素,且集合Ei中的所有非故障单元初始化为未标记的,其中1≤i≤m。所述通过A-MLA算法生成处理器最大逻辑阵列,具体为:对于E1中最左边未标记的处理器单元,将其做上标记,并检查该处理器单元与其行方向上的前驱单元之间,是否存在未被标记过的无故障的连线:如果不存在,继续找E1最左边未标记过的处理器单元,并重复上面的过程;如果存在,算法A-MLA重复进行下面的迭代过程:总是试图连接当前的处理器单元和其下一物理行中最左边的处理器单元,并检查对应的行、列连线是否无故障且未被使用过,若连接不成功,则算法进行回溯,并撤销相应连线上的标记;算法A-MLA一直重复进行,直到E1中不再包含未被标记过的处理器单元停止,由此得到处理器最大逻辑阵列。所述通过A-TMLA算法对生成的最大逻辑阵列的连线进行优化,具体为:将由A-MLA算法得到的最大逻辑阵列从右向左,依次修复,对每一个逻辑列的修复过程中,A-TMLA算法依次调用两个子过程Up_Rerouting和Down_Rerouting,从而获得一个修复后的逻辑列,最终完成对A-MLA中生成的逻辑阵列的连线长度进行优化,从而降低网络延迟和功耗。本专利技术与现有技术相比,具有如下优点和有益效果:本专利技术不仅考虑处理器发生故障,还同时考虑了开关及连线上发生故障的
可能性。大量的试验结果表明,即使考虑开关和连线故障,与当前最优的算法相比,本专利技术的算法生成的逻辑阵列规模更大,且连线长度更短。附图说明图1为本专利技术的容错处理器阵列的结构图。图2a为行方向上连接处理器和开关的连线示意图,图2b是行方向上连接两个开关的连线示意图,图2c是行方向上的外部穿越连线示意图,图2d是列方向上连接处理器和开关的连线示意图,图2e是列方向上连接两个开关的连线示意图,图2f是列方向上的外部穿越连线示意图。图3a为一个规模为4*4的物理阵列示意图;图3b为将故障开关转化为故障连线的结果示意图;图3c为将故障连线按分类进行处理的示意图;图3d为经过算法A-MLA后所得到的处理器最大逻辑阵列示意图。图4为本专利技术所述一种含开关及连线故障的处理器阵列的重构方法的流程图。具体实施方式下面结合实施例及附图对本专利技术作进一步详细的描述,但本专利技术的实施方式不限于此。如图4,一种含开关及连线故障的处理器阵列的重构方法,包含以下步骤:通过预处理,将开关故障转化为连线故障,并将故障连线进行分类;通过A-MLA算法生成处理器最大逻辑阵列;通过A-TMLA算法对生成的处理器最大逻辑阵列的连线进行优化,从而降低通信延迟和功耗。所述将开关故障转化为连线故障,具体为:对于物理阵列中的每个故障开关,将所有与该故障开关相邻的连线设为故障,即得到连线故障。这样处理后,在后续过程中将不再考虑这些故障开关。所述将故障连线进行分类,具体为:将位于物理行Ri的所有非故障单元作为集合Ei的元素,且集合Ei中的所有非故障单元初始化为未标记的,其中
1≤i≤m。所述通过A-MLA算法生成处理器最大逻辑阵列,具体为:对于E1中最左边未标记的处理器单元,将其做上标记,并检查该处理器单元与其行方向上的前驱单元之间,是否存在未被标记过的无故障的连线:如果不存在,继续找E1最左边未标记过的处理器单元,并重复上面的过程;如果存在,算法A-MLA重复进行下面的迭代过程:总是试图连接当前的处理器单元和其下一物理行中最左边的处理器单元,并检查对应的行、列连线是否无故障且未被使用过,若连接不成功,则算法进行回溯,并撤销相应连线上的标记;算法A-MLA一直重复进行,直到E1中不再包含未被标记过的处理器单元停止,由此得到最大逻辑阵列。算法A-MLA的具体描述如下,其中Adj+(cur)表示处理单元cur的下一物理行中的候选邻居,row_prec(cur)表示处理单元cur在行方向上的前驱,colum_prec(cur)类似定义。所述通过A-TMLA算法对生成的处理器最大逻辑阵列的连线进行优化,具体为:将由A-MLA算法得到的最大逻辑阵列从右向左,依次修复,对每一个逻辑列的修复过程中,A-TMLA算法依次调用两个子过程Up_Rerouting和Down_Rerouting,从而获得一个修复后的逻辑列,最终完成对A-MLA中生成的逻辑阵列的连线长度进行优化,从而降低网络延迟和功耗。算法A-TMLA的具体描述如下,其中row_succ(q)表示处理单元q在行方向
上的后继,column_succ(q)类似定义。其中,子过程Up_Rerouting和Down_Rerouting的具体描述如下所示:图1是本专利技术的容错处理器阵列的结构图。其中左边展示的是规模为4*4的容错处理器阵列,中间是处理器阵列中所使用开关的四种状态,右边是当某个处理器单元发生故障时,与其相连的处理器单元由三种方式进行选路,分别是直接穿过该本文档来自技高网...
【技术保护点】
一种含开关及连线故障的处理器阵列的重构方法,其特征在于,包含以下步骤:通过预处理,将开关故障转化为连线故障,并将故障连线进行分类;通过A‑MLA算法生成处理器最大逻辑阵列;通过A‑TMLA算法对生成的处理器最大逻辑阵列的连线进行优化,从而降低通信延迟和功耗。
【技术特征摘要】
1.一种含开关及连线故障的处理器阵列的重构方法,其特征在于,包含以下步骤:通过预处理,将开关故障转化为连线故障,并将故障连线进行分类;通过A-MLA算法生成处理器最大逻辑阵列;通过A-TMLA算法对生成的处理器最大逻辑阵列的连线进行优化,从而降低通信延迟和功耗。2.根据权利要求1所述含开关及连线故障的处理器阵列的重构方法,其特征在于,所述将开关故障转化为连线故障,具体为:对于物理阵列中的每个故障开关,将所有与该故障开关相邻的连线设为故障,即得到连线故障。3.根据权利要求1所述含开关及连线故障的处理器阵列的重构方法,其特征在于,所述将故障连线进行分类,具体为:将位于物理行Ri的所有非故障单元作为集合Ei的元素,且集合Ei中的所有非故障单元初始化为未标记的,其中1≤i≤m。4.根据权利要求3所述含开关及连线故障的处理器阵列的重构方法,其特征在于,所述通过A-MLA算法生成处理器最大逻辑阵列,具体为:对于E1中最左边未标记的处理器单元,将其做上标记,并检查该处理器...
【专利技术属性】
技术研发人员:武继刚,姜文超,祝龙婷,章子凯,朱金彬,刘竹松,
申请(专利权)人:广东工业大学,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。