论文部分内容阅读
片上网络(NoC)是解决多处理器系统上通信问题的一个新的设计方法在片上网络中,两个处理单元之间通过发送数据包来通信这样的通信方式就解决了在片上系统(SoC)中面临的全局时钟很难同步和长延时的问题另外,片上网络中的两个结点之间存在多条路径,这些冗余的路径可以提高通信的带宽,并支持并发通信然而,当前的超大规模集成电路技术已经可以在单个片上网络芯片上集成成百上千个处理核这样的大型的多核系统是很容易受到故障的影响的,因此在片上网络上引入容错技术是十分必要的在容错技术中,容错路由技术是一个很常见并且很重要的一个技术在容错路由算法中一种常见的方法就是把故障结点包含在若干个矩形或多边形的故障区域中在路由的过程中,如果数据包遇到了一个这样的故障区域,路由算法就会把数据包绕着故障区域的边界路由,从而避开故障区域为了形成这样的故障区域,一些没有故障的结点会被牺牲掉正是这些被牺牲掉的结点和故障结点的集合组成了网络中的故障区域这些被牺牲掉的结点既不能发送有不能接收数据包,就等同于一个故障结点然而在这些故障区域中很可能存在由这些被牺牲掉的结点组成的贯穿整个故障区域的通路,这些通路可以被用来正常的来路由数据包然而,所有的使用故障区域的算法都把这些存在于故障区域中的通路给忽略掉了为了解决这个问题,本文提出了一个可以利用在故障区域中由被牺牲掉的结点组成的通路来路由数据包的算法使用这个算法的数据包可以不用绕着故障区域路由,而是直接的穿过故障区域,这样它的传输路径就缩短了这可以直接的减小网络的总的通信延时另外,在本文的算法中,对故障区域中通路的使用是有条件的只有在满足条件的前提下,一个数据包才可以使用这些通路这样,一些转弯就可以被禁止掉,死锁也就不会发生了本文的算法可以在不使用虚通道的条件下避免死锁的发生然后,我们使用一个基于SystemC的周期精确的片上网络仿真平台来评价本文提出的算法我们精心的设计了这个仿真平台,使得仿真平台的参数很容易配置这些参数包括网络规模,路由算法,注入率,还有仿真的轮数我们在不同的故障模式和不同的注入率下对我们的算法进行了仿真仿真结果显示,和传统的使用故障区域的容错路由算法相比,我们的算法可以大大的降低网络平均延时,并可以很显著提高网络的吞吐率