片上网络中面向链路故障的容错路由方法研究
发布时间:2020-06-16 09:41
【摘要】:针对片上网络中传统的容错路由算法的高报文延时和故障区域拥塞等不足,利用两个虚拟信道提出一种新的容错路由方法。该方法通过确定每个虚拟信道哪些转向被允许和禁止,使得一个虚拟信道中被禁止的转向在另一信道被允许。当发生链路故障时,该方法基于一种新的故障信息传播机制使报文在最短路径上传输;通过充分利用网络中的所有被允许转向对该方法进行扩展,以支持多链路故障。最后的仿真实验也验证了该方法的有效性。
【图文】:
?转向模型和死锁预防为了在本文方法中确定所有被允许转向,首先假设网络被分为两个独立的子网络。所有向东传输的报文通过第1个子网和虚拟信道1(vc1)进行传输,而向西传输的报文通过第2个子网和虚拟信道2(vc2)进行传输。因为子网互相分离,所以各种无死锁路由算法均可采用,网络不会出现死锁。然而对两个信道采用相同的路由算法可能会使整个网络无法出现部分转向,为了避免这一现象,对每个虚拟信道定义不同的转向,于是在一个信道中被禁止的转向在另一个信道中可被允许。虚拟信道vc1和vc2中的允许转向和禁止转向分别如图1(a)和(b)所示。其中,vc1使用的路由方法为west-last,即报文无法采用由西至北和由西至南转向;在vc2中采用east-last方法,即采用东部方向的时间不得早于其他方向。向东传输(west-last)的报文在第1个子网内进行传输,可以使用东向上的所有最小路由;此外,如果需要,剩余转向可用于非最小路由。类似地,向西传输(east-last)的报文在第2个子网中传输,可采用所有替代路径向西传输报文,剩余转向可用于非最小路由。因为算法在每个子网内是无死锁算法,所以在整个网络内也不会出现死锁。然而许多其余转向(0°、90°、180°)也可加到允许转向列表中,如图1(c)所示。实际上,如果报文从vc1切换到vc2,不会出现循环,但是反之不然。即使使用这些额外的转向也不会导致网络死锁,因为一组报文的起点和终点在不同的虚拟信道上。现在网络中有更多的允许转向用于容错。图1允许转向和禁止转向情况2.2容错信息分布本文提出一种新的故障信息分布机制使报文在最短路径上传输。如图2所示,合理分布故障信息后,每个路由器将知道其直接相邻路由器的故障链路,为此,每个路由器利用自身链路将故障信息发送给相邻路由器。如果E、W?
嘹刹捎盟饽刑娲
本文编号:2715878
【图文】:
?转向模型和死锁预防为了在本文方法中确定所有被允许转向,首先假设网络被分为两个独立的子网络。所有向东传输的报文通过第1个子网和虚拟信道1(vc1)进行传输,而向西传输的报文通过第2个子网和虚拟信道2(vc2)进行传输。因为子网互相分离,所以各种无死锁路由算法均可采用,网络不会出现死锁。然而对两个信道采用相同的路由算法可能会使整个网络无法出现部分转向,为了避免这一现象,对每个虚拟信道定义不同的转向,于是在一个信道中被禁止的转向在另一个信道中可被允许。虚拟信道vc1和vc2中的允许转向和禁止转向分别如图1(a)和(b)所示。其中,vc1使用的路由方法为west-last,即报文无法采用由西至北和由西至南转向;在vc2中采用east-last方法,即采用东部方向的时间不得早于其他方向。向东传输(west-last)的报文在第1个子网内进行传输,可以使用东向上的所有最小路由;此外,如果需要,剩余转向可用于非最小路由。类似地,向西传输(east-last)的报文在第2个子网中传输,可采用所有替代路径向西传输报文,剩余转向可用于非最小路由。因为算法在每个子网内是无死锁算法,所以在整个网络内也不会出现死锁。然而许多其余转向(0°、90°、180°)也可加到允许转向列表中,如图1(c)所示。实际上,如果报文从vc1切换到vc2,不会出现循环,但是反之不然。即使使用这些额外的转向也不会导致网络死锁,因为一组报文的起点和终点在不同的虚拟信道上。现在网络中有更多的允许转向用于容错。图1允许转向和禁止转向情况2.2容错信息分布本文提出一种新的故障信息分布机制使报文在最短路径上传输。如图2所示,合理分布故障信息后,每个路由器将知道其直接相邻路由器的故障链路,为此,每个路由器利用自身链路将故障信息发送给相邻路由器。如果E、W?
嘹刹捎盟饽刑娲
本文编号:2715878
本文链接:https://www.wllwen.com/kejilunwen/dianzigongchenglunwen/2715878.html