片上网络中新颖的故障与拥塞模型下的容错方法

文档序号:8265549阅读:359来源:国知局
片上网络中新颖的故障与拥塞模型下的容错方法
【专利说明】
[0001]
技术领域: 本发明属于集成电路芯片设计的容错技术领域,特别是一种片上网络中新颖的故障与 拥塞模型下的容错方法。
[0002] 技术背景: 随着单个芯片上集成的核越来越多,多核以及众核系统中同时有超过一个任务在执行 的可能性也越来越大。这就使得单任务执行的片上系统(System-on-chip, SoC)在发展过 程中遭遇瓶颈。鉴于此,有研究者提出通过借鉴计算机网络和并行计算技术设计另一种新 颖的片上互连架构-片上网络(Network-on-Chip,NoC),该架构达到了传统SoC不能实 现的高带宽、低延时和可扩展性强等优点。
[0003] 因为资源共享和并行性是NoC的优势,所以网络中会出现一项任务的执行引起其 他任务执行效率下降的现象。为弥补这种情况带来的性能损失,有学者提出利用路由方法 来隔离多任务。为了更好地提升网络性能,路由方法需要具备以下特点:(1)能够提供高效 的适应性,避免网络中可能会出现的拥塞;(2)尽量避免使用不准确的冗余信息,该信息会 错误估计网络的状态;(3)可以在多任务执行的过程中实现动态隔离,保证资源分配无冲 突。但工艺不稳定性、电路老化等因素会引起NoC故障,因此,大多数现有的路由方法主要 对NoC中的故障实现容错,而不考虑网络状态。
[0004] 在现有技术中,有研究者提出划分区域的容错路由方法,该方法将故障路由器划 分在水平方向不相邻的矩形故障区内。但可能会导致网络中边缘路由器出现故障而不纳入 考虑范围的情况,也可能因为划分故障区域造成网络资源的浪费。另外,有些容错路由方法 为了实现路由过程中的无死锁,提出采用转弯模型来避免死锁的发生,但这种容错路由方 法适容忍的故障数量有限。
[0005] 当网络中出现故障,采用的容错路由方法虽然能有效地实现容错,使数据最终到 达目的节点。但是,在路由过程中绕路或者活锁的情况均可能发生,由此会引发网络延迟增 力口、性能下降。鉴于此,有学者提出在设计路由方法时考虑下游节点的拥塞情况,将下游输 入端口中Buffer的空闲数作为拥塞参数,在路由数据的过程中充分考虑网络流量。但是, 该拥塞参数只能反映输入端口 Buffer的占用情况,并不能表示下游节点的数据传输状态。 可能会导致数据可以路由至下游节点,但可能会出现由于下游节点输出端的数据过多而滞 留在Buffer中的情况。
[0006]

【发明内容】
: 本发明是为了避免上述现有研究存在的不足之处,提供了一种片上网络中新颖的故障 与拥塞模型下的容错方法。
[0007] 本发明解决技术问题所采用的技术方案是: 一种片上网络中新颖的故障与拥塞模型下的容错方法,使用一种新颖的相隔节点路径 故障模型,使路由器以较小的开销为代价实现对两跳以内的路径故障状态的动态感知;同 时,使用一种新颖的更准确反映网络拥塞状态的拥塞模型获取下游节点的拥塞状态,结合 故障感知的结果和拥塞状态信息,选取无故障且拥塞度小的路由器端口传输数据,其特征 是包括以下步骤: a、 对当前节点到感知区域内的所有相隔节点的路径进行测试,得到对应路径的故障 状态,存储在当前节点的故障向量表中,其中相隔节点表示为当前节点路由两跳到达的节 占 . b、 当数据传输到当前节点时,查询当前节点的故障感知区域内的故障向量表,获取当 前节点到靠近目的节点的相隔节点的路径的故障状态,若靠近目的节点的路径均故障,转 到c,否则转d ; c、 查询当前节点的故障向量表中远离目的节点的路径故障状态,若均出现故障,则报 错,否则转e; d、 获取当前节点的下一跳节点的CR值,选取其中一条CR值小且无故障的路径进行数 据传输; e、 从远离目的节点的备选路径中,选取一条无故障且CR值小的路径输出数据。
[0008] 所述步骤a中的故障向量表中记录的是当前节点到相隔节点的路径故障状态,故 障向量表中用12-bit寄存器存储当前节点到所有相隔节点的路径故障状态。
[0009] 所述步骤b中的故障感知区域表示的是从当前节点到所有相隔节点所经过的路 径,即当前节点选择东、南、西、北(E、S、W、N)不同的输出端口路由两跳经过的所有路径。
[0010] 所述步骤d中当前节点的下一跳节点的CR值是指每个节点的相应端口存储下游 节点的CR值,该值记录的是当前节点中各端口请求交叉开关未应答次数的总和。
[0011] 与已有技术相比,本发明效果体现在: 1、使用了 12-bit的故障向量表,表示出当前节点两跳以内的所有路径故障状态,节省 了一定的硬件开销。
[0012] 2、使用了下游节点端口请求交叉开关未应答次数作为拥塞参数,有效地感知下游 节点的整个流量状态。
[0013] 3、综合了故障感知与拥塞感知模型的优势,在路由过程中不仅实现了容错还可以 均衡网络流量,整个算法在实现过程中避免了死锁和活锁的发生。
[0014]
【附图说明】: 图1是本发明中当前节点的RC模块。
[0015] 图2是本发明中节点间路径故障模型的感知区域。
[0016] 图3是本发明中节点间路径故障示意图。
[0017] 图4是本发明中当前节点的故障向量表。
[0018]
【具体实施方式】: 一种片上网络中新颖的故障与拥塞模型下的容错方法,使用一种新颖的相隔节点路径 故障模型,使路由器以较小的开销为代价实现对两跳以内的路径故障状态的动态感知;同 时,使用一种新颖的更准确反映网络拥塞状态的拥塞模型获取下游节点的拥塞状态,结合 故障感知的结果和拥塞状态信息,选取无故障且拥塞度小的路由器端口传输数据,具体包 括以下步骤: a、对当前节点到感知区域内的所有相隔节点的路径进行测试,得到对应路径的故障 状态,存储在当前节点的故障向量表中,其中相隔节点表示为当前节点路由两跳到达的节 占 . b、 当数据传输到当前节点时,查询当前节点的故障感知区域内的故障向量表,获取当 前节点到靠近目的节点的相隔节点的路径的故障状态,若靠近目的节点的路径均故障,转 到c,否则转d ; c、 查询当前节点的故障向量表中远离目的节点的路径故障状态,若均出现故障,则报 错,否则转e; d、 获取当前节点的下一跳节点的CR值,选取其中一条CR值小且无故障的路径进行数 据传输; e、 从远离目的节点的备选路径中,选取一条无故障且CR值小的路径输出数据。
[0019] 所述步骤a中的故障向量表中记录的是当前节点到相隔节点的路径故障状态,故 障向量表中用12-bit寄存器存储当前节点到所有相隔节点的路径故障状态。
[0020] 所述步骤b中的故障感知区域表示的是从当前节点到所有相隔节点所经过的路 径,即当前节点选择东、南、西、北(E、S、W、N)不同的输出端口路由两跳经过的所有路径。
[0021] 所述步骤d中当前节点的下一跳节点的CR值是指每个节点的相应端口存储下游 节点的CR值,该值记录的是当前节点中各端口请求交叉开关未应答次数的总和。
[0022] 下面结合图1至图4对本发明实施方式做进一步阐述,如下: 传统带有虚通道路由器的数据传输会依次经过路由计算(Routing Computation, RC),虚通道分配(Virtual Allocation, VA),交叉开关分配(Switch Allocation, SA), 交叉开关传输(Switch Transmission, ST)和链路传输(Link Transmission, LT)五个 阶段的流水。当数据到来,触发RC操作,RC模块包
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1