第一章:Introduction to Interconnection Networks
第一章:互联网络介绍
数字系统三个基本组件
- 逻辑(logic)
- 存储(memory)
- 通信(communication)
随着技术进步,当前大部分数字芯片系统的瓶颈在于通信,组件之间的通信偏绿远远落后于处理器时钟频率,因此互联是未来数字系统成功的关键因素。
关于互联网络的三个问题
什么是互联网络
互连网络是在终端(terminal)之间传输数据的可编程系统。下图显示了连接到网络的六个终端(T1 到 T6),终端之间借助网络传输信息。网络是一个系统,组件包括:缓冲区(buffers)、通道(channels)、交换机(switches)和控制器(controls)。
互联网络规模
- 片上网络:单个处理器内连接存储器、寄存器、算术单元等
- 板机/系统级网络:连接处理器和存储
- 局域网/广域网:连接系统
哪里有互联网络
互联网络为什么重要
互联网络是许多系统性能的限制因素
互联网络的用途
互连网络参数
- 连接网络的终端数(Terminal)
- 终端所需的峰值带宽(peak bandwidth)和平均带宽(average bandwidth)
- 延迟的要求(latency)
- 单条信息的长度的分布(message size)
- 交通模式(traffic pattern):指每个terminal发送数据的目标terminal的分布(就朝着一个目标terminal使劲发 还是这个发几条那个发几条)
- 服务质量(quality of service):是否考虑信息优先级设置
- 可靠性(reliability):指消息能否正确可靠的发送到目的地。一般情况下要求100%的可靠性。
- 可用性(availability):指网络的可用且操作正确的时间占比。
处理器-内存互联
- a:dance-hall architecture
- b:integrated-node architecture
目前b架构使用更广泛,既可以快速访问本地存储,也可以通过互联访问远端存储。
消息类型
- Read request
- Read reply
- Write request
- Write reply
message和packet的不同
-
message:网络中各terminal 视角的数据格式
-
packet:是数据在网络中实际传输时的包格式。单个message可以切分为多个packet,加上协议的包头在网络中传输,具体取决于协议类型。
IO互联
上图将一组磁盘连接到主机。与处理器-内存互联对延迟和粒度的需求不同,所以两种互联网络也不同。
包交换switch
互联网络基础
为了满足特定应用的性能需求,NOC设计者必须在技术限制内实现网络的拓扑、路由和流量控制。互连网络不是在每组teriminal间创建专用通道,而是通过channel连接的router节点集合来实现。
拓扑结构(Topology)
互连网络由一组共享的路由器节点和通道组成,网络的拓扑结构是指这些节点和通道的排列方式。
上图为某种拓扑示意图
上图为如何制备上述拓扑
路由算法(Routing)
网络采用的路由方法确定分组从源终端节点到目的地终端节点所采取的路径。在某些网络中,从每个源到每个目的地只有一条路由,而在其他网络中则可能有多条路径。当有许多路径时,良好的路由算法可以在通道之间均匀地平衡负载。
流量控制(Flow control)
流量控制指的是,当packet从源地址到目的地址的过程中,所经过路径上各种资源的分配过程。其中最关键的资源有两个:
- Channel:就是node之间通信的信道。
- Buffer:使用register或memory,让packet能暂存在node中。
拓扑决定路线图,路由算法引导汽车,流量控制控制交通灯决定汽车何时可以驶过下一段道路(通道)或何时必须停车进入停车场停车场(缓冲区)以允许其他车辆通过。
流量控制要做到
- 避免出现由于资源冲突导致的通道空闲。比如某packet正在buffer中等待一条繁忙的通道,而它后边来了一个要经过这个buffer到达一条空闲通道的packet。这就类似于道路上汽车左转和直行在同一条路上,等待直行的车阻碍了能够左转的车。其解决办法是增加一条左转车道。
- 应该做到公平且无死锁。它不能造成一个packet无休止的等待下去。
上图中a为store-and-forward类型流量控制,b为cut-through类型流量控制。
cut-through将数据包切割为flits,可以pipline传输,效率更高。
路由器架构(Router Architecture)
互联网络性能
互连网络性能一般由latency衡量,即数据包第一位从源端出发和数据包最后一位到达目的端的时间差。