【Interconnection Networks 互连网络】Torus 网络拓扑

2024-04-23 01:52

本文主要是介绍【Interconnection Networks 互连网络】Torus 网络拓扑,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  • 1. Torus 网络拓扑
  • 2. Torus 网络拓扑结构
  • References

1. Torus 网络拓扑

Torus 和 Mesh 网络拓扑,又可以称为 k-ary n-cubes,在规则的 n 维网格中包裹着 N = k^n 个节点,每个维度都有 k 个节点,并且最近邻居之间有通道。k-ary n-cubes包含一系列网络,从 rings (n = 1) 到 binary n-cubes (k = 2),也称为超立方体(hypercubes)。

这些网络的优势在于规则的物理排列与封装限制很好地匹配。在小尺寸下,tori具有统一的短线,允许高速运行而无需中继器。tori中逻辑上最小的路径几乎总是物理上最小的。这种物理的一致允许环面和网状网络利用通信节点之间的物理局部性。对于本地通信模式,例如每个节点在第一维中向其邻居发送消息,与随机流量相比,延迟要低得多,吞吐量要高得多,而蝴蝶网络无法利用这种局部性。

Tori 具有良好的路径多样性,即使在排列流量上也能具有良好的负载平衡。此外,由于torus或mesh网络中的所有通道都是双向的,因此它们可以利用双向信号,从而更有效地利用引脚和电线。

Tori网络的一个缺点是它们比对数网络具有更大的跳数。这使得它们的延迟略高于最小界限,并增加了网络的引脚成本。但请注意为了路径多样性,跳数的增加是必要的。设计者可以通过选择网络的维度 n 来确定环面网络的属性。网络的吞吐量随着维度单调增加,直到网络二分受限。对于低维度,延迟由高跳数 H 主导,而对于高维度,序列化延迟 Ts 占主导地位。最小延迟通常在相对较低的维度上实现,通常在 2 到 4 之间。为了最小化延迟和线路长度,我们通常选择 n 作为限制网络平分的最小维度。

2. Torus 网络拓扑结构

n-dimensional, radix-k torus或 k-ary n-cube,由 N = kn 个节点组成,每个维度上有 k 个节点。torus 作为一个直接网络,这N个节点中的每一个都同时充当网络的输入端、输出端和交换节点。每个节点都分配有一个 n 位 radix-k 的地址 {an−1,…,a0}作为坐标,并通过一对通道(每个方向一个)连接到地址相差 ±1 (mod k) 的节点,总共需要2nN 个 channels。Tori 是规则的(所有节点具有相同的度数)并且也是边对称的,这有助于改善通道之间的负载平衡。

一般来说,tori可以通过迭代添加维度来构造任意 k 元 n 立方体,如图 5.1 所示。 k-ary 1-cube(图 5.1[a]) 只是一个 k 节点环。将 k 个 1-cube 连接成一个循环会增加第二个维度,形成 k-ary 2-cube (图 5.1[b])。该过程持续一个维度,将 k 个 k-ary (n − 1)-cube 组合成一个 k-ary n-cube(图 5.1[c])。
在这里插入图片描述

Mesh 网络拓扑是 Torus 网络拓扑在每个方向上省略从节点 ak-1 到节点 a0 的连接。例如,图 5.2 将 4-ary 2-cube (torus)与 4-ary 2-mesh 进行了比较。Mesh 具有相同的节点的度,但对分带宽通道的数量是具有相同基数和维度的 torus 拓扑的一半。尽管 mesh 具有非常自然的二维布局,可以保持较短的通道长度,但它放弃了 torus 的边缘对称性。这可能会导致许多流量模式的负载不平衡,因为 mesh 拓扑的中央通道的需求可能明显高于边缘通道

从图中很容易看出,如果每个方向 channel 的信道带宽为 (b), a k-ary n-cube 的二等分带宽是 (B = 4k^{n-1} b )
在这里插入图片描述

torus 可以是单向的,在每一维中仅具有一个方向(从 ai 到 ai+1)的通道,也可以是双向的,在连接的节点之间具有两个方向的通道。mesh 也可以构成成单向或双向;然而,单向的 mesh 由于没有较长的边缘通道,因此必须在不同行之间交替改变方向,以保持网络完全连接。即使成本增加,双向网络通常也是首选,因为它们具有较低的跳数 H 和更大的路径多样性。一般来说,我们认为环面或网格是双向的

Torus 网络的每个维度可以具有不同的基数。例如,图 5.3 显示了一个 2,3,4-ary 3-mesh,其 y 维度的基数为 2,z 维度的基数为 3,x 维度的基数为 4。混合基数环面和网格通常是出于封装和模块化的实际原因而构建的。然而,混合基数 tori 不再是边对称的,并且与单基数 mesh 相比,混合基数网格更加不对称。这些不对称引入了负载的不平衡,并且对于许多流量模式(包括均匀流量),较长维度上的信道负载大于较短维度上的负载。对于均匀流量(例如 γx),图 5.3 中 x 维度上的负载将是 γz 的两倍(可以简单地理解,在 X 维度,每个节点需要和其余三个节点通信,其中设置一对一节点的通信量为r,总共通信量就是 X 维度上的总的通信量是 12r,而 Z 维度上任意link的通信量都是 6r,故在均匀随机流量模式下,x 维度上的负载将是 γz 的两倍)。

在这里插入图片描述

References

[1] Dally, William James, and Brian Patrick Towles. Principles and practices of interconnection networks. Elsevier, 2004.
[2] Jerger, Natalie D. Enright, et al. On-chip networks. Vol. 12. No. 3. Morgan & Claypool, 2017.

这篇关于【Interconnection Networks 互连网络】Torus 网络拓扑的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/927469

相关文章

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

ASIO网络调试助手之一:简介

多年前,写过几篇《Boost.Asio C++网络编程》的学习文章,一直没机会实践。最近项目中用到了Asio,于是抽空写了个网络调试助手。 开发环境: Win10 Qt5.12.6 + Asio(standalone) + spdlog 支持协议: UDP + TCP Client + TCP Server 独立的Asio(http://www.think-async.com)只包含了头文件,不依

poj 3181 网络流,建图。

题意: 农夫约翰为他的牛准备了F种食物和D种饮料。 每头牛都有各自喜欢的食物和饮料,而每种食物和饮料都只能分配给一头牛。 问最多能有多少头牛可以同时得到喜欢的食物和饮料。 解析: 由于要同时得到喜欢的食物和饮料,所以网络流建图的时候要把牛拆点了。 如下建图: s -> 食物 -> 牛1 -> 牛2 -> 饮料 -> t 所以分配一下点: s  =  0, 牛1= 1~

poj 3068 有流量限制的最小费用网络流

题意: m条有向边连接了n个仓库,每条边都有一定费用。 将两种危险品从0运到n-1,除了起点和终点外,危险品不能放在一起,也不能走相同的路径。 求最小的费用是多少。 解析: 抽象出一个源点s一个汇点t,源点与0相连,费用为0,容量为2。 汇点与n - 1相连,费用为0,容量为2。 每条边之间也相连,费用为每条边的费用,容量为1。 建图完毕之后,求一条流量为2的最小费用流就行了

poj 2112 网络流+二分

题意: k台挤奶机,c头牛,每台挤奶机可以挤m头牛。 现在给出每只牛到挤奶机的距离矩阵,求最小化牛的最大路程。 解析: 最大值最小化,最小值最大化,用二分来做。 先求出两点之间的最短距离。 然后二分匹配牛到挤奶机的最大路程,匹配中的判断是在这个最大路程下,是否牛的数量达到c只。 如何求牛的数量呢,用网络流来做。 从源点到牛引一条容量为1的边,然后挤奶机到汇点引一条容量为m的边

配置InfiniBand (IB) 和 RDMA over Converged Ethernet (RoCE) 网络

配置InfiniBand (IB) 和 RDMA over Converged Ethernet (RoCE) 网络 服务器端配置 在服务器端,你需要确保安装了必要的驱动程序和软件包,并且正确配置了网络接口。 安装 OFED 首先,安装 Open Fabrics Enterprise Distribution (OFED),它包含了 InfiniBand 所需的驱动程序和库。 sudo

【机器学习】高斯网络的基本概念和应用领域

引言 高斯网络(Gaussian Network)通常指的是一个概率图模型,其中所有的随机变量(或节点)都遵循高斯分布 文章目录 引言一、高斯网络(Gaussian Network)1.1 高斯过程(Gaussian Process)1.2 高斯混合模型(Gaussian Mixture Model)1.3 应用1.4 总结 二、高斯网络的应用2.1 机器学习2.2 统计学2.3

网络学习-eNSP配置NAT

NAT实现内网和外网互通 #给路由器接口设置IP地址模拟实验环境<Huawei>system-viewEnter system view, return user view with Ctrl+Z.[Huawei]undo info-center enableInfo: Information center is disabled.[Huawei]interface gigabit

Golang 网络爬虫框架gocolly/colly(五)

gcocolly+goquery可以非常好地抓取HTML页面中的数据,但碰到页面是由Javascript动态生成时,用goquery就显得捉襟见肘了。解决方法有很多种: 一,最笨拙但有效的方法是字符串处理,go语言string底层对应字节数组,复制任何长度的字符串的开销都很低廉,搜索性能比较高; 二,利用正则表达式,要提取的数据往往有明显的特征,所以正则表达式写起来比较简单,不必非常严谨; 三,使

Golang网络爬虫框架gocolly/colly(四)

爬虫靠演技,表演得越像浏览器,抓取数据越容易,这是我多年爬虫经验的感悟。回顾下个人的爬虫经历,共分三个阶段:第一阶段,09年左右开始接触爬虫,那时由于项目需要,要访问各大国际社交网站,Facebook,myspace,filcker,youtube等等,国际上叫得上名字的社交网站都爬过,大部分网站提供restful api,有些功能没有api,就只能用http抓包工具分析协议,自己爬;国内的优酷、