片上网络NoC(5)——非直连拓扑

目录

一、前言

二、概念阐述

三、交叉开关

四、蝶形网络

五、clos网络

六、fat tree网络

6.1 clos网络的折叠过程

七、总结


一、前言

        本文继续介绍片上网络的拓扑,在之前的文章中,我们已经介绍了片上网络的拓扑指标和直连拓扑的相关内容,这些将是继续阅读本文的基础:

片上网络NoC(3)——拓扑指标icon-default.png?t=N7T8https://ztzhang.blog.csdn.net/article/details/136106748?spm=1001.2014.3001.5502片上网络NoC(4)——直连拓扑icon-default.png?t=N7T8https://ztzhang.blog.csdn.net/article/details/136109452?spm=1001.2014.3001.5502        本文中,我们将详细介绍片上网络中的非直连拓扑。

二、概念阐述

        非直连拓扑指的是所有终端节点通过一个或多个中间交换节点(switch node)相连的网络拓扑。与直连拓扑中每个节点既是终端节点又是交换节点不同,非直连拓扑中终端节点与交换节点是彼此分离的。只有终端节点是流量的源(发出新的流量)或目的地(处理输入的流量而不向下继续传递),中间交换节点只是流量的中转站(将流量从输入送到指定的输出)。

三、交叉开关

        最简单的非直连拓扑是交叉开关(crossbar),一个交叉开关通过 n×m 个简单的交换节点连接了n个输入和m个输出。其中,n个输入和m个输出进行全连接,每个输入都连接到所有的m个输出。这种结构是非阻塞的,因为它总是可以将发送方与特定的接收方直接连起来。

四、蝶形网络

        蝶形 (bufferfly)网络是非直连拓扑的典型例子,可以描述为k-ary n-fly。该网络具有k^{n}个终端节点和n级交换节点,每级含k^{n-1}个交换节点。换句话说,k是交换节点的入度/出度,n是交换节点的级数。(入度/出度指的是输入/离开交换节点的链路数,由于蝶形网络中交换节点的输入、输出链路数相等,所以节点的入度、出度也相等,为节点度的一半。)

        下图是一个2-ary 3-fly的蝶形网络:

        我们不妨假设左侧的圆形节点为源节点,右侧的圆形节点为目的节点,这样的圆形节点可以统称为终端节点。中间的方形节点则为交换节点。

        蝶形网络最大的缺点是缺失路径多样性并缺少对网络局部性的利用。

五、clos网络

        经典的 clos 结构是一个三段的网络,每一阶段由若干数量的 crossbar 开关组成。通常使用三元组(m, n, r)来表示一个 clos 的参数:

  • m 是中间阶段 switch 的数量。
  • n 是每个input/output switch 的端口数量。
  • r 是 input、output 阶段 switch 的数量。

每个中间级的switch 会和所有的 input switch 和 output switch 相连。

  • 第一阶段的 r 个 input switch 是 n x m 的 crossbar,每个 switch 将各自 n 个输入端口连接到 m 个 middle switch 上。
  • 第二阶段的 m 个 middle switch 是 r x r 的 crossbar,每个 switch 将 r 个 input switch 与 r 个 output switch 相连。
  • 第三阶段的 r 个 output switch 是 m x n 的 crossbar,每个 switch 将 m 个 middle switch 与 n 个输出端口相连。

六、fat tree网络

        fat tree网络在逻辑上是一个二叉树结构,物理上各个节点内部的布线资源不同,距离根节点越近的节点内部的连线资源越多。

        从另一个角度来说,一个fat tree网络可以由clos网络折叠而成,因为fat tree网络实际是clos网络在根节点处将自己对折,因此fat tree网络逻辑上是一个5级的clos网络(即信号从输入路由到输出需要最多5跳)。

        根节点处存在多个可以连接左右两边的节点,因此fat tree网络具有路径多样性。在fat tree网络中,消息先沿着树结构向上路由,直到找到目的地节点的祖先节点,之后向下路由到指定目的节点。这种路由方式使fat tree 网络可以很好地利用节点之间的局部性。尽管更高层级的节点之间的链路更宽,我们始终认为fat tree 网络中每一个交换节点的逻辑上的度为4。

6.1 clos网络的折叠过程

        一个clos网络可以交换内部各个节点的位置,并沿着中间级交换节点折叠,使输入级与输出级完全重合,输入终端节点和输出终端节点完全重合,然后将重合的节点合并为同一个节点,并将节点之间的连接由单向变为双向,从而得到折叠的 clos 网络,折叠过程如下图所示。

        一个 clos 网络可以通过从中线折叠的方式,将输入级和输出级交换节点共享。前文中的fat tree结构就展示的是一个 5 级 clos 网络被折叠后的样子,我们依然可以用三元数组(2,2,4)来表示它,而这样的网络的中间级又是由3 级参数为(2,2,2) 的clos网络构成的。这个clos网络沿着最上面一行的交换节点进行折叠。

七、总结

        本文介绍了片上网络中的非直连结构,分别介绍了crossbar,蝶形网络,clos网络和fat tree网络。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/468375.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2、6作业

TCP和UDP的区别 TCP和UDP都是通信协议 TCP提供有连接的,稳定的,无误码无失真无乱序无丢失的通信 UDP提供无连接的,尽力的,可能误码可能乱序,可能丢失的通信 TCP每发一个数据包就需要对方回应一个应答包&#xff0c…

分享88个CSS3特效,总有一款适合您

分享88个CSS3特效,总有一款适合您 88个CSS3特效下载链接:https://pan.baidu.com/s/1pDAyFESnO8HSnCZj4-DOzQ?pwd8888 提取码:8888 Python采集代码下载链接:采集代码.zip - 蓝奏云 学习知识费力气,收集整理更不…

python中库的安装和卸载

1 安装库的基本方法 pip install 库名 2 批量下载(pa.txt放入库的名称和版本要求)格式如图所示: pip install -r pa.txt 3 官网下载安装库 https://pypi.org/project/ 搜索后点击Download files python -m pip install C:\Users\ZHUHUA\Downloads\…

第二节:轻松玩转书生·浦语大模型趣味Demo

参考教程:https://github.com/InternLM/tutorial/blob/main/helloworld/hello_world.md InternLM-Chat-7B 智能对话 Demo 终端运行 web demo 运行 1.首先启动服务: cd /root/code/InternLM streamlit run web_demo.py --server.address 127.0.0.1 --…

如何把华为手机上的数据转移到荣耀手机上?

方法/步骤 点击并进入华为手机(旧手机)的【手机克隆】应用,选择【这是旧设备】; 点击并进入荣耀手机(新手机)的【换机克隆】应用,选择【这是新设备】; 荣耀手机(新…

AtCoder Beginner Contest 340 C - Divide and Divide【打表推公式】

原题链接:https://atcoder.jp/contests/abc340/tasks/abc340_c Time Limit: 2 sec / Memory Limit: 1024 MB Score: 300 points 问题陈述 黑板上写着一个整数 N。 高桥将重复下面的一系列操作,直到所有不小于2的整数都从黑板上移除: 选择…

H12-821_31

31.下面是一台路由器的部分配置,关于该配置描述正确的是: A.源地址为1.1.1.1的数据包匹配第一条ACL语句rule 0,匹配规则为允许 B.源地址为1.1.1.3的数据包匹配第三条ACL语句rule 2,匹配规则为拒绝 C.源地址为1.1.1.4的数据包匹配第四条ACL语句rule 3,匹配规则为允许 D.源地址为…

InstantBox:开箱即用的临时 Linux 环境

在云计算和虚拟化技术日益成熟的今天,我们有时需要一个快速、简单、临时的 Linux 环境来进行各种任务。这就是 InstantBox 的用武之地。 什么是 InstantBox? InstantBox 是一个开源项目,它可以快速启动临时的 Linux 系统,并提供…

自动生成测试用例_接口测试用例自动生成工具

前言 写用例之前,我们应该熟悉API的详细信息。建议使用抓包工具Charles或AnyProxy进行抓包。 har2case 我们先来了解一下另一个项目har2case 他的工作原理就是将当前主流的抓包工具和浏览器都支持将抓取得到的数据包导出为标准通用的 HAR 格式(HTTP A…

Node.js开发-HTTP协议

HTTP协议 1) 概念2) 请求报文的组成3) HTTP 的请求行4) HTTP 请求头5) HTTP 的请求体6) 响应报文的组成7) 创建 HTTP 服务8) 获取 HTTP请求报文9) 设置 HTTP 响应报文10) 设置资源类型(mime类型)11) GET和POST请求的区别 1) 概念 HTTP(hyper…

国产手机大量采用国产OLED屏幕,三星屏占比大幅减少了

在以往采用三星OLED屏幕曾是国产期间手机的标配,然而2023年国产手机品牌突然大幅减少了对三星OLED屏幕的采用,而大幅增加了国产OLED屏幕的采用比例,推动国产OLED屏幕的市占率大幅上涨。 2023年由于高通提前发布销量8G3,由此导致中…

[C#] 如何调用Python脚本程序

为什么需要C#调用python? 有以下几个原因需要C#调用Python: Python拥有丰富的生态系统:Python有很多强大的第三方库和工具,可以用于数据科学、机器学习、自然语言处理等领域。通过C#调用Python,可以利用Python的生态系…