CN102333038B - 一种基于片上网络的无死锁路由方法 - Google Patents
一种基于片上网络的无死锁路由方法 Download PDFInfo
- Publication number
- CN102333038B CN102333038B CN2011103214812A CN201110321481A CN102333038B CN 102333038 B CN102333038 B CN 102333038B CN 2011103214812 A CN2011103214812 A CN 2011103214812A CN 201110321481 A CN201110321481 A CN 201110321481A CN 102333038 B CN102333038 B CN 102333038B
- Authority
- CN
- China
- Prior art keywords
- node
- passage
- red
- network
- chip
- 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
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明揭示了一种基于片上网络的无死锁路由方法,所述方法包括如下步骤:在源节点将数据包复制n份,其中,n≥3;在片上网络中设定n条自源节点至目的节点的不交叉的通道,n份数据包分别在n条通道上传输;n份数据包到达目的节点后再通过表决器得到正确结果,实现了空间上的冗余。本发明提出的基于片上网络的无死锁路由方法,第一次在2D网格的片上网络中提出了一种三条非交叉路径的路由算法,并且严格证明了不会带来死锁问题。可以利用本发明的路由算法来实现空间上的三模冗余,提高系统的可靠性。
Description
技术领域
本发明属于片上网络技术领域,涉及一种路由方法,尤其涉及一种基于片上网络的无死锁路由方法。
背景技术
随着半导体工艺技术步入纳米阶段,在单一芯片中集成上亿晶体管已经成为现实,如何解决传统共享总线通信结构中存在的延迟、通信性能瓶颈等问题就成为了重要的研究方向。片上网络NoC(Network on Chip)作为一种新的片上通信系统结构在性能上相比于传统总线结构有了极大的提升。而在现有的片上网络中,最主要采用的是2D网格的拓扑结构,这种拓扑结构工艺上较容易实现,对绝大多数应用也具备较好的性能。本发明就是基于片上网络的通信结构和传统2D网格的拓扑结构来设计实现的。
同时,随着工艺尺寸的不断缩小,芯片越来越容易受到外界的干扰。串扰、耦合噪声以及宇宙射线照射带来的软错误逐渐成为制约系统可靠性的关键因素。另一方面,空天、金融等行业领域又需要很高的可靠性要求,面对这种有高可靠性要求的应用,就需要设计具有容错能力的系统来满足这些需求。通常的具有容错能力的系统会利用时间冗余、空间冗余、信息冗余等方法来提高系统的可靠性。
发明内容
本发明所要解决的技术问题是:提供一种基于片上网络的无死锁路由方法,可实现空间上的三模冗余,提高系统的可靠性。
为解决上述技术问题,本发明采用如下技术方案:
一种基于片上网络的无死锁路由方法,所述方法包括如下步骤:在源节点将数据包复制n份,其中,n≥3;在片上网络中设定n条自源节点至目的节点的不交叉的通道,n份数据包分别在n条通道上传输;n份数据包到达目的节点后再通过表决器得到正确结果,实现了空间上的冗余。
作为本发明的一种优选方案,在源节点将数据包复制三份;在片上网络中设定三条自源节点至目的节点的不交叉的通道,三份数据包分别在三条通道上传输;三份数据包到达目的节点后再通过表决器得到正确结果,实现了空间上的三模冗余。
作为本发明的一种优选方案,在片上网络中开设四条虚通道,其中两条分别为XY通道和YX通道,另外两条是红通道和黑通道;具有高可靠性要求的数据包在源节点首先拷贝成三份,其中的两份分别通过XY通道和YX通道向目的节点发包;第三份数据包首先通过源节点的红通道/黑通道发送到与前两条通道不同的相邻节点,再通过XY通道/YX通道发送到距离目的节点为一的节点,必须在源节点与目的节点组成的矩形区域以外,保证与另外两份数据包无交叉路径;再通过黑通道/红通道发送到目的节点。
进一步地,如果源节点是偶节点则通过黑通道发送到与前两条通道不同的相邻节点,再通过YX通道发送到距离目的节点为一的节点,必须在源节点与目的节点组成的矩形区域以外,保证与另外两份数据包无交叉路径;再通过红通道发送到目的节点;如果源节点是奇节点则通过红通道发送到与前两条通道不同的相邻节点,再通过XY通道发送到距离目的节点为一的节点,必须在源节点与目的节点组成的矩形区域以外,保证与另外两份数据包无交叉路径;再通过黑通道发送到目的节点。
进一步地,所有红通道都是从奇节点为源节点,发送到偶节点;红通道对所有偶节点来说都是接收通道,对所有奇节点都是发出通道;黑通道与之相反。
进一步地,所述奇节点、偶节点的定义为:将片上网络的左下角router节点的坐标定位为(1,1),向右为X正向,向上为Y正向,将任一router节点的XY坐标相加,如果为奇数该节点就是奇节点,如果该节点XY坐标相加为偶数就是偶节点。
本发明的有益效果在于:本发明提出的基于片上网络的无死锁路由方法,第一次在2D网格的片上网络中提出了一种三条非交叉路径的路由算法,并且严格证明了不会带来死锁问题。可以利用本发明的路由算法来实现空间上的三模冗余,提高系统的可靠性。
附图说明
图1为一个经典的2D网格片上网络结构图。
图2为一个红黑通道示意图。
图3为一个本发明无死锁路由方法的实际示例图。
具体实施方式
下面结合附图详细说明本发明的优选实施例。
实施例一
本发明揭示了一种非交叉无死锁的三路径路由算法,可以将具有高可靠性要求的数据包复制三份在片上网络中进行传输,到目的节点后再通过表决器得到正确结果,实现了空间上的三模冗余。由于宇宙射线等造成的软错误在时间和空间上都具有随机性,因此本发明设计的无交叉路由可以保证同一个软错误最多只会影响一份数据包,从而在目的节点完全可以通过表决器得到正确结果。同时本发明可以严格证明的无死锁路由,可保证不会引起系统的崩溃。
在本发明中采用了奇节点、偶节点、XY通道、YX通道、红通道、黑通道名词,它们的定义为:
奇节点:将片上网络的左下角router节点的坐标定位为(1,1),向右为X正向,向上为Y正向,将任一router节点的XY坐标相加,如果为奇数该节点就是奇节点。
偶节点:如上所述,如果该节点XY坐标相加为偶数就是偶节点。
XY通道:在该虚通道内,数据包的传输采用XY路由策略,就是先沿X方向传输到与目标节点相同的X坐标的节点,再沿Y方向传输到目标节点。
YX通道:与XY通道类似,先沿Y方向传输到目标节点相同X坐标的节点,再沿X方向传输到目标节点。
红通道:每个router节点到它每个相邻的节点都有一对虚通道:一个发出通道和一个接收通道。对每个奇节点来说,它们的发出通道是红通道,对每一个偶节点来说,它们的接收通道是红通道。
黑通道:与红通道类似,对每个奇节点来说,它们的接收通道是黑通道,对每一个偶节点来说,它们的发出通道是黑通道。
图1是一个经典的2D网格片上网络结构图。IP代表片上网络中的IP核,即处理器单元。而R代表router节点,它是一个五端口器件,可以将任意端口传入的数据包根据路由算法分配到任意一个端口进行输出。
图2是一个8×8的2D网格片上网络中的红黑通道示意图。其中每个方块代表每个router节点,因为只考虑网络中通信虚通道所以在图中省略了IP核。左下角的router节点坐标为(1,1)那么坐标和为2,因此在节点上标明为2,此节点为偶节点。其余节点分别计算坐标和,并将其标在图2中。这样可以看出标明偶数的节点为偶节点,奇数节点为奇节点;还可以看出所有偶节点的相邻节点都是奇节点,反之亦然。
在图2中画出虚线的有向边为红通道,从图中可以看出所有红通道都是从奇节点为源节点,发送到偶节点。因此红通道对所有偶节点来说都是接收通道,对所有奇节点都是发出通道。黑通道与之相反。
高可靠性处理器一般采用三模冗余的方式提高系统容错能力,而在片上网络中如果采用三套网络来传输又会带来巨大的硬件开销,因此在本发明中尝试在一套网络中选取三条非交叉路径分别传输。本发明在传统XY-YX路由的基础上,再添加一条固定的与上面两条线路无交叉的路由线路,并且通过合理的虚通道分配保证在系统中无死锁。
具体地,本发明无死锁路由方法包括如下步骤:首先,需要在片上网络中开设四条虚通道,其中两条分别为XY和YX虚通道,另外两条是红通道和黑通道。具有高可靠性要求的数据包在源节点(除了四个端点的节点只有两条不相交发出路径除外)首先拷贝成三份,其中的两份分别通过XY通道和YX通道向目的节点发包,第三份数据包首先通过源节点的红或黑通道(取决于源节点是奇节点还是偶节点,如果是偶节点则通过黑通道,如果是奇节点则通过红通道)发送到与前两份不同的相邻节点,再通过XY或YX通道发送到距离目的节点为一的节点(必须在源节点与目的节点组成的矩形区域以外保证与另外两份数据包无交叉路径)。再通过红通道或黑通道(取决于该节点的奇偶性)发送到目的节点。
本发明的路由算法可以严格证明为无死锁路由算法。首先,XY路由与YX路由分别为无死锁路由,将他们分配为两个虚通道则在这两条路径上不存在死锁问题。然后对红通道来说,任意相邻两节点的红通道必为一个是发出通道一个是接收通道,任何包在红通道内只会传输一跳就必须进入XY或YX通道,或者从XY或YX通道出来只会在红通道内传输一跳。因此,红通道内的传输边都是孤立边,不可能在红通道内有一跳以上的传输,必然不可能有通道依赖环的存在,因此加入红通道内仍然无死锁。而同理,黑通道与红通道只有奇偶性的区别,加入黑通道依然无死锁。从而证明了本发明的路由算法是无死锁路由算法。
图3是一个本路由算法的实际示例图。数据包需要从图中的源节点发送到目的节点。首先XY路由和YX路由分别如图中所示分配了两条虚通道传输到目的节点(都是7-8-9-10-11-12-13)。然后,因为源节点的XY坐标和为7,所以是奇节点。根据本发明的规定,奇节点的发出通道是红通道,因此从图中可以看出数据包通过红通道从源节点向下传输一跳,因为这个方向与XY,YX路由的方向都不同,因此与上面两种路径无交叉。然后在这个节点使用XY通道传输到与目的节点相邻的节点,因为这条路径是在源节点到目的节点组成的矩形区域以外的区域内传输,因此与上面两种路径无交叉。到达的目的节点相邻节点的XY坐标和为14,所以是偶节点,根据本发明的规定,偶节点的发出通道是黑通道,因此从该节点通过黑通道发送到目的节点,完成传输。这样就实现了三条非交叉路径的路由策略,并且在前面已经严格证明了本路由算法无死锁。
综上所述,本发明提出的基于片上网络的无死锁路由方法,第一次在2D网格的片上网络中提出了一种三条非交叉路径的路由算法,并且严格证明了不会带来死锁问题。可以利用本发明的路由算法来实现空间上的三模冗余,提高系统的可靠性。
实施例二
本实施例揭示一种基于片上网络的无死锁路由方法,所述方法包括如下步骤:在源节点将数据包复制三份,在片上网络中设定三条自源节点至目的节点的不交叉的通道,三份数据包分别在三条通道上传输;三份数据包到达目的节点后再通过表决器得到正确结果,实现了空间上的冗余。
其中,三条通道可以为除实施例一中三条通道之外的其他通道,只需要三条通道不交叉即可;当然,通道可以尽可能的短。
实施例三
本实施例揭示一种基于片上网络的无死锁路由方法,所述方法包括如下步骤:在源节点将数据包复制四份,在片上网络中设定四条自源节点至目的节点的不交叉的通道,四份数据包分别在四条通道上传输;四份数据包到达目的节点后再通过表决器得到正确结果,实现了空间上的冗余。
这里本发明的描述和应用是说明性的,并非想将本发明的范围限制在上述实施例中。这里所披露的实施例的变形和改变是可能的,对于那些本领域的普通技术人员来说实施例的替换和等效的各种部件是公知的。本领域技术人员应该清楚的是,在不脱离本发明的精神或本质特征的情况下,本发明可以以其它形式、结构、布置、比例,以及用其它组件、材料和部件来实现。在不脱离本发明范围和精神的情况下,可以对这里所披露的实施例进行其它变形和改变。
Claims (3)
1.一种基于片上网络的无死锁路由方法,其特征在于,所述方法包括如下步骤:
在源节点将数据包复制n份,其中,n≥3;
在片上网络中设定n条自源节点至目的节点的不交叉的通道,n份数据包分别在n条通道上传输;
n份数据包到达目的节点后再通过表决器得到正确结果,实现空间上的冗余;
当n=3时,在片上网络中开设四条虚通道,其中两条分别为XY通道和YX通道,另外两条是红通道和黑通道;
具有高可靠性要求的数据包在源节点首先拷贝成三份,其中的两份分别通过XY通道和YX通道向目的节点发包;
第三份数据包首先通过源节点的红通道/黑通道发送到与前两条通道不同的相邻节点,再通过XY通道/YX通道发送到距离目的节点为一的节点,必须在源节点与目的节点组成的矩形区域以外,保证与另外两份数据包无交叉路径;再通过黑通道/红通道发送到目的节点;所述XY通道、YX通道、红通道、黑通道的定义是:
XY通道:在该虚通道内,数据包的传输采用XY路由策略,就是先沿X方向传输到与目标节点相同的X坐标的节点,再沿Y方向传输到目标节点;
YX通道:与XY通道类似,先沿Y方向传输到目标节点相同的Y坐标的节点,再沿X方向传输到目标节点;
红通道:每个router节点到它每个相邻的节点都有一对虚通道:一个发出通道和一个接收通道;对每个奇节点来说,它们的发出通道是红通道,对每一个偶节点来说,它们的接收通道是红通道;
黑通道:与红通道类似,对每个奇节点来说,它们的接收通道是黑通道,对每一个偶节点来说,它们的发出通道是黑通道。
2.根据权利要求1所述的基于片上网络的无死锁路由方法,其特征在于:
如果源节点是偶节点则通过黑通道发送到与前两条通道不同的相邻节点,再通过YX通道发送到距离目的节点为一的节点,必须在源节点与目的节点组成的矩形区域以外,保证与另外两份数据包无交叉路径;再通过红通道发送到目的节点;
如果源节点是奇节点则通过红通道发送到与前两条通道不同的相邻节点,再通过XY通道发送到距离目的节点为一的节点,必须在源节点与目的节点组成的矩形区域以外,保证与另外两份数据包无交叉路径;再通过黑通道发送到目的节点;
所述奇节点、偶节点的定义为:将片上网络的左下角router节点的坐标定位为(1,1),向右为X正向,向上为Y正向,将任一router节点的XY坐标相加,如果为奇数该节点就是奇节点,如果该节点XY坐标相加为偶数就是偶节点。
3.根据权利要求2所述的基于片上网络的无死锁路由方法,其特征在于:
所有红通道都是从奇节点为源节点,发送到偶节点;红通道对所有偶节点来说都是接收通道,对所有奇节点都是发出通道;黑通道与之相反。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011103214812A CN102333038B (zh) | 2011-10-21 | 2011-10-21 | 一种基于片上网络的无死锁路由方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011103214812A CN102333038B (zh) | 2011-10-21 | 2011-10-21 | 一种基于片上网络的无死锁路由方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102333038A CN102333038A (zh) | 2012-01-25 |
CN102333038B true CN102333038B (zh) | 2013-11-13 |
Family
ID=45484647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011103214812A Active CN102333038B (zh) | 2011-10-21 | 2011-10-21 | 一种基于片上网络的无死锁路由方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102333038B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102724125B (zh) * | 2012-06-28 | 2015-10-21 | 黑龙江大学 | 基于宏虚通道的片上网络节点通信方法 |
CN102882783B (zh) * | 2012-10-09 | 2016-01-20 | 上海交通大学 | 基于tsv的三维集成电路的片上网络的拓扑架构、路由方法 |
CN103577379B (zh) * | 2013-10-17 | 2016-04-13 | 中国人民解放军国防科学技术大学 | 一种检测片上网络中死锁的方法 |
CN103593589B (zh) * | 2013-11-22 | 2016-07-13 | 天津大学 | 应用混合路由算法实现片上网络知识产权保护的方法 |
CN103729331B (zh) * | 2013-11-26 | 2019-04-12 | 西安电子科技大学 | 片上网络通信死锁避免方法、路由器及通信网络 |
CN104683242B (zh) * | 2015-03-15 | 2018-05-25 | 西安电子科技大学 | 一种二维片上网络的拓扑结构以及路由方法 |
CN105072032B (zh) * | 2015-09-17 | 2018-05-18 | 浪潮(北京)电子信息产业有限公司 | 一种确定片上网络路由路径的方法及系统 |
CN106254254B (zh) * | 2016-09-19 | 2020-05-26 | 复旦大学 | 一种基于Mesh拓扑结构的片上网络通信方法 |
CN110086709B (zh) * | 2019-03-22 | 2021-09-03 | 同济大学 | 针对超大规模片上网络容忍众故障的确定性路径路由方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101242372A (zh) * | 2008-03-10 | 2008-08-13 | 清华大学 | k元N维mesh网中的无死锁路由方法 |
CN101262444A (zh) * | 2008-03-10 | 2008-09-10 | 清华大学 | 基于通道交叠的容错mesh网避免死锁的路由方法 |
CN101267398A (zh) * | 2008-04-18 | 2008-09-17 | 清华大学 | 二维torus网中的无死锁自适应路由方法 |
CN101335704A (zh) * | 2008-04-18 | 2008-12-31 | 清华大学 | 三维torus网中的无死锁自适应路由方法 |
CN101483614A (zh) * | 2008-10-20 | 2009-07-15 | 电子科技大学 | 三维片上网络架构方法 |
CN101819445A (zh) * | 2010-02-05 | 2010-09-01 | 北京航空航天大学 | 一种嵌入式星载容错温度控制系统及其验证方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3534597B2 (ja) * | 1997-12-12 | 2004-06-07 | 三菱電機株式会社 | 移動体無線データ伝送方式 |
US20020150056A1 (en) * | 1998-05-15 | 2002-10-17 | Martin Abadi | Method for avoiding broadcast deadlocks in a mesh-connected network |
JP3895115B2 (ja) * | 2001-02-01 | 2007-03-22 | ソニー株式会社 | データ伝送方法、データ送信装置、およびデータ受信装置 |
US7664032B2 (en) * | 2003-11-10 | 2010-02-16 | Oki Electric Industry Co., Ltd. | Communication terminal and communication network |
-
2011
- 2011-10-21 CN CN2011103214812A patent/CN102333038B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101242372A (zh) * | 2008-03-10 | 2008-08-13 | 清华大学 | k元N维mesh网中的无死锁路由方法 |
CN101262444A (zh) * | 2008-03-10 | 2008-09-10 | 清华大学 | 基于通道交叠的容错mesh网避免死锁的路由方法 |
CN101267398A (zh) * | 2008-04-18 | 2008-09-17 | 清华大学 | 二维torus网中的无死锁自适应路由方法 |
CN101335704A (zh) * | 2008-04-18 | 2008-12-31 | 清华大学 | 三维torus网中的无死锁自适应路由方法 |
CN101483614A (zh) * | 2008-10-20 | 2009-07-15 | 电子科技大学 | 三维片上网络架构方法 |
CN101819445A (zh) * | 2010-02-05 | 2010-09-01 | 北京航空航天大学 | 一种嵌入式星载容错温度控制系统及其验证方法 |
Non-Patent Citations (1)
Title |
---|
JP特开平11-177622 1997.07.02 |
Also Published As
Publication number | Publication date |
---|---|
CN102333038A (zh) | 2012-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102333038B (zh) | 一种基于片上网络的无死锁路由方法 | |
Mohapatra | Wormhole routing techniques for directly connected multicomputer systems | |
US20190260504A1 (en) | Systems and methods for maintaining network-on-chip (noc) safety and reliability | |
Chien et al. | Planar-adaptive routing: low-cost adaptive networks for multiprocessors | |
Boppana et al. | Fault-tolerant wormhole routing algorithms for mesh networks | |
US9137098B2 (en) | T-Star interconnection network topology | |
KR20140139032A (ko) | 패킷플로우 상호연결 패브릭 | |
US10218581B2 (en) | Generation of network-on-chip layout based on user specified topological constraints | |
US10432515B1 (en) | Reducing number of Ethernet segment MPLS labels for all-active multi-homing | |
CN103067270B (zh) | 一种虚拟机互访安全控制方法及装置 | |
CN104683242A (zh) | 一种二维片上网络的拓扑结构以及路由方法 | |
Lei et al. | Bundlefly: a low-diameter topology for multicore fiber | |
Chen et al. | A novel 3D NoC architecture based on De Bruijn graph | |
Bogdanski | Optimized routing for fat-tree topologies | |
Zhang et al. | Efficient all-to-all broadcast in Gaussian on-chip networks | |
Taheri et al. | Advertiser elevator: A fault tolerant routing algorithm for partially connected 3D Network-on-Chips | |
Erickson et al. | An optimal single-path routing algorithm in the datacenter network DPillar | |
CN109167693A (zh) | 一种基于跨机箱链路聚合组mlag的隔离配置方法及装置 | |
Nunez-Yanez et al. | Adaptive routing strategies for fault-tolerant on-chip networks in dynamically reconfigurable systems | |
Borhani et al. | A new deterministic fault tolerant wormhole routing strategy for k-ary 2-cubes | |
Biswas et al. | Implementing a partial group based routing for homogeneous fat tree network on chip architecture | |
Rezazadeh et al. | If-cube3: An improved fault-tolerant routing algorithm to achieve less latency in NoCs | |
Somasundaram | Design of a Virtual Channel Router Architecture for Low Power on Mesh-of-Grid Topology for Network on Chip | |
Lei et al. | Vertical-mesh-conscious-dynamic routing algorithm for 3D NoCs | |
Kumar et al. | Intra-flit skew reduction for asynchronous bypass channel in nocs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |