CN103986672B - 片上网络拓扑结构的重构方法及系统 - Google Patents
片上网络拓扑结构的重构方法及系统 Download PDFInfo
- Publication number
- CN103986672B CN103986672B CN201410222922.7A CN201410222922A CN103986672B CN 103986672 B CN103986672 B CN 103986672B CN 201410222922 A CN201410222922 A CN 201410222922A CN 103986672 B CN103986672 B CN 103986672B
- Authority
- CN
- China
- Prior art keywords
- arithmetic element
- network
- error
- chip
- digraph
- 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
- 238000000034 method Methods 0.000 title claims abstract description 37
- 230000008439 repair process Effects 0.000 claims abstract description 69
- 230000008901 benefit Effects 0.000 abstract description 8
- 238000005516 engineering process Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 230000007257 malfunction Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 239000012141 concentrate Substances 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000032683 aging Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明提出一种片上网络拓扑结构的重构方法,包括以下步骤:根据片上网络的初始拓扑结构建立有向图,其中,有向图中每个节点为初始拓扑结构中每个运算单元,运算单元包括正常运算单元、出错运算单元和备用运算单元;在有向图中增加一个超级源点和一个超级汇点,其中,超级源点指向出错运算单元,备用运算单元指向超级汇点;应用最大流算法对有向图进行求解得到最大流量和每一条修复路径,其中,最大流量表示可以被修复的出错运算单元的数量;根据修复路径得到片上网络的虚拟拓扑结构以对完成对片上网络拓扑结构的重构。本发明实施例的方法具有修复率高、硬件成本低、网络吞吐率高和延时低的优点。本发明还提供了一种片上网络拓扑结构的重构系统。
Description
技术领域
本发明涉及集成电路技术领域,特别涉及一种片上网络拓扑结构的重构方法及系统。
背景技术
随着电路集成度的提高,产生了SoC(System-on-Chip片上系统)。由于传统的总线结构可拓展性差、带宽有限,无法满足多核间通信需求,成为了片上系统技术发展的一个瓶颈。为了解决总线结构的不足,NoC(Network-on-chip片上网络)技术被推向芯片设计的前沿。片上网络的核心思想是将计算机网络技术移植到芯片设计中来,用网络结构取代传统的总线结构,片上网络实现了通信与计算的分离,在系统的扩展性、带宽及片上系统整体设计方面有极好的表现,目前已逐渐成为片上总线之外的一种新型通信结构。然而随着SoC集成度的提高,由于片上网络中IP(Intellectual Property)核和链路的故障率增加必然导致NoC整体性能的下降,可靠性降低。因此NoC容错设计非常重要。
另外,元件产生错误的原因有很多,如电迁移、硬件老化、边缘效应、串扰、耦合噪声等。根据错误发生的时间和频率,可分为以下三种类型:永久性错误、间歇性错误和暂时性错误。针对不同的错误类型,可以在硬件结构、路由算法、传输机制、数据包格式等方面进行容错。假设有一组PE(Processing Element,运算单元),一部分可以正常工作,一部分有错误,如何通过重新配置PE之间的通信连接、用冗余PE取代出错PE,得到一个功能正确的NoC系统是目前需要解决的问题。由于芯片上硬件资源有限,因此需要尽可能提高修复率,同时降低代价,如重构时间的增加、拓扑结构的改变、面积的增加、吞吐率的降低和延迟的增加等。目前已经存在一些提升片上网络可靠性的拓扑结构重构方法,如平移修复(ChangY C,Chiu C T,Lin S Y,Liu C K.On the design and analysis of fault tolerant NoCarchitecture using spare routers.ASP-DAC2011:431-436)、交换修复(Kang U,ChungH,Heo S,et al.8Gb3-DDDR3DRAM using through-silicon-via technology.Journal ofSolid-State Circuits(JSSC),2010:111-119)、RRCS(L.Zhang,Y.Han,H.Li,and X.Li,“Afault tolerance mechanism in chip many-core processors,”in J.Tsinghua Scienceand Technology,Jul.2007,vol.12,no.S1,pp.169–174.)等。但是这些方法有的修复率低,有的重构时间长。
发明内容
本发明旨在至少在一定程度上解决上述相关技术中的技术问题之一。
为此,本发明的一个目的在于提出一种片上网络拓扑结构的重构方法,该方法具有修复率高、硬件成本低、网络吞吐率高和延时低的优点。
本发明的另一个目的在于提供一种片上网络拓扑结构的重构系统。
为了实现上述目的,本发明第一方面的实施例提出了一种片上网络拓扑结构的重构方法,包括以下步骤:根据片上网络的初始拓扑结构建立有向图,其中,所述有向图中每个节点为所述初始拓扑结构中每个运算单元,所述运算单元包括正常运算单元、出错运算单元和备用运算单元;在所述有向图中增加一个超级源点和一个超级汇点,其中,所述超级源点指向所述出错运算单元,所述备用运算单元指向所述超级汇点;应用最大流算法对所述有向图进行求解以得到最大流量和每一条修复路径,其中,所述最大流量表示可以被修复的出错运算单元的数量;根据所述修复路径得到所述片上网络的虚拟拓扑结构以对完成对所述片上网络拓扑结构的重构。
根据本发明实施例的片上网络拓扑结构的重构方法,首先根据片上网络的初始拓扑结构建立有向图,并在有向图中增加一个超级源点和一个超级汇点,进一步应用最大流算法对有向图进行求解以得到最大流量和每一条修复路径,最后根据修复路径得到片上网络的虚拟拓扑结构以对完成对片上网络拓扑结构的重构。换言之,即本发明的方法采用冗余硬件和动态重构的方式来提高系统的可靠性,容错类型集中在解决永久性错误上,具有修复率高、重构时间短、硬件成本低的优点,同时保持很高的网络吞吐率和低延时,此外,无论物理拓扑结构如何,该方法重构产生一致的虚拟拓扑结构,减小了操作系统在不同的拓扑结构上优化并行程序时的负担。
另外,根据本发明上述实施例的片上网络拓扑结构的重构方法还可以具有如下附加的技术特征:
在一些示例中,所述出错运算单元通过对所述片上网络的拓扑结构进行测试得到。
在一些示例中,还包括:如果所述可以被修复的出错运算单元的数量不等于所述出错运算单元的数量,则判定存在不能被修复的出错运算单元。
本发明第二方面的实施例提供了一种片上网络拓扑结构的重构系统,包括:包括:建立模块,用于根据片上网络的初始拓扑结构建立有向图,其中,所述有向图中每个节点为所述初始拓扑结构中每个运算单元,所述运算单元包括正常运算单元、出错运算单元和备用运算单元,并在所述有向图中增加一个超级源点和一个超级汇点,其中,所述超级源点指向所述出错运算单元,所述备用运算单元指向所述超级汇点;计算模块,用于应用最大流算法对所述有向图进行求解以得到最大流量和每一条修复路径,其中,所述最大流量表示可以被修复的出错运算单元的数量;重构模块,用于根据所述修复路径得到所述片上网络的虚拟拓扑结 构以对完成对所述片上网络拓扑结构的重构。
根据本发明实施例的片上网络拓扑结构的重构系统,根据片上网络的初始拓扑结构建立有向图,并在有向图中增加一个超级源点和一个超级汇点,进一步应用最大流算法对有向图进行求解以得到最大流量和每一条修复路径,最后根据修复路径得到片上网络的虚拟拓扑结构以对完成对片上网络拓扑结构的重构。换言之,该系统采用冗余硬件和动态重构的方式来提高系统的可靠性,容错类型集中在解决永久性错误上,具有修复率高、重构时间短、硬件成本低的优点,同时保持很高的网络吞吐率和低延时,此外,无论物理拓扑结构如何,该系统重构产生一致的虚拟拓扑结构,减小了操作系统在不同的拓扑结构上优化并行程序时的负担。
另外,根据本发明上述实施例的片上网络拓扑结构的重构系统还可以具有如下附加的技术特征:
在一些示例中,所述出错运算单元通过对所述片上网络的拓扑结构进行测试得到。
在一些示例中,还包括:判断模块,用于如果所述可以被修复的出错运算单元的数量不等于所述出错运算单元的数量,则判定存在不能被修复的出错运算单元。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是根据本发明一个实施例的片上网络拓扑结构的重构方法的流程图;
图2是根据本发明一个实施例的出错后可能出现的拓扑结构示意图;
图3是根据本发明一个实施例的一些有关参考拓扑结构、物理拓扑结构和虚拟拓扑结构的示意图;
图4是根据本发明一个实施例的通过修复路径和重构得到虚拟拓扑结构的示意图;
图5是根据本发明一个实施例的用最大流算法确定修复路径的示意图;
图6是根据本发明一个实施例的不能完全修复的出错模式示意图;以及
图7是根据本发明一个实施例的片上网络拓扑结构的重构系统的结构框图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的 实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
以下结合附图描述根据本发明实施例的片上网络拓扑结构的重构方法及系统。
图1是根据本发明一个实施例的片上网络拓扑结构的重构方法的流程图。如图1所示,根据本发明一个实施例的片上网络拓扑结构的重构方法,包括以下步骤:
步骤S101,根据片上网络的初始拓扑结构建立有向图,其中,有向图中每个节点为初始拓扑结构中每个运算单元,运算单元包括正常运算单元、出错运算单元和备用运算单元。其中,在本发明的一个实施例中,该出错运算单元可通过对片上网络的拓扑结构进行测试得到。
步骤S102,在有向图中增加一个超级源点和一个超级汇点,其中,超级源点指向出错运算单元,备用运算单元指向超级汇点。
步骤S103,应用最大流算法对有向图进行求解以得到最大流量和每一条修复路径,其中,最大流量表示可以被修复的出错运算单元的数量。
步骤S104,根据修复路径得到片上网络的虚拟拓扑结构以对完成对片上网络拓扑结构的重构。
综上所述,作为一个具体例子,换言之,在上述方法中,首先将网络结构看作一个有向图,并增加一个超级源点,指向所有出错的PE(运算单元),增加一个超级汇点,所有备用PE都指向该汇点。每个节点和每条边的容量限制设为“1”。对此单源点单汇点的网络求解最大流,其中,最大流量等于可以被修复的出错PE数目。每一条单位流对应于从出错PE到备用PE的修复路径。根据修复路径,可以得到重构后的虚拟拓扑结构。
进一步地,在本发明的一个实施例中,该方法还包括:如果上述可以被修复的出错运算单元的数量不等于出错运算单元的数量,则判定存在不能被修复的出错运算单元。也就是说在当前出错模式下,不能找到一组包含所有出错PE的修复路径。
作为一个具体地示例,以下结合图2-6,对本发明上述实施例的方法进行更为具体、详细地描述。
首先介绍物理拓扑结构和虚拟拓扑结构。具体而言,在重构过程中,拓扑结构是一个重要的因素。由于事先不知道出错PE(运算单元)的位置,当出错PE被备用PE(运算单元)代替时,得到的拓扑结构可能变得不规则,并导致性能降低。例如图2(a)是一个4×4的二维网格结构,即预期得到的目标设计。假设增加一列备用PE来提高芯片的可靠性,如图2中(b)所示,即芯片上的实际情况。当出错PE被备用PE代替时,如图2中(c)和图2中(d)所示,不同的芯片可能得到不同的拓扑结构,而这些拓扑结构可能和期望得到的结构也不同。这样导致操作系统在不同的拓扑结构上优化并行程序时负担会很重。
结合图2和图3,参考拓扑结构(Reference Topology)被定义为希望得到的拓扑结构。 例如图2中(a)就是一个4×4二维网格的参考拓扑结构。图3中(a)中有4个备用PE和4个出错PE,出错PE分别是2号、7号、8号和19号。物理拓扑结构(Physical Topology)是正常工作的PE所组成的结构,如图3中(b)所示。尽管物理拓扑结构和参考拓扑结构不同,但是这些PE仍然可以构成一个4×4的处理器。在新得到的芯片中,每一个PE都被认为与其周围的PE虚拟相连。因此重构得到的拓扑结构就被定义为虚拟拓扑结构(Virtual Topology)。图3中(c)是一个4×4二维网格虚拟拓扑结构的例子。在图3中(c)中,3号、6号、9号和13号是12号PE的4个虚拟相邻点,13号PE被虚拟认为位于12号PE的下方,尽管在物理上它们是左右相邻的。虽然9号PE与12号PE实际相距3步,但是在虚拟拓扑结构中认为它们是相邻的。对操作系统和其它应用程序来说,无论实际物理拓扑结构如何,虚拟拓扑结构都是相同的。这样操作系统可以更容易地优化并行程序和分配任务。
假设位于(x,y)的非备用PE出错了,在一个有效的修复方案中,该PE的功能被位于(x’,y’)的正常工作PE所替代。更确切地说,(x’,y’)的PE在重构的网络中被重新编号为(x,y)。原本发往(x,y)的数据包将会发送到(x’,y’)。出错PE重新编号的过程是在重构时完成的。由于只改变了编号,而路由策略没有发生变化,所以在运行时没有额外的开销。这样数据包就通过NoC发送到逻辑上相邻的节点。当(x,y)的PE被(x’,y’)的PE取代后,(x’,y’)的PE接着由(x’’,y’’)的PE所取代,直到这一取代过程以一个备用PE作为终点。这一替代过程中的有序序列(x,y),(x’,y’),(x’’,y’’)…就被定义为修复路径。这是一个在逻辑上用备用PE取代出错PE的序列。而一旦确定了修复路径,每个PE的虚拟相邻节点就可以确定,这样就可以得到虚拟拓扑结构。
图4给出了一个例子描述修复路径和重构得到的虚拟拓扑结构的过程。如图4所示,图4中(a)的顶部有三个集中的出错PE,分别由三条不相交的修复路径连接至备用PE上。3号PE有错,其由4号PE代替,4号PE由5号备用PE代替。这样,原本应发送至3号PE的数据包将会发送给4号PE。举个例子,在原来的拓扑结构中,如果数据要从9号PE发送到3号PE,传输路径应该是9-8-3。但是在重构后的拓扑结构中,传输路径是10-9-4,因为9号PE被10号PE所代替,8号PE由9号PE代替,3号PE由4号PE代替。这表明原始拓扑中的每个PE在虚拟拓扑结构中都被重新编号。这一映射过程通过查找表来完成,查找表储存在每个路由器中。重构控制器计算出修复路径后,将新的坐标分配给每个PE。进一步地,找到出错PE后,为了修复该错误,修复路径必须以出错PE为起点,以一个备用PE为终点。由于数据包只能通过NoC传送给物理相邻节点,因此修复路径上的PE序列必须在物理上相连,也就是说修复路径必须连续。如果有网络中有多条修复路径,这些路径不能相交。因为在虚拟拓扑结构中,每个PE只能映射到一个坐标上,路径相交意味着该交点处的PE将被映射到两个坐标上,所以不允许这种情况出现。在一些示例中,一组修复路径必须满足 以下条件:每条修复路径是连续的;该修复路径组必须涵盖所有出错的非冗余PE;以及每条修复路径不能相交。
另外,作为一个具体地例子,以下对上述涉及到的最大流算法进行简单描述。具体而言,最大流算法可以分析一个网络是否可以完全修复,以及如果可以修复,如何得到修复路径。如果网络中所有出错PE都可以修复,MF(最大流算法)将生成一组修复路径;如果不能完全修复,MF会生成一组可以最大限度修复出错PE的修复路径。生成一组不相交且连续的修复路径的问题可以转化为最大流问题。
进一步地,修复路径和MF算法之间的关系如图5所示。将网格看作一个有向图,每一条修复路径可以看作是从出错PE到备用PE的单位流。这样就变成了一个多源点多汇点的最大流问题。每个节点和每条边的容量限制设为“1”,这样保证在修复路径中每个节点和每条边最多只能出现一次。增加一个超级源点,指向所有出错的PE,增加一个超级汇点,所有备用PE都指向该汇点。此时形成了一个单源点单汇点的网络。由于每条修复路径都是由源点到汇点的单位流,因此该网络的最大流量就等于可以被修复的出错PE数目。如果所有出错PE都可以找到修复路径,即所有出错PE都可修复,此时网络的最大流量等于出错PE总数。这样,NoC拓扑结构重构问题就转化为了图论中的最大流问题。
结合图5中(a)和图5中(b)所示,例如一个网格可以用有向图G(V,E)来表示,V是该网络中节点的集合,E是边的集合,F是出错节点的集合。每个节点代表一个PE和相应的路由器,而连接两个节点的有向边就是路由器之间的链路。每条边和每个节点的容量都是1。该问题的数学描述方法如下:
1.节点集合定义为V′=V∪{S,T},S是源点,T是汇点。
2.连接V’中的节点的边集合E如下定义:
1)对于网格中每一对相邻节点(i,j),定义两条边i→j和j→i;
2)对于每一个备用节点υ∈V,定义边υ→T;
3)对于每一个出错节点υ∈F,定义边S→υ。
3.定义每条边的容量为1。
4.定义每个节点的容量为1。
5.对上面构建的图,求解最大流问题。
求解上述问题,将会得到该图的最大流量以及每一条流。图的最大流量表示有多少出错PE可以被修复,每一条流代表一条修复路径。根据修复路径,可以得到虚拟拓扑结构,如图4中(b)所示。每个PE的映射编号都存储在路由器中,在运行时调用。另一方面,如果最大流量不等于出错PE的数目,这表明有一些错误不能被修复。也就是说在当前出错模式下,不能找到一组包含所有出错PE的修复路径。图6给出了一个不能完全修复的出错模式。图 6中有6个出错PE和6个备用PE。其中一个备用PE是错误的。在这个模式里,只有3个错误可以被修复,修复路径也画在图6中。
综上所示,作为一个具体示例,本发明上述实施例的方法的工作流程可以简述如下:
步骤1:检测网络中错误。其中,错误的检测可以有多种方式,如制造时测试、内建自测、周期性的在线测试等。
步骤2:更新错误信息。具体而言,一旦检测出错误,关于哪些是出错PE、哪些是备用PE的信息都存在一个集中的拓扑结构重构控制器中。
步骤3:将NoC拓扑结构重构问题转化为最大流问题,求解得到修复后的虚拟拓扑结构。换言之,将网络结构看作一个有向图,增加一个超级源点,指向所有出错的PE,增加一个超级汇点,所有备用PE都指向该汇点。每个节点和每条边的容量限制设为“1”。对此单源点单汇点的网络求解最大流。最大流量等于可以被修复的出错PE数目。每一条单位流对应于从出错PE到备用PE的修复路径。根据修复路径,可以得到重构后的虚拟拓扑结构。
步骤4:更改路由表。根据虚拟拓扑结构,对每一个路由器和PE重新编号,使NoC按照虚拟拓扑结构传输数据。
步骤5:程序继续执行。
根据本发明实施例的片上网络拓扑结构的重构方法,首先根据片上网络的初始拓扑结构建立有向图,并在有向图中增加一个超级源点和一个超级汇点,进一步应用最大流算法对有向图进行求解以得到最大流量和每一条修复路径,最后根据修复路径得到片上网络的虚拟拓扑结构以对完成对片上网络拓扑结构的重构。换言之,即本发明的方法采用冗余硬件和动态重构的方式来提高系统的可靠性,容错类型集中在解决永久性错误上,具有修复率高、重构时间短、硬件成本低的优点,同时保持很高的网络吞吐率和低延时,此外,无论物理拓扑结构如何,该方法重构产生一致的虚拟拓扑结构,减小了操作系统在不同的拓扑结构上优化并行程序时的负担。
本发明还提供了一种片上网络拓扑结构的重构系统。
图7是根据本发明一个实施例的片上网络拓扑结构的重构系统的结构框图。如图7所示,根据本发明一个实施例的片上网络拓扑结构的重构系统700,包括:建立模块710、计算模块720和重构模块730。
具体而言,建立模块710用于根据片上网络的初始拓扑结构建立有向图,其中,有向图中每个节点为初始拓扑结构中每个运算单元,运算单元包括正常运算单元、出错运算单元和备用运算单元,并在有向图中增加一个超级源点和一个超级汇点,其中,超级源点指向出错运算单元,备用运算单元指向超级汇点。其中,在本发明的一个实施例中,出错运算单元可通过对片上网络的拓扑结构进行测试得到。
计算模块720用于应用最大流算法对有向图进行求解以得到最大流量和每一条修复路径,其中,最大流量表示可以被修复的出错运算单元的数量。
重构模块730用于根据修复路径得到片上网络的虚拟拓扑结构以对完成对片上网络拓扑结构的重构。
综上所述,作为一个具体例子,换言之,上述系统700的工作原理简述为:首先将网络结构看作一个有向图,并增加一个超级源点,指向所有出错的PE(运算单元),增加一个超级汇点,所有备用PE都指向该汇点。每个节点和每条边的容量限制设为“1”。对此单源点单汇点的网络求解最大流,其中,最大流量等于可以被修复的出错PE数目。每一条单位流对应于从出错PE到备用PE的修复路径。根据修复路径,可以得到重构后的虚拟拓扑结构。
进一步地,在本发明的一个实施例中,该片上网络拓扑结构的重构系统700还包括判断模块740(图中未示出)。判断模块740用于在如果可以被修复的出错运算单元的数量不等于出错运算单元的数量时,判定存在不能被修复的出错运算单元。也就是说在当前出错模式下,不能找到一组包含所有出错PE的修复路径。
关于本发明实施例的片上网络拓扑结构的重构系统700的更为详细、具体地示例性描述,可参见本发明上述结合图2-6对片上网络拓扑结构的重构方法的描述部分,此处为减少冗余,不再赘述。
根据本发明实施例的片上网络拓扑结构的重构系统,根据片上网络的初始拓扑结构建立有向图,并在有向图中增加一个超级源点和一个超级汇点,进一步应用最大流算法对有向图进行求解以得到最大流量和每一条修复路径,最后根据修复路径得到片上网络的虚拟拓扑结构以对完成对片上网络拓扑结构的重构。换言之,该系统采用冗余硬件和动态重构的方式来提高系统的可靠性,容错类型集中在解决永久性错误上,具有修复率高、重构时间短、硬件成本低的优点,同时保持很高的网络吞吐率和低延时,此外,无论物理拓扑结构如何,该系统重构产生一致的虚拟拓扑结构,减小了操作系统在不同的拓扑结构上优化并行程序时的负担。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等, 除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (4)
1.一种片上网络拓扑结构的重构方法,其特征在于,包括以下步骤:
根据片上网络的初始拓扑结构建立有向图,其中,所述有向图中每个节点为所述初始拓扑结构中每个运算单元,所述运算单元包括正常运算单元、出错运算单元和备用运算单元;
在所述有向图中增加一个超级源点和一个超级汇点,其中,所述超级源点指向所述出错运算单元,所述备用运算单元指向所述超级汇点;
如果可以被修复的出错运算单元的数量不等于所述出错运算单元的数量,则判定存在不能被修复的出错运算单元;
应用最大流算法对所述有向图进行求解以得到最大流量和每一条修复路径,其中,所述最大流量表示可以被修复的出错运算单元的数量,所述备用运算单元代替所述可以被修复的出错运算单元的位置;
根据所述修复路径得到所述片上网络的虚拟拓扑结构以完成对所述片上网络拓扑结构的重构。
2.根据权利要求1所述的方法,其特征在于,其中,所述出错运算单元通过对所述片上网络的拓扑结构进行测试得到。
3.一种片上网络拓扑结构的重构系统,其特征在于,包括:
建立模块,用于根据片上网络的初始拓扑结构建立有向图,其中,所述有向图中每个节点为所述初始拓扑结构中每个运算单元,所述运算单元包括正常运算单元、出错运算单元和备用运算单元,并在所述有向图中增加一个超级源点和一个超级汇点,其中,所述超级源点指向所述出错运算单元,所述备用运算单元指向所述超级汇点;
判断模块,用于如果可以被修复的出错运算单元的数量不等于所述出错运算单元的数量,则判定存在不能被修复的出错运算单元;
计算模块,用于应用最大流算法对所述有向图进行求解以得到最大流量和每一条修复路径,其中,所述最大流量表示可以被修复的出错运算单元的数量,所述备用运算单元代替所述可以被修复的出错运算单元的位置;
重构模块,用于根据所述修复路径得到所述片上网络的虚拟拓扑结构以完成对所述片上网络拓扑结构的重构。
4.根据权利要求3所述的系统,其特征在于,其中,所述出错运算单元通过对所述片上网络的拓扑结构进行测试得到。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410222922.7A CN103986672B (zh) | 2014-05-23 | 2014-05-23 | 片上网络拓扑结构的重构方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410222922.7A CN103986672B (zh) | 2014-05-23 | 2014-05-23 | 片上网络拓扑结构的重构方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103986672A CN103986672A (zh) | 2014-08-13 |
CN103986672B true CN103986672B (zh) | 2017-12-19 |
Family
ID=51278499
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410222922.7A Active CN103986672B (zh) | 2014-05-23 | 2014-05-23 | 片上网络拓扑结构的重构方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103986672B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107104909B (zh) * | 2017-05-10 | 2021-06-08 | 华南理工大学 | 可容错的专用片上网络拓扑生成方法 |
CN107612746B (zh) * | 2017-10-12 | 2020-12-22 | 曙光信息产业股份有限公司 | 一种构建Torus网络的方法、Torus网络和路由算法 |
CN113347029B (zh) * | 2020-09-29 | 2022-05-31 | 北京航空航天大学 | 基于拓扑重构和路径规划的Torus网络容错方法 |
EP4013014A1 (en) * | 2020-12-09 | 2022-06-15 | Arteris, Inc. | Multi-phase topology synthesis of a network-on-chip (noc) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5761484A (en) * | 1994-04-01 | 1998-06-02 | Massachusetts Institute Of Technology | Virtual interconnections for reconfigurable logic systems |
CN101977152A (zh) * | 2010-11-12 | 2011-02-16 | 复旦大学 | 一种适合于重构的高性能片上网络系统 |
CN102025614A (zh) * | 2010-11-25 | 2011-04-20 | 浙江大学 | 一种线上可重构的4元树状片上网络系统及其重构方法 |
CN102202005A (zh) * | 2011-07-12 | 2011-09-28 | 西安电子科技大学 | 可重配置的光片上网络及配置方法 |
CN102752207A (zh) * | 2012-07-06 | 2012-10-24 | 哈尔滨工业大学 | 可重配置的2D mesh片上网络结构及其重配置方法 |
CN102799560A (zh) * | 2012-09-07 | 2012-11-28 | 上海交通大学 | 一种基于片上网络的动态可重构子网划分方法及系统 |
CN102904807A (zh) * | 2012-10-10 | 2013-01-30 | 清华大学 | 一种通过数据分割传输实现容错可重构片上网络的方法 |
-
2014
- 2014-05-23 CN CN201410222922.7A patent/CN103986672B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5761484A (en) * | 1994-04-01 | 1998-06-02 | Massachusetts Institute Of Technology | Virtual interconnections for reconfigurable logic systems |
CN101977152A (zh) * | 2010-11-12 | 2011-02-16 | 复旦大学 | 一种适合于重构的高性能片上网络系统 |
CN102025614A (zh) * | 2010-11-25 | 2011-04-20 | 浙江大学 | 一种线上可重构的4元树状片上网络系统及其重构方法 |
CN102202005A (zh) * | 2011-07-12 | 2011-09-28 | 西安电子科技大学 | 可重配置的光片上网络及配置方法 |
CN102752207A (zh) * | 2012-07-06 | 2012-10-24 | 哈尔滨工业大学 | 可重配置的2D mesh片上网络结构及其重配置方法 |
CN102799560A (zh) * | 2012-09-07 | 2012-11-28 | 上海交通大学 | 一种基于片上网络的动态可重构子网划分方法及系统 |
CN102904807A (zh) * | 2012-10-10 | 2013-01-30 | 清华大学 | 一种通过数据分割传输实现容错可重构片上网络的方法 |
Non-Patent Citations (3)
Title |
---|
《Fault-Tolerant Flow Control with Dataflow Division in Network-on-Chip》;Yaoyi wu等;《IEEE》;20121231;第487-490页 * |
《一种求解网络图最大流的新算法》;赵礼峰等;《计算机技术与发展》;20140228;第120-122页 * |
《基于前缀的片上网络容错源路由算法》;许耿纯等;《计算机应用与软件》;20130228;第30 卷(第2期);第18-21页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103986672A (zh) | 2014-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103986672B (zh) | 片上网络拓扑结构的重构方法及系统 | |
CN103703727B (zh) | 用于分体式架构系统中控制业务的弹性路由的方法和设备 | |
Wachter et al. | Topology-agnostic fault-tolerant NoC routing method | |
Chalasani et al. | Communication in multicomputers with nonconvex faults | |
CN106576055B (zh) | 用于改进高性能计算中的集体操作的性能的系统、方法和装置 | |
Bahmani et al. | A 3D-NoC router implementation exploiting vertically-partially-connected topologies | |
US20070053283A1 (en) | Correlation and consolidation of link events to facilitate updating of status of source-destination routes in a multi-path network | |
CN104579951B (zh) | 片上网络中新颖的故障与拥塞模型下的容错方法 | |
CN107612746A (zh) | 一种构建Torus网络的方法、Torus网络和路由算法 | |
CN104052622B (zh) | 片上网络中基于故障通道隔离检测的路由器容错方法 | |
CN104133732B (zh) | 针对3D NoC中TSV故障分级的容错方法 | |
Moriam et al. | Fault tolerant deadlock-free adaptive routing algorithms for hexagonal networks-on-chip | |
Ren et al. | A fault tolerant NoC architecture using quad-spare mesh topology and dynamic reconfiguration | |
Armbruster et al. | Power transmission control using distributed max-flow | |
Zhang et al. | An improved fault-tolerant routing algorithm for a Network-on-Chip derived with formal analysis | |
Yu et al. | Transient and permanent error control for high-end multiprocessor systems-on-chip | |
Wang et al. | Design of fault-tolerant and reliable networks-on-chip | |
Shafiei et al. | Development of an adaptive multipath routing algorithm by examining the congestion and channel fault of one-hop nodes in network-on-chip | |
Salamat et al. | CoBRA: Low cost compensation of TSV failures in 3D-NoC | |
Zhao et al. | A path-counter method for fault-tolerant minimal routing algorithms in 2D mesh | |
Liu et al. | A novel approach using a minimum cost maximum flow algorithm for fault-tolerant topology reconfiguration in NoC architectures | |
Marcon et al. | Phoenix NoC: A distributed fault tolerant architecture | |
Ren et al. | Efficient fault-tolerant topology reconfiguration using a maximum flow algorithm | |
Radetzki | Fault-tolerant differential q routing in arbitrary noc topologies | |
Yang et al. | Diagnosing Distributed Routing Configurations Using Sequential Program Analysis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |