朱爱军,古展其,胡 聪,许川佩,赵春霞
(1.桂林电子科技大学电子工程与自动化学院,广西桂林 541004;2.广西自动检测技术与仪器重点实验室,广西桂林 541004)
2006年,研究人员将光互连技术取代电互连技术,提出由光互连和光路由器构成的光片上网络(optical network-on-chip,ONoC)[1-2]。
随着硅基集成器件技术、硅-光技术的突破,光片上网络系统比传统片上系统具有更优的性能,引起了研究人员对光片上网络研究的高度重视。目前研究主要集中在光器件、拓扑结构、路由算法等方面,而现有的研究大多数没有考虑光片上网络出现的故障问题,而光片上网络的故障对整个系统的影响是不可忽略的。光片上网络主要是由光路由器、IP核以及光电互连的链路组成,光通信层由光波导连接开关元件组成,对于这样的系统故障可能会发生在资源节点、路由节点、互连线和光开关元件上,负责光片上网络节点之间的数据路由和交换的核心单元光路由器,如果光路由器出现故障会对系统数据传输的可靠性产生极大影响,而微环谐振器MRR是组成光路由器的核心器件,因温度影响或制造缺陷,MRR极易发生谐振波长的漂移,从而引起器件的桥接故障,桥接故障进一步会导致系统通信过程中数据误传和丢失,降低光片上网络系统的安全性和可靠性,所以对光片上网络中的桥接故障展开研究是具有重要实际意义的。文献[3-7]研究了MRR呆滞故障,但是未考虑桥接故障,探索MRR桥接故障相关的研究是提高光片上网络可靠性的关键。
光片上网络中的桥接故障是微环谐振器谐振波长的漂移,导致光信号的输出发生变化,对系统造成性能影响的器件类故障。以2个微环为例,首先做统一规定:规定MRR1的谐振波长为λ1,MRR2的谐振波长为λ2,输入端采用波分复用输入波长λ1、λ22个光信号,Bit0、Bit1是光信号分别工作在λ1、λ2下的2个标志位信号,规定调制信号为高电平1时MRR处于谐振状态,并且设定处于“开”状态下的微环才会发生故障。下面定义由2个微环谐振器构成的桥接故障。
MRR1处于“开”状态,MRR2处于“关”状态,正常无故障如图1(a)、图2(a)所示,光信号从输入端输入,MRR1满足谐振条件,光信号到达耦合区域将发生耦合进入MRR1中,并最终从MRR1下载端输出波长为λ1的光信号。
MRR1处于“关”状态,MRR2处于“开”状态,正常无故障如图1(b)、图2(b)所示,光信号从输入端输入,MRR2满足谐振条件,光信号到达耦合区域将发生耦合进入MRR2中,并最终从MRR2下载端输出波长为λ2的光信号。
(a)MRR1处于“开”,MRR2处于“关”状态
(a)MRR1处于“开”,MRR2处于“关”状态
桥接故障类型一(bridge-fault-1,BF-1),当发生桥接故障时,如图3(a)、图4(a)所示,由于MRR1发生桥接故障,使得光信号谐振波长由λ1桥接到λ2,导致波长为λ1的输入信号不再经过MRR1耦合区,而是进入MRR2耦合区域下载到MRR2中,此时λ2满足MRR2的谐振条件,并最终从MRR2的下载端输出波长为λ2的光信号,此类故障定义为发送Bit1、Bit0为(01),接收Bit1、Bit0为(10)的情况。
(a)MRR1处于“开”,MRR2处于“关”状态
(a)MRR1处于“开”,MRR2处于“关”状态
桥接故障类型二(bridge-fault-2,BF-2),MRR1处于“关”状态,MRR2处于“开”状态。当发生桥接故障时,如图3(b)、图4(b)所示,由于MRR2发生桥接故障,使得光信号谐振波长由λ2桥接到λ1,导致波长为λ2的输入信号不再经过MRR2耦合区,而是进入MRR1耦合区域下载到MRR1中,此时λ1满足MRR1的谐振条件,并最终从MRR1的下载端输出波长λ1的光信号,此类故障定义为发送Bit1、Bit0为(10),接收Bit1、Bit0为(01)的情况。
已知光片上网络中的桥接故障属于光路由器中的器件故障,所以故障的位置可以出现在任意光路径上,可以考虑从光路由器路径出发寻找桥接故障微环。根据光路由器内部结构分析和构成桥接故障微环的特性,提出一种桥接故障数量检测模型,可被概括为:首先对路由器结构进行初始化,统计对应的出口谐振器,建立直通、单谐振和多谐振3种寻找结构,计算3种路径下的能构成桥接故障的微环组合,采用累加的方式,得到路由器中总的桥接故障数量,总的检测框图如图5所示。
图5 桥接故障数量检测总体框图
步骤1:首先,将光路由器中的微环谐振器进行分类:若光信号在其他路径传输时,经过某微环谐振器后发生了谐振,使光信号从其他路径跳转到当前路径进行传输,称此谐振微环为当前路径下输出端口所对应的入口谐振器。同理,若光信号在当前路径传输时,经过某微环谐振器后发生了谐振,使光信号从当前路径跳转到其他路径进行传输,称此谐振微环为当前路径下输入端口所对应的出口谐振器。
步骤2:完成光路由器结构的初始化后,判断输入端口和输出端口的标识符是否一致,直通路径下的输入与输出端口的标识符必须保持一致。若输入端口和输出端口的标识符不一致,依次建立3种寻找结构的光路:不经任何微环谐振即可连通的直通光路、经由单个微环谐振构成的单谐振光路和经由2个及以上数量的微环谐振构成的多谐振光路。建立寻找光路流程图见图6。
图6 建立寻找光路流程图
步骤3:根据步骤2得到3条桥接故障寻找光路径,此过程是要找到每条光路径下对应的可以构成桥接故障的微环谐振器,统计每条光路径上的桥接故障数量,并采用累加的方式得到对应光路由器桥接故障总数量。桥接故障数量检测流程图如图7所示。
图7 桥接故障数量检测流程图
步骤4:累加各光路下的桥接故障数量。最后计算每条路径下(其他端口)会对输出造成影响的微环的组合方式,累加全部路径下的微环组合方式可得到该结构下所有的单故障桥接数量。
下面选取经典光路由器验证桥接故障数量检测方法的有效性,图8是本设计中使用的4种常见光路由器。图8(a)是A.Shacham在2007年提出,它由8个MRR和4段长直波导线构成的四端口FPR光路由器,2个微环对立地放置在交叉波导之间,存在4对波导交叉,故此结构通信时会发生阻塞[8]。图8(b)也是由8个MRR和4段长直波导线构成的四端口FNBPR光路由器[9]。图8(c)是R.Q.JI在2011年提出,它由8个MRR和4段长直波导线构成的四端口JiPR光路由器,存在8对交叉波导[10]。图8(d)是陈端勇等人在2018年提出的低插入损耗的无阻塞五端口ZPR光路由器,它由12个MRR和6段光波导组成。
(a)FPR光路由器
ZPR光路由器桥接故障数量检测结果如表1所示。
表1 ZPR光路由器桥接故障数量检测结果
如检测输入端口1到其他2、3、4、5输出端口能够构成的桥接故障微环个数,找到3条光路可产生桥接故障的微环是③、⑥、⑧、⑨,按照两两组合方式共有12组桥接故障:③和⑥、③和⑧、③和⑨、⑥和⑧、⑥和⑨、⑧和⑨,每2个微环对应2类桥接故障,其他端口同理,总计五端口ZPR光学路由器可以构成56组桥接故障,JiPR光路由器可构成8组,FPR和FNPR光路由器分别为24组和8组。
JiPR路由器桥接故障数量检测结果如表2所示。
表2 JiPR桥接故障数量检测结果
FPR路由器桥接故障数量检测结果如表3所示。
表3 FPR桥接故障数量检测结果
FNPR路由器检测结果如表4所示。
表4 FNPR桥接故障数量检测结果
图9给出4种光路由器结构使用该数量检测方式消耗的CPU时间(运行10次平均值),根据图9可知,五端口ZPR路由器消耗了1.2913 s,JiPR消耗0.3134 s,五端口路由器比四端口路由器结构更加复杂,所以消耗CPU时间更久。四端口FPR、FNPR、JiPR结构类似,故CPU运行消耗时间相差不大,最大运行消耗时间差为0.1141 s。该算法在查找桥接故障会依次遍历路由器端口,得到算法时间复杂度是N的平方,即数据量增大N倍时,耗时增大N的平方倍。
图9 CPU运行时间消耗
本文建立了MRR的桥接故障模型,提出了光路由器桥接故障数量检测方法,ZPR,JiPR,FPR和FNBPR光路由器的试验结果证明了本文设计的故障数量检测方法的有效性。下一步的工作,将采用图论的方法,对光路由器中的桥接故障进行检测和定位。