一种基于片上网络的无死锁路由方法

文档序号:7945540阅读:285来源:国知局
专利名称:一种基于片上网络的无死锁路由方法
技术领域
本发明属于片上网络技术领域,涉及一种路由方法,尤其涉及一种基于片上网络的无死锁路由方法。
背景技术
随着半导体工艺技术步入纳米阶段,在单一芯片中集成上亿晶体管已经成为现实,如何解决传统共享总线通信结构中存在的延迟、通信性能瓶颈等问题就成为了重要的研究方向。片上网络NoC(Network on Chip)作为一种新的片上通信系统结构在性能上相比于传统总线结构有了极大的提升。而在现有的片上网络中,最主要采用的是2D网格的拓扑结构,这种拓扑结构工艺上较容易实现,对绝大多数应用也具备较好的性能。本发明就是基于片上网络的通信结构和传统2D网格的拓扑结构来设计实现的。同时,随着工艺尺寸的不断缩小,芯片越来越容易受到外界的干扰。串扰、耦合噪声以及宇宙射线照射带来的软错误逐渐成为制约系统可靠性的关键因素。另一方面,空天、 金融等行业领域又需要很高的可靠性要求,面对这种有高可靠性要求的应用,就需要设计具有容错能力的系统来满足这些需求。通常的具有容错能力的系统会利用时间冗余、空间冗余、信息冗余等方法来提高系统的可靠性。

发明内容
本发明所要解决的技术问题是提供一种基于片上网络的无死锁路由方法,可实现空间上的三模冗余,提高系统的可靠性。为解决上述技术问题,本发明采用如下技术方案一种基于片上网络的无死锁路由方法,所述方法包括如下步骤在源节点将数据包复制η份,其中,η彡3 ;在片上网络中设定η条自源节点至目的节点的不交叉的通道,η 份数据包分别在η条通道上传输;η份数据包到达目的节点后再通过表决器得到正确结果, 实现了空间上的冗余。作为本发明的一种优选方案,在源节点将数据包复制三份;在片上网络中设定三条自源节点至目的节点的不交叉的通道,三份数据包分别在三条通道上传输;三份数据包到达目的节点后再通过表决器得到正确结果,实现了空间上的三模冗余。作为本发明的一种优选方案,在片上网络中开设四条虚通道,其中两条分别为XY 通道和Tk通道,另外两条是红通道和黑通道;具有高可靠性要求的数据包在源节点首先拷贝成三份,其中的两份分别通过XY通道和通道向目的节点发包;第三份数据包首先通过源节点的红通道/黑通道发送到与前两条通道不同的相邻节点,再通过XY通道ΛΧ通道发送到距离目的节点为一的节点,必须在源节点与目的节点组成的矩形区域以外,保证与另外两份数据包无交叉路径;再通过黑通道/红通道发送到目的节点。进一步地,如果源节点是偶节点则通过黑通道发送到与前两条通道不同的相邻节点,再通过Tk通道发送到距离目的节点为一的节点,必须在源节点与目的节点组成的矩形区域以外,保证与另外两份数据包无交叉路径;再通过红通道发送到目的节点;如果源节点是奇节点则通过红通道发送到与前两条通道不同的相邻节点,再通过XY通道发送到距离目的节点为一的节点,必须在源节点与目的节点组成的矩形区域以外,保证与另外两份数据包无交叉路径;再通过黑通道发送到目的节点。进一步地,所有红通道都是从奇节点为源节点,发送到偶节点;红通道对所有偶节点来说都是接收通道,对所有奇节点都是发出通道;黑通道与之相反。进一步地,所述奇节点、偶节点的定义为将片上网络的左下角router节点的坐标定位为(1,1),向右为X正向,向上为Y正向,将任一 router节点的XY坐标相加,如果为奇数该节点就是奇节点,如果该节点XY坐标相加为偶数就是偶节点。本发明的有益效果在于本发明提出的基于片上网络的无死锁路由方法,第一次在2D网格的片上网络中提出了一种三条非交叉路径的路由算法,并且严格证明了不会带来死锁问题。可以利用本发明的路由算法来实现空间上的三模冗余,提高系统的可靠性。


图1为一个经典的2D网格片上网络结构图。图2为一个红黑通道示意图。图3为一个本发明无死锁路由方法的实际示例图。
具体实施例方式下面结合附图详细说明本发明的优选实施例。实施例一本发明揭示了一种非交叉无死锁的三路径路由算法,可以将具有高可靠性要求的数据包复制三份在片上网络中进行传输,到目的节点后再通过表决器得到正确结果,实现了空间上的三模冗余。由于宇宙射线等造成的软错误在时间和空间上都具有随机性,因此本发明设计的无交叉路由可以保证同一个软错误最多只会影响一份数据包,从而在目的节点完全可以通过表决器得到正确结果。同时本发明可以严格证明的无死锁路由,可保证不会引起系统的崩溃。在本发明中采用了奇节点、偶节点、XY通道、通道、红通道、黑通道名词,它们的定义为奇节点将片上网络的左下角router节点的坐标定位为(1,1),向右为X正向,向上为Y正向,将任一 router节点的XY坐标相加,如果为奇数该节点就是奇节点。偶节点如上所述,如果该节点XY坐标相加为偶数就是偶节点。XY通道在该虚通道内,数据包的传输采用XY路由策略,就是先沿X方向传输到与目标节点相同的X坐标的节点,再沿Y方向传输到目标节点。通道与XY通道类似,先沿Y方向传输到目标节点相同X坐标的节点,再沿X方向传输到目标节点。红通道每个router节点到它每个相邻的节点都有一对虚通道一个发出通道和一个接收通道。对每个奇节点来说,它们的发出通道是红通道,对每一个偶节点来说,它们的接收通道是红通道。
黑通道与红通道类似,对每个奇节点来说,它们的接收通道是黑通道,对每一个偶节点来说,它们的发出通道是黑通道。图1是一个经典的2D网格片上网络结构图。IP代表片上网络中的IP核,即处理器单元。而R代表router节点,它是一个五端口器件,可以将任意端口传入的数据包根据路由算法分配到任意一个端口进行输出。图2是一个8X8的2D网格片上网络中的红黑通道示意图。其中每个方块代表每个router节点,因为只考虑网络中通信虚通道所以在图中省略了 IP核。左下角的router 节点坐标为(1,1)那么坐标和为2,因此在节点上标明为2,此节点为偶节点。其余节点分别计算坐标和,并将其标在图2中。这样可以看出标明偶数的节点为偶节点,奇数节点为奇节点;还可以看出所有偶节点的相邻节点都是奇节点,反之亦然。在图2中画出虚线的有向边为红通道,从图中可以看出所有红通道都是从奇节点为源节点,发送到偶节点。因此红通道对所有偶节点来说都是接收通道,对所有奇节点都是发出通道。黑通道与之相反。高可靠性处理器一般采用三模冗余的方式提高系统容错能力,而在片上网络中如果采用三套网络来传输又会带来巨大的硬件开销,因此在本发明中尝试在一套网络中选取三条非交叉路径分别传输。本发明在传统XY4X路由的基础上,再添加一条固定的与上面两条线路无交叉的路由线路,并且通过合理的虚通道分配保证在系统中无死锁。具体地,本发明无死锁路由方法包括如下步骤首先,需要在片上网络中开设四条虚通道,其中两条分别为XY和Tk虚通道,另外两条是红通道和黑通道。具有高可靠性要求的数据包在源节点(除了四个端点的节点只有两条不相交发出路径除外)首先拷贝成三份,其中的两份分别通过XY通道和通道向目的节点发包,第三份数据包首先通过源节点的红或黑通道(取决于源节点是奇节点还是偶节点,如果是偶节点则通过黑通道,如果是奇节点则通过红通道)发送到与前两份不同的相邻节点,再通过XY或Tt通道发送到距离目的节点为一的节点(必须在源节点与目的节点组成的矩形区域以外保证与另外两份数据包无交叉路径)。再通过红通道或黑通道(取决于该节点的奇偶性)发送到目的节点。本发明的路由算法可以严格证明为无死锁路由算法。首先,XY路由与路由分别为无死锁路由,将他们分配为两个虚通道则在这两条路径上不存在死锁问题。然后对红通道来说,任意相邻两节点的红通道必为一个是发出通道一个是接收通道,任何包在红通道内只会传输一跳就必须进入XY或Tk通道,或者从XY或Tk通道出来只会在红通道内传输一跳。因此,红通道内的传输边都是孤立边,不可能在红通道内有一跳以上的传输,必然不可能有通道依赖环的存在,因此加入红通道内仍然无死锁。而同理,黑通道与红通道只有奇偶性的区别,加入黑通道依然无死锁。从而证明了本发明的路由算法是无死锁路由算法。图3是一个本路由算法的实际示例图。数据包需要从图中的源节点发送到目的节点。首先XY路由和路由分别如图中所示分配了两条虚通道传输到目的节点(都是 7-8-9-10-11-12-13)。然后,因为源节点的XY坐标和为7,所以是奇节点。根据本发明的规定,奇节点的发出通道是红通道,因此从图中可以看出数据包通过红通道从源节点向下传输一跳,因为这个方向与乂丫,作路由的方向都不同,因此与上面两种路径无交叉。然后在这个节点使用XY通道传输到与目的节点相邻的节点,因为这条路径是在源节点到目的节点组成的矩形区域以外的区域内传输,因此与上面两种路径无交叉。到达的目的节点相邻节点的XY坐标和为14,所以是偶节点,根据本发明的规定,偶节点的发出通道是黑通道,因此从该节点通过黑通道发送到目的节点,完成传输。这样就实现了三条非交叉路径的路由策略,并且在前面已经严格证明了本路由算法无死锁。综上所述,本发明提出的基于片上网络的无死锁路由方法,第一次在2D网格的片上网络中提出了一种三条非交叉路径的路由算法,并且严格证明了不会带来死锁问题。可以利用本发明的路由算法来实现空间上的三模冗余,提高系统的可靠性。实施例二本实施例揭示一种基于片上网络的无死锁路由方法,所述方法包括如下步骤在源节点将数据包复制三份,在片上网络中设定三条自源节点至目的节点的不交叉的通道, 三份数据包分别在三条通道上传输;三份数据包到达目的节点后再通过表决器得到正确结果,实现了空间上的冗余。其中,三条通道可以为除实施例一中三条通道之外的其他通道,只需要三条通道不交叉即可;当然,通道可以尽可能的短。实施例三本实施例揭示一种基于片上网络的无死锁路由方法,所述方法包括如下步骤在源节点将数据包复制四份,在片上网络中设定四条自源节点至目的节点的不交叉的通道, 四份数据包分别在四条通道上传输;四份数据包到达目的节点后再通过表决器得到正确结果,实现了空间上的冗余。这里本发明的描述和应用是说明性的,并非想将本发明的范围限制在上述实施例中。这里所披露的实施例的变形和改变是可能的,对于那些本领域的普通技术人员来说实施例的替换和等效的各种部件是公知的。本领域技术人员应该清楚的是,在不脱离本发明的精神或本质特征的情况下,本发明可以以其它形式、结构、布置、比例,以及用其它组件、 材料和部件来实现。在不脱离本发明范围和精神的情况下,可以对这里所披露的实施例进行其它变形和改变。
权利要求
1.一种基于片上网络的无死锁路由方法,其特征在于,所述方法包括如下步骤在源节点将数据包复制η份,其中,η彡3 ;在片上网络中设定η条自源节点至目的节点的不交叉的通道,η份数据包分别在η条通道上传输;η份数据包到达目的节点后再通过表决器得到正确结果,实现空间上的冗余。
2.根据权利要求1所述的基于片上网络的无死锁路由方法,其特征在于在源节点将数据包复制三份;在片上网络中设定三条自源节点至目的节点的不交叉的通道,三份数据包分别在三条通道上传输;三份数据包到达目的节点后再通过表决器得到正确结果,实现了空间上的三模冗余。
3.根据权利要求2所述的基于片上网络的无死锁路由方法,其特征在于在片上网络中开设四条虚通道,其中两条分别为XY通道和通道,另外两条是红通道和黑通道;具有高可靠性要求的数据包在源节点首先拷贝成三份,其中的两份分别通过XY通道和Tk通道向目的节点发包;第三份数据包首先通过源节点的红通道/黑通道发送到与前两条通道不同的相邻节点,再通过XY通道ΛΧ通道发送到距离目的节点为一的节点,必须在源节点与目的节点组成的矩形区域以外,保证与另外两份数据包无交叉路径;再通过黑通道/红通道发送到目的节点。
4.根据权利要求3所述的基于片上网络的无死锁路由方法,其特征在于如果源节点是偶节点则通过黑通道发送到与前两条通道不同的相邻节点,再通过U 通道发送到距离目的节点为一的节点,必须在源节点与目的节点组成的矩形区域以外,保证与另外两份数据包无交叉路径;再通过红通道发送到目的节点;如果源节点是奇节点则通过红通道发送到与前两条通道不同的相邻节点,再通过XY 通道发送到距离目的节点为一的节点,必须在源节点与目的节点组成的矩形区域以外,保证与另外两份数据包无交叉路径;再通过黑通道发送到目的节点。
5.根据权利要求4所述的基于片上网络的无死锁路由方法,其特征在于所有红通道都是从奇节点为源节点,发送到偶节点;红通道对所有偶节点来说都是接收通道,对所有奇节点都是发出通道;黑通道与之相反。
6.根据权利要求4所述的基于片上网络的无死锁路由方法,其特征在于所述奇节点、偶节点的定义为将片上网络的左下角router节点的坐标定位为(1,1), 向右为X正向,向上为Y正向,将任一 router节点的XY坐标相加,如果为奇数该节点就是奇节点,如果该节点XY坐标相加为偶数就是偶节点。
全文摘要
本发明揭示了一种基于片上网络的无死锁路由方法,所述方法包括如下步骤在源节点将数据包复制n份,其中,n≥3;在片上网络中设定n条自源节点至目的节点的不交叉的通道,n份数据包分别在n条通道上传输;n份数据包到达目的节点后再通过表决器得到正确结果,实现了空间上的冗余。本发明提出的基于片上网络的无死锁路由方法,第一次在2D网格的片上网络中提出了一种三条非交叉路径的路由算法,并且严格证明了不会带来死锁问题。可以利用本发明的路由算法来实现空间上的三模冗余,提高系统的可靠性。
文档编号H04L12/56GK102333038SQ20111032148
公开日2012年1月25日 申请日期2011年10月21日 优先权日2011年10月21日
发明者付宇卓, 刘婷, 武鹏, 蒋江 申请人:上海交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1