NoC(Network on Chip)基础 (5):网络路由(Routing)

路由算法的作用

路由: 在特定的拓扑上,选择从 source 节点到 destination 节点的路径。

  • 一个好的路由算法,即使面对 non-uniform traffic pattern,也能有效地均衡负载,使实际 throughput 更加接近于理想情况。

  • 同时,如何应对网络故障(如 router、link 故障),也是衡量路由算法好坏地重要方面。

路由算法的分类

确定性算法(Determinstic):

在 x 和 y 之间,总是选择相同的路径进行路由,即使存在着其他可能的路径。

确定性算法忽略了路径多样性,因此容易造成负载不均衡。然而这种算法常常被使用,因为它实现简单,且容易实现无死锁性质。

状态无关性算法(Oblivious):

在确定路由路径时,不会考虑当前网络的实时状态。上面的确定性算法也属于状态无关性算法的范畴。

例如,一个随机路由算法即属于状态无关性算法。

适应性算法(Adaptive):

在确定路由路径时,会与网络当前状态相适应,使用网络状态信息(Node 状态,link 状态,占用 resources 情况)决定路由。

路径距离分类:

除了上面的分类方法之外,还可以通过路由算法是否执着于选择距离最近的路径,将算法分为 minimal 和 non-minimal。

一次计算(All-at-once):

当数据包注入进 source 节点时一次性计算完成路由路径。之后在包传输过程中按照计算好的路径路由。

通过在 source 节点计算完整路由路径,能减少用于计算路由路径的时间。但是在后续包传递的过程中,计算好的路由路径需跟数据一起传输。

多次计算(Incremental):

包在到达每一个中转节点时,计算下一跳的路由。一直持续到到达 destination 节点。

不需要随包一起传输路由路径,但在每一个节点都计算路由可能导致包传输的延时加大。相比于 all-at-once,计算路由时可利用的历史信息较少,导致可能无法实现某些 all-at-once 路由算法。

确定性算法(Deterministic Routing)

下面介绍两种最经典的确定性算法。

Destination-Tag Routing in Butterfly Networks

在 Butterfly 网络中,目标地址被直接用作路由选择。地址的每一位被依次用作下一跳路由的决定。这期间,source 节点并没有被考虑。
在这里插入图片描述

Dimension-Order Routing in Cube Networks

在 Cube 网络中,根据最小距离原则,按照维度的顺序,直接确定路由路径。

在这里插入图片描述

下一篇:NoC(Network on Chip)基础 (6):Oblivious Routing 和 Adaptive Routing 将对于 Oblivious 和 Adaptive 路由方式进行介绍。

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值