On-Chip-Networks之introduction

        自从20世纪90年代末引入对多核芯片的研究以来,on-chip networks 已经成为一个重要的和不断增长的研究领域。随着核数的增加,从高端服务器到智能手机甚至物联网网关的领域都出现了多核处理器,为提高核利用率而产生的带宽需求也相应增加,对可扩展的片上互连结构的需求至关重要。

        应用平台的多样性导致片上网络的研究跨越了从计算机体系结构到计算机辅助设计、嵌入式系统、超大规模集成电路等各种学科。本文综合了片上网络中的关键概念,以快速引导学生和设计师进入这一令人兴奋的领域。

多核时代的到来

        不断增加的功耗和单处理器体系结构性能收益的递减,促使了多核芯片的出现。

        随着每一代新技术的出现,可用的晶体管数量不断增加,再加上多核芯片的模块化设计降低了设计复杂性,这种多核浪潮似乎将会持续下去。

        近年来,每个行业芯片供应商都发布了核心数量不断增加的多核产品。这种多核浪潮可能导致在一个芯片上集成数百甚至数千个核。我们已经看到了针对HPC的多核产品,芯片上有50多个核,以及有100多个核的研究原型。

        异构性现在在许多细分市场中普遍存在,就集成在芯片上的组件类型而言,这进一步增加了芯片互连结构的复杂性。除了处理器内核之外,片上结构还必须互连嵌入式存储器、加速器(如DSP模块)、视频处理器和图形处理器。

多核架构的通信需求

随着片上核心数量的增加,可扩展的低延迟和高带宽通信结构将它们连接起来变得至关重要。

  • 对于4核或者8核处理器,buses或者crossbar是主要的互连。
    • buses是共享的多bit的physical channel,每个core都连接和监听这些channel,同一时刻上,只能有一个core进行传输,buses的特点是低延时,但是低带宽。
    • crossbar在后文更详细地介绍,它是一种提供任意core之间无阻塞连接的互联结构;
      • 具有高带宽和相当低的延迟,但在面积和功率方面扩展性很差。
  • 因此,片上网络正迅速取代总线和交叉开关,成为众核(many-core)芯片普遍使用的通信结构。
    • 这种片上网络在每个节点上都有路由器,connected to neighbors via short local on-chip links;
    • 多个通信流在这些链路上复用,以提供scalability和high bandwidth。

        如今,多核(Multi-core)和众核(many-core)架构已经广泛应用于各种计算领域。这些架构将提高数据中心的服务器整合级别。

  • 桌面应用,特别是图形应用已经在利用多核wave。
  • 这些面向吞吐量的应用将需要高带宽通信。
  • 通信延迟对多线程工作负载的性能有很大影响;为了扩展到大量的核心,线程之间的同步将需要低开销的通信。
  • 在多处理器片上系统(mpsoc)中,利用片上网络有助于实现设计隔离:
  • mpsoc利用来自各种供应商的异构IP块;通过标准接口,这些块可以通过片上网络以即插即用的方式进行通信。

ON-CHIP VS  OFF-CHIP NETWORKS

        虽然片上网络可以利用在超级计算机、工作站集群和互联网路由器中使用的prior multi-chassis interconnection networks的想法,但是片上网络面临的设计要求在量级上截然不同;因此,迫切需要新颖的设计。

        所幸的是,通过on-chip的设计,以前prior multi-chassis interconnection networks面临的I/O瓶颈得到了显著缓解:丰富的片上布线提供了比片外I/O高几个数量级的带宽,同时消除了片外I/O传输所固有的延迟开销。

        另一方面,片上网络设计面临着一系列严格的技术约束。具体来说,面向高性能多核处理器的片上网络必须在极低的延迟下提供高带宽,同时在功率和面积预算方面具有严格的限制。在多核和众核芯片中,缓存和互联与核心争夺相同的芯片空间。在狭小的面积和功率限制下将大量组件集成在一起,对于设计师来说是一个重大挑战,他们需要在这些组件之间找到平衡。

        片上网络的创新已使通信延迟可与crossbar相媲美,从而被广泛采用。此外,尽管片上网络所需的功率远低于buses和crossbar,但由于片上网络功耗可能很高,因此需要精心设计。

片上网络系统的发展

NoC (network-on-chip)

OCIN (on-chip interconnection network)

OCN(on-chip networks)

        片上网络,作为一个更广泛的interconnection network的子集,可以被视为一个可编程的系统,有助于在节点之间传输数据。片上网络可以看作是一个系统,因为它集成了许多组件,包括channels, buffers, switches and control;

        对于少量节点,可以使用专用临时布线来连接它们。 然而,随着片上元件数量的增加,使用专用电线会出现问题:直接连接每个元件所需的接线量将变得难以承受;

        核心数较少的设计可以利用buses和crossbar。

  • 在传统的多处理器系统和较新的多核架构中,bus-based systems只能扩展到少量处理器。这种有限的可扩展性是因为随着更多核心添加到总线,总线流量很快达到饱和,因此很难获得高带宽。 驱动一条由许多核心接入的长总线所需的功率也非常高昂。此外,随着核心数的增加,centralized arbiter会增加仲裁延迟。为了解决这些问题,复杂的总线设计结合了segmentation, distributed arbitration, split transactions,并且越来越类似于交换式片上网络
  • Crossbar  解决了总线的带宽问题,并已用于少数节点的片上互连。然而,对于大量节点,Crossbar  的扩展性较差;它们需要很大的面积占用空间并且功耗很高。

      由于多种原因,NOC成为buses和crossbar的一个有吸引力的替代方案。

  • 首先,网络代表了片上通信的可扩展解决方案,因为它们能够以较小的面积和功率开销提供可扩展的带宽,而这些开销与节点数量呈亚线性相关。
  • 其次,片上网络在布线方面非常高效,可以在同一链路上多路复用不同的通信流,从而实现高带宽。
  • 最后,具有规则拓扑的片上网络具有固定长度的本地短互连,可以使用规则的重复结构进行优化和模块化构建, 从而减轻验证负担。

片上网络的设计要点

片上网络的设计可以分解为各种building blocks:topology, routing, flow control, router microarchitecture and design, and link architecture。本书的其余部分按照 这些构建块进行组织,我们将在此依次简要介绍每个构建块;

  • topology。片上网络由channels and router nodes组成。网络拓扑决定了网络中节点和通道之间的物理布局和连接。
  • routing。对于给定的拓扑,路由算法决定了消息到达目的地所需的网络路径。路由算法平衡流量(或负载)的能力对网络的吞吐量和性能有直接影响。
  • 流量控制。流量控制决定了消息在网络中传输时如何分配资源。流量控制机制负责为等待的数据包分配(和取消分配)缓冲区和通道带宽。与基于以太网技术的片外网络相比,大多数片上网络在设计上被认为是无损的。
  • 路由器微架构。通用路由器微架构由以下组件组成:input buffers, router state, routing logic, allocators, and a crossbar (or switch)。 router功能通常采用流水线结构以提高吞吐量。片上网络中每个router的延迟是造成通信延迟的主要原因。因此,人们投入了大量研究精力来减少路由器流水线级数并提高吞吐量。
  • 链路架构。大多数片上网络原型使用传统的全摆幅逻辑和重复线路。

    

片上网络的性能 

   当我们讨论不同的片上设计点和相关研究时,重要的是要考虑网络的性能和成本。性能通常以以下方式衡量:

  • network latency or accepted traffic;

        对于粗略的性能计算,通常使用零负载(zero load latency)延迟,即网络中没有其他数 据包时数据包所经历的延迟。零负载延迟提供了平均消息延迟的下限。

  • Zero-load latency is found by taking the average distance (given in terms of network hops) a message will travel times the latency to traverse a single hop;

        除了提供超低延迟通信外,网络还必须提供高吞吐量。因此,性能也是通过吞吐量来衡量的。高饱和吞吐量表示网络可以在所有数据 包经历非常高的延迟之前接受大量流量,从而维持更高的带宽。

        与片上网络相关的两个主要成本是面积和功耗。如前所述,多核架构在非常紧张的功耗预算下运行。本书主要讨论针对功耗和面积进行NOC的设计;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值