NoC(Network on Chip)基础 (6):Oblivious Routing 和 Adaptive Routing

上一篇:NoC(Network on Chip)基础知识 (5):网络路由(Routing)介绍了 NoC 中路由的基础概念并列举了确定性路由的例子。

本篇文章将介绍 Oblivious Routing 以及 Adaptive Routing 。

Oblivious Routing

介绍

Oblivious Routing 指在选取 packet 的路由路径时,不考虑网络当前状态的路由方法。

这种方法实现简单且易于分析。

Oblivious Routing 路由方法需要在 局部性(locality)、均衡负载(load balance) 方面做取舍。

Valiant‘s Randomized Routing 首先将 packet 发送到随机节点,之后再向目的节点路由。这种算法能均衡任何 traffic pattern 情况下的负载,然而完全丢失了 locality。

Minimal Oblivious Routing 总是选取距离最近的路径作为路由。这种方法保留了 locality,然而在某些 traffic pattern 下,无法有效均衡负载,导致 throughput 极低。

Valiant’s Randomized Routing

一个 packet 希望从 s 发送至 d,首先会发送给一个随机选择的中间节点 x,之后再由 x 发向 d。

在这两阶段中,可以采用任意的路由算法。通常经验来讲,使用在 uniform traffic 条件下能有效均衡负载的路由算法工作效果更好。

由于中间节点的随机选择,每一阶段的数据传输均为 uniform random pattern。从总体上看,网络承受的总负载增加了一倍

对于在 Torus 或 Mesh 拓扑中,两阶段的路由算法通常采取 dimention-order routing
在这里插入图片描述

Minimal Oblivious Routing

Minimal oblivious routing 严格控制选择的路由路径为最短路径

这种方法在层次化的拓扑结构中表现良好,能在兼顾 locality 的同时使负载均衡。

Folded-Clos(Fat-Tree) 拓扑结构:

从 s 向 d 发送数据包,会选择一个距离二者最近的共同祖先节点 x 作为中间节点,先由 s 发送至 x,再从 x 发送至 d。

下图展示了从1发送至6,可以有两条路径选择,经过0XXXA 或 经过0XXXB,二者都是距离最短的路径。
在这里插入图片描述
Torus 拓扑结构:

在 Torus 拓扑中的 Minimal Oblivious Routing,限制路由路径的中间节点位于最小象限之内(由 s 和 d 组成的长方形),并确定在每一维度上的移动方向是朝目标移动距离最短的方向。

下面展示了从 00 到 21 的多条路由路径。可以通过随机选择多条路径中的一条来均衡负载。

在这里插入图片描述

Torus 拓扑中采取 minimal oblivious 路由,在保留 locality 的方面表现较好,在 random traffic 中也能有效均衡负载。然而在某些最坏情况的 traffic 中,均衡负载的表现很差,如 tornado traffic。
(因为由于必须使用距离最短路径的缘故,只能使用象限内的节点作为中间节点。一旦某个较小象限内的数据传输较密集,就会造成严重的拥挤)
Tornado Traffic

Adaptive Routing

介绍

适应性路由算法会使用网络当前状态(如队列占用情况等)作为决策信息,在多种选择中确定传输数据包的路径。

因为算法的执行依赖于网络状态,所以适应性路由往往与流控制策略密不可分

一个出色的适应性路由算法,理论上讲会比 oblivious routing 更出色,因为他使用了网络的状态作为决策信息之一。然而在现实中,适应性路由在最坏情况下,性能非常糟糕。
很大程度上这是因为,在路由的决策节点上只能获取局部的拥塞状况,在将包导向局部最优的路径时,经常会导致全局的负载不均衡。

决策节点对于远端的拥塞情况的获知,主要通过流控制策略中 backpressure
适应性路由采取 flit-based 或 packet-based 的流控制策略,使用包队列的占用情况作为估计局部拥塞情况的依据。
当一个节点的接收队列已满,就会向之前发送数据的节点传递 backpressure signal 令其停止发送数据。这会导致该节点接收队列的占满。Backpressure 沿着 traffic 的反方向传递。在 backpressure 传递给决策节点之前,它无法感知到远处的拥塞情况。
所以,能快速传递 backpressure 的流控制策略对于适应性路由至关重要,这会使决策节点更快地适应远处的拥塞状况。

以下面的情况作例子。
5 正在持续给 6 发送数据,占据了全部的带宽。3 此时希望给 7 发数据,有两条路径可以选择。
在这里插入图片描述
3 不能够直接感知到 5、6 之间的拥塞,只能通过 backpressure 间接感知。

3 开始的时候不知道5、6 拥塞了,直接向 7 发送数据。
包在 5 处被卡住,到 5 的接收队列满后,5 向 4 发送 backpressure,4不再发送包给5。
3 依旧给 4 发送数据,直到 4 的队列也满了,4 才向 3 发送 backpressure,3 感知到前方的拥塞。之后采取另一条逆时针路由路径。

Stiff Flow Control (较小的队列容量)更适用于 Adaptive Routing。 这可以使 backpressure 信号更快地从堵塞处传递给决策节点。

Torus 等更复杂拓扑中采用适应性路由,通常在每一跳根据局部信息作一次路由选择。这也会带来非全局最优的问题。

在下面的 Torus 由 00 向 23 发数据。
在 01 处,由于 01 到 02 轻度拥塞,所以选择了向 11 转发。
这导致了之后所走的路径都是重度拥塞。
在这里插入图片描述

Minimal Adaptive Routing

最短适应路由从所有最短路径中,在每一跳时,根据局部区域的网络状态选择下一跳的地址。

最短适应路由能在局部区域均衡负载,却不能有效地在全局情况下均衡负载。
且如果 source 与 destination 之间最短路径的多样性为 1,这种方法无法避免经过拥塞路径。(下图中由 20 向 23)
在这里插入图片描述

Fully Adaptive Routing

全适应路由,不再严格要求路由路径为最短路径。为了避免一些拥塞路段,包可以暂时向远离目的节点的方向作转发。我们称做出这种选择的行为 Misrouting
在这里插入图片描述
全适应路由为了避免拥塞而绕路的同时,需要采取措施**限制活锁(Livelock)**的发生。
活锁指 packet 在网络中陷入了转发的循环,永远无法到达目的地。
在这里插入图片描述
避免活锁的方法有多种。

  • 限制 Misrouting 的次数,达到次数上限后采用 Minimal Adaptive 方法。
  • 限制 Misrouting 的频率,每执行若干次 Minimal Routing 才能选择一次 Misrouting。
  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: 网络芯片(Network on ChipNoC)是一种新型的集成电路设计技术,用于在芯片内部连接大量的IP核。这些IP核可以是处理器、存储器、通信模块等,它们需要相互之间进行高速的数据传输和通信。 NoC的主要目标是提高芯片的性能、降低功耗和减少芯片的设计复杂度。相比传统的总线结构,NoC能够提供更高的通信带宽和更低的延迟。同时,NoC可以通过动态路由和拓扑重构等技术优化通信路径,减少能量消耗。 NoC的设计通常采用自上而下的设计方法,首先需要对系统的需求进行分析和建模,然后选择适当的拓扑结构,确定通信路由算法,并设计物理布局和电路结构。最后,通过验证和仿真等方法对NoC进行评估和优化。 网络芯片的设计有许多挑战和难点,如拓扑结构的选择、通信路由算法的设计、时钟同步、故障容错等。此外,网络芯片还需要考虑跨片的通信需求,以及与外部系统的接口问题。 总的来说,网络芯片是一种应用于芯片内部的高性能、低功耗集成电路设计技术。它能够提供高速的数据传输和通信能力,提高芯片的性能和效率。在未来的芯片设计中,NoC技术将会起到更加重要的作用。 ### 回答2: Network-on-ChipNoC)是一种用于集成电路的通信架构。它是由一组处理单元(如处理器核心)和一组通信通道组成的网络。与传统的片上总线架构相比,NoC提供了更高的带宽、更低的延迟和更好的可扩展性。 《Network-on-Chip技术的PDF》可以作为了解和深入研究NoC的相关技术的重要参考资料。这本书可能探讨以下方面: 首先,它可能介绍了NoC的基本概念和设计准则。这包括了NoC的组成部分,如节点和通道,以及它们之间的通信协议。此外,它可能还涉及模块化设计和资源分配策略,以实现高效的通信和资源利用率。 其次,这本书可能讨论了NoC的性能优化技术。这包括了链路调度算法、路由算法和拥塞控制策略,以最大程度地减少通信延迟和能耗。此外,它可能还探讨了容错机制,如错误检测和纠正,以确保数据的可靠传输。 此外,这本书可能还介绍了NoC的应用领域和案例研究。这些领域可能涉及到嵌入式系统、多核处理器、系统级芯片设计等。通过这些案例,读者可以了解NoC在不同领域中的实际应用和性能优势。 综上所述,《Network-on-Chip技术的PDF》是一本探讨NoC基本概念、设计准则、性能优化技术和应用领域的重要参考书籍。通过研读这本书,读者可以了解到NoC在集成电路通信中的关键原理和技术,以及它对系统性能的潜在影响。 ### 回答3: 网络芯片(Network on ChipNoC)是一种为集成电路系统中的多个处理器核心、存储器和其他硬件组件提供通信和数据传输的技术。它将芯片内部的通信结构从传统的总线结构转变为基于网络的结构,从而提供更高的带宽和更低的延迟。 网络芯片的设计是基于一种多核系统的需求,其中每个处理器核心都需要与其他核心进行通信。它采用了一种分布式的通信结构,将处理器核心和其他硬件组件连接起来,从而实现高效的数据传输和通信。 通过使用网络芯片,不同的处理器核心可以并行进行计算操作,并通过网络进行通信,从而提高系统的整体性能。此外,网络芯片还可以提供故障容错和可扩展性,使系统能够适应不同规模和复杂度的应用。 在研究中,有许多与网络芯片相关的PDF文献。这些文献包括关于网络芯片架构、通信协议、路由算法、拓扑结构等方面的研究。通过阅读这些文献,人们可以了解到关于网络芯片的最新研究进展和技术发展趋势。 总之,网络芯片是一种新兴的通信技术,可以应用于集成电路系统中,提供高效的通信和数据传输功能。在研究中,有许多关于网络芯片的PDF文献,可以用来深入了解该领域的研究进展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值