发明名称 一种应用于片上网络的基于错误阻挡模型的容错方法和结构
摘要 本发明属于可靠性计算机片上网络系统设计技术领域,具体为一种应用于片上网络的基于错误阻挡模型的容错方法和结构。本发明基于片上网络的错误阻挡模型,提出一种部分自适应的双通道双方向的容错路由算法,根据该容错路由算法实现部分失效的片上网络的容错路由。此容错路由算法,能够在片上网络存在失效链路和一定数量的失效通径下,以最短路径传递数据,实现路由的免死锁、免活锁和免饥饿,还具有可重构、可扩展和高吞吐率等特性,从而实现较高的伪核利用率。本发明不仅能够容纳在片上网络中心位置的失效链路和路由中一定数量的失效通径,对片上网络边界和角落位置的失效链路和路由中一定数量的失效通径有同样的容错能力。
申请公布号 CN103248566B 申请公布日期 2016.04.13
申请号 CN201310144887.7 申请日期 2013.04.24
申请人 复旦大学 发明人 虞志益;周炜;俞剑明;杨岳明;林杰
分类号 H04L12/703(2013.01)I;H04L12/771(2013.01)I 主分类号 H04L12/703(2013.01)I
代理机构 上海正旦专利代理有限公司 31200 代理人 陆飞;盛志范
主权项 一种应用于片上网络的基于错误阻挡模型的容错方法,其特征在于,具体步骤如下:(1)通过测试得到片上网络的错误分布图,所述片上网络的错误分布图包括每个路由器失效通径的分布图、路由器之间的失效链路分布图和路由器和伪核之间的失效链路分布图;(2)根据容错路由算法和片上网络的错误分布图,计算每个路由器每个端口的8位信息,每个路由器有东、南、西、北和本地共5个端口,需要40位信息;(3)片上网络中的一个边角路由器发送每个路由器需要的40位信息给配置路由器,该路由器的数据解析单元根据这些配置信息,将有效信息部分传送给路由器的路由计算单元;(4)路由器中的路由计算单元将接收到的40位配置信息保存在寄存器中,路由计算单元根据这些保存的信息,通过容错路由算法,选择数据的输出端口,以存在的最短路径发送数据到目的地;其中,步骤(2)和(4)中所述容错路由算法分为三个步骤:错误阻挡模型的建立;计算路由器每个端口的8位信息;根据一个端口的8位信息,选择输入数据的输出端口;具体如下:1)根据片上网络的错误分布图建立错误阻挡模型;根据错误分布图,对于非边界和边角路由器,计算出坐标为(i,j)的路由器的<img file="900489dest_path_image001.GIF" wi="35" he="27" />是否可用,“1”表示可用,“0”表示不可用,<img file="617910dest_path_image001.GIF" wi="35" he="27" />解释为路由器(i,j)的输入端口I,如果IX通路失效或者X方向的相邻路由器为<img file="13119dest_path_image002.GIF" wi="39" he="21" />不可用,且IY通路失效或者Y方向的相邻路由器为<img file="765174dest_path_image003.GIF" wi="35" he="21" />不可用;具体计算方式可用以下迭代式(1):<img file="525320dest_path_image004.GIF" wi="393" he="35" />(1)其中,对于m×n的片上网络,1<i<m,1<j<n,<img file="730036dest_path_image005.GIF" wi="61" he="27" />表示坐标为(i,j)的路由器的<i>IX</i>通路,<img file="928936dest_path_image006.GIF" wi="59" he="27" />表示坐标为(i,j)的路由器的<i>IY</i>通路;其值通过片上网络的错误分布图得到,I∈{E,S,W,N,L},X∈{E,W},Y∈{S,N},E表示东,S表示南,W表示西,N表示北,L表示本地;其中a和b的值如下表:<img file="476111dest_path_image007.GIF" wi="597" he="159" />处于边界和边角的路由器,需要做如下处理:对于上边界路由器,y=n,XN通路和XN通径失效,其中X∈{E,S,W,L};对于下边界路由器,y=1,XS通路和XS通径失效,其中X∈{E,N,W,L};对于左边界路由器,x=1,XW通路和XW通径失效,其中X∈{E,N,S,L};对于右边界路由器,x=m,XE通路和XE通径失效,其中X∈{W,N,S,L};对于边角路由器,需要做相邻两边界路由器的两种同上处理;<b>    </b>用公式(2)~(5)表示边界和边角路由器的<img file="469475dest_path_image008.GIF" wi="35" he="27" />是否可用;<img file="161487dest_path_image009.GIF" wi="406" he="222" />(2)<img file="898499dest_path_image010.GIF" wi="406" he="228" />(3)<img file="359568dest_path_image011.GIF" wi="391" he="236" />(4)<img file="789412dest_path_image012.GIF" wi="399" he="232" />(5)2)计算路由器每个端口的8位配置信息:所有路由器中,除没有输入链路的端口不需要8位配置信息外,其余端口都需配置;利用步骤1)得到的数据,计算8位配置信息;<img file="968720dest_path_image013.GIF" wi="65" he="27" />,<img file="243844dest_path_image014.GIF" wi="51" he="27" />,<img file="824998dest_path_image015.GIF" wi="55" he="27" />,<img file="97848dest_path_image016.GIF" wi="55" he="27" />和<img file="826769dest_path_image017.GIF" wi="51" he="27" />分别表示坐标为(i,j)的路由器东、南、西、北和本地五个端口的配置信息,按公式(6)计算得到:<img file="843267dest_path_image018.GIF" wi="600" he="473" />(6)其中<img file="341244dest_path_image019.GIF" wi="65" he="27" />表示路由器(i,j)的<img file="50574dest_path_image020.GIF" wi="33" he="19" />避通径环是否有效,I∈{E,S,W,N}、X∈{ E,S,W,N }且X≠I、Y∈{ E,S,W,N }且Y=<img file="1213dest_path_image021.GIF" wi="15" he="21" />,具体计算如公式(7):<img file="818471dest_path_image022.GIF" wi="507" he="74" />(7)公式中的“±”选取的原则是使得等式右边中涉及的路径构成一个到达本地伪核的封闭环;<b> </b>3)选择输入数据的输出端口,具体分为以下步骤:①根据数据目的地相对于数据源的方向,确定可能的输出端口为E1、S1、W1、N1和L1中一种或几种;②根据8位的配置信息和当前数据所在的输入端口,计算候选的输出端口为E2、S2、W2、N2和L2中的一种或几种,具体计算见公式(8)~(12);输入数据在路由器东端口:<img file="170955dest_path_image023.GIF" wi="567" he="173" />(8)         输入数据在路由器南端口:<img file="51187dest_path_image024.GIF" wi="516" he="171" />(9)输入数据在路由器西端口:<img file="426804dest_path_image025.GIF" wi="550" he="166" />(10)输入数据在路由器北端口:<img file="847421dest_path_image026.GIF" wi="503" he="150" />(11)输入数据在路由器本地端口:<img file="257674dest_path_image027.GIF" wi="455" he="184" />(12)③确定最终的输出端口E3、S3、W3、N3或L3:<img file="371124dest_path_image028.GIF" wi="233" he="168" />(13)其中,X∈{E,S,W,N,L},X取不同值时,表示输入数据在X端口时应选择的输出端口为X;其中:应用于片上网络的基于错误阻挡模型的容错方法的装置由若干个重复的路由单元组成,每个路由单元包括路由器和伪核,所述路由器和所述伪核之间通过输入缓冲单元进行连接通信。
地址 200433 上海市杨浦区邯郸路220号