NoC(Network on Chip)基础 (3):网络拓扑结构 Butterfly、Torus、Mesh
上一篇:NoC (Network on chip) 基础知识 (2) :片上网络的拓扑结构(Topology) 介绍了网络拓扑中的常见概念。
本篇文章将重点介绍 Butterfly 和 Torus 网络架构。
目录
- Butterfly Network
- 经典的 Butterfly 结构
- 额外添加Stage提高路径多样性
- Torus Network
- Torus 的基本网络结构
- Torus 与 Mesh 的搭建
- Express Cube
Butterfly Network
优点:
- 网络拓扑的直径小,对于一个 k-ary n-fly 的 butterfly 网络,只需通过n跳就可以实现任意节点间的传输。
- 路由算法实现简单。
缺点:
- 路径多样性差。(如果增加 stage 可以缓解这个问题)
- 连接该结构需要较长的导线,这会降低传输速度。
目前Butterfly 结构以及它的众多变种在许多场景广泛应用。
经典的 Butterfly 结构
k-ary n-fly 的 butterfly 网络,有 knk^nkn 个源terminal和 knk^nkn 个目的terminal组成,中间经过了 kn−1k^{n-1}kn−1 个 k∗kk*kk∗k 的 switch node。
下面的结构是一个 2-ary 4-fly 的经典butterfly拓扑。
额外添加Stage提高路径多样性
传统的butterfly结构点到点都只有一条路径。通过增加额外的 stage,能将路径多样性提高。
对于下面的2-ary 3-fly的拓扑结构,通过增加一个stage,使所有点到点的路径数从1变到了2。
Torus Network
优点:
- 路径多样性大,能均衡负载。
缺点:
- 需要较多的跳数才能达到目的节点。
Torus 的基本网络结构
与 Butterfly 结构不同,Torus 是 direct network。所有的节点同时是 input terminal、output terminal 和 switching node。
我们用 k-ary n-cube 来表示。k 是排列的边的长度,n 是排列的维度。( 如:3-ary 2-cube 是一个 2-D torus 在每个维度上有3个节点 )。
可以通过迭代增加维度的方式构建一个高维度的 Torus 网络。可以将k个 k-ary (n-1)-cube 的拓扑的各个channels连接成环,得到 k-ary n-cube 的拓扑。
Mesh结构与Torus类似,只是去掉了”环“。
对于相同节点个数和维度的 Mesh 和 Torus,Mesh 的 bisection channels 是 Torus 的二分之一。
然而 Mesh 缺少边对称性。这会导致负载不均衡。中心位置的channels会比靠边的channels承受更大的负载。
Torus 与 Mesh 均可以使用双向或单向的channels。虽然使用双向的channels会占用两倍数量的节点端口,但带来了一个更低的路由跳数,同时增加了路径多样性。一般在这里选择双向channels。
各个维度的节点数量也可以不同。然而这样会更大的损失边对称性,带来负载的不均衡。下图中的 2,3,4-ary 3-mesh 的拓扑,即使对于uniform traffic(完全随机)而言,x方向的负载会是z方向负载的两倍。
Torus 与 Mesh 的搭建
在现实世界中搭建 Torus 与 Mesh 需要考虑更多的因素。
如果直接按照上面的拓扑图,会导致”回环的那一条channel“长度比其他的都要长,这会带来更大的延迟,甚至可能降低电路的整体频率。
通常采用**折叠(folding)**的方法解决此类问题。如下图:
如果逻辑上的维度,不满足物理条件的限制时,可以将额外的维度映射到低维上。(下图将 2维 Mesh 映射到了 1维物理空间上)
Express Cube
在 Torus 和 Mesh 中,占传输延迟大部分的是 routing latency。我们可以通过增加额外的 long(express) channel 来降低经过路由的数量,减少延迟。
NoC(Network on Chip)基础 (3):网络拓扑结构 Butterfly、Torus、Mesh相关推荐
- NoC (Network on chip) 基础 (1) : 片上网络的简介
本系列的文章是我在学习NoC经典书籍:Principles and Practices of Interconnection Networks 以及相关的论文过程中所作的总结和归纳.在敦促自己建立更全 ...
- NoC(Network on Chip)基础 (6):Oblivious Routing 和 Adaptive Routing
上一篇:NoC(Network on Chip)基础知识 (5):网络路由(Routing)介绍了 NoC 中路由的基础概念并列举了确定性路由的例子. 本篇文章将介绍 Oblivious Routin ...
- 计算机网络中网络拓扑,计算机网络基础知识:不同的网络拓扑结构对网络的影响...
导语:中公小编今天带大家了解计算机网络拓扑结构的相关知识,并认识不同的网络拓扑结构对网络影响有哪些.通过思考题与解答的形式,希望考生可以开拓思维,一起思考.加强对计算机网络基础知识的认识与记忆. 思考 ...
- 计算机网络基础:网络分类和拓扑结构知识笔记
1.计算机网络分类 城域网.广域网.局域网网对比 网络分类 缩写 分布距离 计算机分布范围 传输速率范围 局域网 LAN 10.100.1000m左右 房间.楼寓.校园 4Mb/s- 1Gb/s 城域 ...
- 笔记-计算机网络基础-计算机网络分类-总线型-星型-环状-树形-网状-网络拓扑结构...
网络拓扑结构,包括总线型(bus).星型(star).环型(ring).树型(tree)网络结构. 总线形网络拓扑结构 总线拓扑结构所有设备连接到一条连接介质上.总线结构所需要的电缆数量少,线缆长度短 ...
- 再谈P2P技术:网络拓扑结构、核心技术分析
随着P2P应用的蓬勃发展,作为P2P应用中核心问题的发现技术除了遵循技术本身的逻辑以外,也受到某些技术的发展趋势.需求趋势的深刻影响. P2P协议概述 P2P打破了传统的Client/Server ( ...
- 1.网络基础-走进网络世界
1.1.企业网络环境介绍 计算机网络的类型 LAN ------本地局域网 Local Area Network:•通常指几千米以内的(如家庭网络)路由器内网的接口 WAN ------ 广 域 网 ...
- 使用MNIST数据集,在TensorFlow上实现基础LSTM网络
使用MNIST数据集,在TensorFlow上实现基础LSTM网络 By 路雪2017年9月29日 13:39 本文介绍了如何在 TensorFlow 上实现基础 LSTM 网络的详细过程.作者选用了 ...
- dct变换的主要优点有哪些_网络拓扑结构有哪些类型 不同类型网络拓扑结构优缺点介绍【图文】...
拓扑结构,计算机网络的拓扑结构有哪些类型? 计算机网络的拓扑结构 是指网络中各个站点相互连接的形式,在局域网中明确一点讲就是文件服务器.工作站(连接在网络上的计算机.大容量的外存.高速打印机等设备均可 ...
最新文章
- 计算机编程书籍-笨办法学Python 3:基础篇+进阶篇
- export 和 export default 的区别
- 福州大学计算机专业录取位次,盘点福州大学历年最低录取分数线以及最低位次!给考生做参考...
- DCMTK:OFOptional的单元测试
- NSArray打印汉字的方法
- 小议 static 关键字
- FCN论文-语义分割
- jsf标签_JSF Facelet标签示例教程
- leetcode[232]用栈实现队列/Implement Queue using Stacks
- MSA移动安全联盟 获取OAID 异常问题
- scikit-learn的高级介绍
- Linux环境中的网络分段卸载技术 GSO/TSO/UFO/LRO/GRO
- cesium获取当前屏幕中心点坐标
- 计算机打印后台处理程序在哪里,Win7系统连接打印机出现本地打印后台处理程序服务没有运行怎么办...
- 【记忆化搜索/数位DP】zznu2175(长度为n的含有ACM的字符串)
- C语言编程b a化简,C语言编程,已知三角形的三边长a,b,c,计算求三角... 如果三角形三边长 a,b,c,满足( )那么这个三角形......
- 怎样查看自己的电脑是多少位的?
- 用python进行进制转换(二十六进制)
- 我的世界服务器卡屏无响应,我的世界卡屏死机不流畅解决方法_蚕豆网攻略
- docker容器使用
热门文章
- 启动gazebo失败报错[gazebo-1] process has died [pid 10999, exit code 255
- [软考]挣值管理EVM详细解释及应用,实例讲解收集(信息系统项目管理师-成本管理)...
- 去除桌面快捷方式上的小箭头
- C++ primer(第五版)简单读书笔记
- 鸿蒙子系统解读-分布式任务调度篇
- Mysql子查询优化技术
- 呼吸系统疾病病人的护理题库【1】
- 系统分析实验 Python
- Python那些让我疑惑许久的代码--2
- 红黑树 -- 增删查改