System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于路由器结构的二维处理器阵列重构方法技术_技高网

一种基于路由器结构的二维处理器阵列重构方法技术

技术编号:41392044 阅读:6 留言:0更新日期:2024-05-20 19:14
本发明专利技术公开一种基于路由器结构的二维处理器阵列重构方法,先考虑使逻辑拓扑具有理想通信性能,将冗余列分布在阵列中间,从而得到新的芯片体系结构;再通过将逻辑阵列拆分成若干个子阵列,对故障处理器单元分别进行子阵列内和子阵列间的逻辑替换,从而有效改进了先前算法在重构问题中由于将故障处理器单元进行远距离移位而导致的通信延迟高的问题。实验表明,我们提出的阵列容错框架是有效的,在降低消息延迟和拥塞方面较先前算法有显著提升。

【技术实现步骤摘要】

本专利技术涉及片上网络(network on chip,noc),具体涉及一种基于路由器结构的二维处理器阵列重构方法


技术介绍

1、随着面向万亿级计算的同构众核处理器的兴起,人们对万亿级计算进行了大量研究,这种计算能够在单个芯片上集成数十到数百个同构处理元件(处理器单元),以并行处理大量信息。就通信基础设施而言,片上网络通常被认为是用于千兆级集成电路最有前途的互联解决方案之一,其中拓扑结构决定noc的理想性能,而路由算法和流量控制机制决定实现这种潜力的程度。近年来,许多有用的网格拓扑结构被提出来改善noc的理想性能。网状连接的多处理器阵列由于其简单性、可扩展性、结构规则性和易于实现性等特点,成为片上网络中最常见的网络之一,易用于大多数信号和图像处理算法的高速实现。

2、随着超大规模集成电路(vlsi)和多处理器系统技术的发展,可以在单个芯片上构建大量处理器单元(pe)来处理大量信息。然而,超大规模集成电路密度的增加使得处理器阵列中发生在制造和工作寿命期间的故障概率增加,而出现“硬故障”或“软故障”。其中“硬故障”是永久不可用的,这是由物理和有限寿命中的损坏引起的;“软故障”是暂时不可用的,这是由过热、过载和其它应用占用引起的。由于处理器阵列的故障会影响到整个系统的可靠性和稳定性,因此在制造之后或操作期间检测到处理器阵列上的故障时,无论故障类型和故障密度大小,都必须采用容错技术,以增强多处理器系统的可靠性。

3、现有的容错技术有微架构级冗余和核心级冗余,其分别被称为处理器内和处理器间冗余。对于微架构级冗余的情况,核心可以处于任何降级状态,但是一旦可用的处理器内冗余在其核心中甚至一个中耗尽,则整个芯片认为是坏的。对于核心级冗余的情况,如果单个核包含任何故障,则该核将变得无用,但只要足够的剩余核是起作用的,就认为该芯片是可操作的。微架构级冗余适合于单核或者较小规模的多核芯片以便保持较小的开销。而当片上核的数量增加一定程度时(如64核处理器或者更大规模),则不必在微体系结构级别容忍有缺陷的核,这种情况下反而更适合采用核心级冗余来降低与微架构级冗余相关联的复杂性。

4、在多处理器系统中,通常有两种类型的容错体系结构经常在核心级的网状连接的处理器中被广泛研究,即基于交换机的体系结构和基于路由器的体系结构。与基于交换机的体系结构相比,基于路由器的体系结构在重构算法的设计和故障处理器单元的利用方面具有上级,且通过冗余处理器单元在片上提供缺陷容限能力比在微体系结构级别集成冗余电路更有效。因此,在具有冗余处理器单元的二维处理器阵列上,采用基于路由器的体系结构开发高效的重构算法能够有效降低系统的总体能耗。

5、目前,基于noc的多处理器阵列的容错重新配置问题是将无故障处理器单元重新组织到一个逻辑拓扑中,在逻辑拓扑中,根据特定的路由算法,两个相邻的处理器单元可以通过包含物理链路和路由器的互连路径进行通信。然而,现有二维处理器阵列重构技术几乎都将冗余列分布在阵列右侧,当阵列规模较大(例如64*64)的情况下,在左侧的故障处理器单元需要移动很远的距离才能替换至冗余列中,这导致了随着阵列规模的增大,阵列通信延迟也会迅速的增大。


技术实现思路

1、本专利技术所要解决的是现有二维处理器阵列重构方法在阵列规模增大时会出现通信延迟增大的问题,提供一种基于路由器结构的二维处理器阵列重构方法。

2、为解决上述问题,本专利技术是通过以下技术方案实现的:

3、一种基于路由器结构的二维处理器阵列重构方法,包括步骤如下:

4、步骤1、根据给定的行块数p和列块数q对阵列规模为n×o的原始主阵列进行均匀分块,此时当前主阵列内包含有p×q个子阵列,并将每个子阵列中最右侧的一列定义为冗余列;

5、步骤2、对当前主阵列的每一个子阵列分别执行子阵列内重构操作,以更新当前主阵列;

6、步骤3、按照从上到下,从左到右的顺序扫描当前主阵列中冗余列之外、且未被逻辑替换过的故障处理器单元;

7、对于扫描到的每一个故障处理器单元:

8、3.1)在当前主阵列中找到与当前故障处理器单元,行列距离之和最近且位于冗余列的非故障处理器单元;

9、3.2)在当前主阵列中,判断非故障处理器单元所处行位于当前故障处理器单元所处行的位置关系;

10、若非故障处理器单元所处行位于当前故障处理器单元所处行的上方,则对当前故障处理器单元所处列中,非故障处理器单元所处行的处理器单元至当前故障处理器单元的处理器单元列序列进行循环下移的逻辑替换;

11、若非故障处理器单元所处行位于当前故障处理器单元所处行的下方,则对当前故障处理器单元所处列中,当前故障处理器单元至非故障处理器单元所处行的处理器单元的处理器单元列序列进行循环上移的逻辑替换;

12、若非故障处理器单元与当前故障处理器单元处于同一行,则转至3.3);

13、3.3)在当前主阵列中,判断非故障处理器单元所处列位于当前故障处理器单元所处列的位置关系;

14、若非故障处理器单元所处列位于当前故障处理器单元所处列的左侧,则对当前故障处理器单元所处行中,非故障处理器单元所处行的处理器单元至当前故障处理器单元的处理器单元行序列进行循环右移的逻辑替换;

15、若非故障处理器单元所处列位于当前故障处理器单元所处列的右侧,则对当前故障处理器单元所处行中,当前故障处理器单元至非故障处理器单元所处行的处理器单元的处理器单元行序列进行循环左移的逻辑替换;

16、若非故障处理器单元与当前故障处理器单元处于同一列,则转至步骤4;

17、步骤4、将当前主阵列的冗余列去除后得到阵列规模为n×m的目标阵列;

18、上述n为原始主阵列的行数,也即目标阵列的行数;o为原始主阵列的列数,m为目标阵列的列数。

19、上述步骤2中,每一个子阵列的子阵列内重构的过程为:

20、步骤2.1、扫描当前子阵列每一行中的故障处理器单元,将不含故障处理器单元的行定义为冗余行,将含有故障处理器单元的行定义为故障行;

21、对于扫描到的每一个故障行,分别执行如下操作:

22、对当前故障行中,位于最右侧的故障处理器单元至冗余列的处理器单元的处理器单元行序列进行循环左移的逻辑替换;

23、步骤2.2、按照从上到下,从左到右的顺序扫描当前子阵列中除冗余列之外的故障处理器单元;

24、对于扫描到的每一个故障处理器单元,分别执行如下操作:

25、2.2.1)在当前子阵列中找到与当前故障处理器单元所处行,行距离最近冗余行;

26、2.2.2)在当前主阵列中,判断冗余行位于当前故障处理器单元所处行的位置关系:

27、若冗余行位于当前故障处理器单元所处行的上方,则对当前故障处理器单元所处列中,冗余行的处理器单元至当前故障处理器单元的处理器单元列序列进行循环下移的逻辑替换;

<本文档来自技高网...

【技术保护点】

1.一种基于路由器结构的二维处理器阵列重构方法,其特征是,包括步骤如下:

2.根据权利要求1所述的一种基于路由器结构的二维处理器阵列重构方法,其特征是,步骤2中,每一个子阵列的子阵列内重构的过程为:

3.根据权利要求1所述的一种基于路由器结构的二维处理器阵列重构方法,其特征是,步骤1中,行块数P的取值范围为列块数Q的取值范围为其中N为原始主阵列的行数,O为原始主阵列的列数,p为主阵列的故障密度,表示向上取整。

4.根据权利要求1所述的一种基于路由器结构的二维处理器阵列重构方法,其特征是,当步骤1的行块数P和/或列块数Q设定为变化值时,还进一步包括如下步骤:

【技术特征摘要】

1.一种基于路由器结构的二维处理器阵列重构方法,其特征是,包括步骤如下:

2.根据权利要求1所述的一种基于路由器结构的二维处理器阵列重构方法,其特征是,步骤2中,每一个子阵列的子阵列内重构的过程为:

3.根据权利要求1所述的一种基于路由器结构的二维处理器阵列重构方法,其特征是...

【专利技术属性】
技术研发人员:丁浩杨威钱俊彦
申请(专利权)人:广西师范大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1