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

news2024/11/29 6:36:22

目录

一、前言

二、概念阐述

三、交叉开关

四、蝶形网络

五、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.coloradmin.cn/o/1448011.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

正月初五迎财神

大家好,我是小悟 正月初五,人们在这一天迎接财神,祈求财运亨通、事业顺利。按照习俗,家家户户都会燃放鞭炮、点灯笼、摆设祭品,以示虔诚。 早晨,太阳刚刚升起,大家便早早起床,开始准…

软件架构与系统架构:区别与联系的分析

软件架构与系统架构:区别与联系的分析 在信息技术领域,软件架构和系统架构这两个术语经常被提及。尽管它们在某些方面有重叠,但它们确实代表了不同的概念和聚焦点。理解这两种架构之间的区别和联系对于任何从事技术开发和设计的专业人士都是至…

【Python网络编程之TCP三次握手】

🚀 作者 :“码上有前” 🚀 文章简介 :Python开发技术 🚀 欢迎小伙伴们 点赞👍、收藏⭐、留言💬 Python网络编程之[TCP三次握手] 代码见资源,效果图如下一、实验要求二、协议原理2.…

DS Wannabe之5-AM Project: DS 30day int prep day15

Q1. What is Autoencoder? 自编码器是什么? 自编码器是一种特殊类型的神经网络,它通过无监督学习尝试复现其输入数据。它通常包含两部分:编码器和解码器。编码器压缩输入数据成为一个低维度的中间表示,解码器则从这个中间表示重…

WPF是不是垂垂老矣啦?平替它的框架还有哪些

WPF(Windows Presentation Foundation)是微软推出的一种用于创建 Windows 应用程序的用户界面框架。WPF最初是在2006年11月推出的,它是.NET Framework 3.0的一部分,为开发人员提供了一种基于 XAML 的方式来构建丰富的用户界面。 W…

小白学Halcon100例:如何应用极坐标的展开及逆变换?

这里写目录标题 什么是极坐标系?在halcon中对应的算子halcon实例程序输出结果:原图什么是极坐标系? 1、极坐标系(polar coordinates)是指在平面内由极点、极轴和极径组成的坐标系。在平面上取定一点O,称为极点。从O出发引一条射线Ox,称为极轴。再取定一个单位长度,通常…

微服务OAuth 2.1认证授权Demo方案(Spring Security 6)

文章目录 一、介绍二、auth微服务代码1. SecurityConfig2. UserDetailsService3. 总结 三、gateway微服务代码1. 统一处理CORS问题 四、content微服务代码1. controller2. SecurityConfig3. 解析JWT Utils4. 总结 五、一些坑 书接上文 微服务OAuth 2.1认证授权可行性方案(Sprin…

基于函数计算AIGC生成图应用

目录 基于函数计算部署AIGC应用的主要步骤 创建Stable Diffusion模型的应用 访问应用实现文字生图 函数的查看与管理 基于函数计算部署AIGC应用的主要步骤 用函数计算实现AIGC只要简单的三步,分别是创建应用、运行应用及查看管理。 创建Stable Diffusion模型的应…

力扣hot1--哈希

推荐一个博客: 一文看懂哈希表并学会使用C STL 中的哈希表_哈希表end函数-CSDN博客 哈希做法: 我们将nums[i]记为key,将i记为value。 判断target-nums[i]是否在哈希表中,如果在说明这两个值之和为target,那么返回这两…

34 张图详解网络设备知识

网络其实很简单,就是一堆设备连接在一起,然后在上面跑各种网络协议,实现设备之间的网络互通。其中第一步便是把所有设备按照一定的规则连接起来。这些设备可能是路由器、交换机、防火墙等网络设备,也可能是服务器、电脑、手机等需…

LeetCode、338. 比特位计数【简单,位运算】

文章目录 前言LeetCode、338. 比特位计数【中等,位运算】题目链接与分类思路位运算移位处理前缀思想实现 资料获取 前言 博主介绍:✌目前全网粉丝2W,csdn博客专家、Java领域优质创作者,博客之星、阿里云平台优质作者、专注于Java…

【网络攻防实验】【北京航空航天大学】【实验三、口令破解(Password Cracking)实验】

实验三、口令破解(Password Cracking)实验 一、 L0phtCrack破解实验 1、 注册L0phtCrack: 2、 设置口令: (1) 创建3个新账户: 帐户创建过程(以test-1为例): 帐户创建结果: (2) 使用L0phtCrack破解口令:(使用管理员账号运行程序) 口令破解结果: 正确破解口令…

成长的“三把刀”

成长的“三把刀” The Three Edges of Growth: Temptation, Grievance, and Obsession 嘿,大家好啊!今天咱们来聊聊人的成长,其实就是要学会应对三样东西:诱惑、委屈和执念。就像毛姆说的,这刀刃可不好过,它…

【Pytorch】Pytorch基础入门教程

🌞欢迎来到PyTorch 的世界 🌈博客主页:卿云阁 💌欢迎关注🎉点赞👍收藏⭐️留言📝 🌟本文由卿云阁原创! 📆首发时间:🌹2024年2月14日&…

【JavaSE篇】——String的常用方法(全面知识覆盖)

目录 字符串常用方法 🎈字符串构造 🎈字符串长度(length) 🎈字符串是否为空(empty) 🎈String对象的比较 🌈比较是否引用同一个对象(boolean) 🌈boolean equals(Object anObject) 方法&#xff1…

文生图提示词:氛围营造

情感和氛围 --氛围营造 Atmospheric Creation 试图涵盖从温馨舒适到神秘莫测、从明亮活泼到阴暗沉郁的广泛氛围词汇,展示了在艺术创作和环境设计中可以营造的多样化氛围。 Cozy 温馨的 Intimate 亲密的 Inviting 邀请的 Warm 温暖的 Welcoming 欢迎的 Relaxing 放松…

用Python动态展示排序算法

文章目录 选择冒泡插入排序归并排序希尔排序 经常看到这种算法可视化的图片,但往往做不到和画图的人心灵相通,所以想自己画一下,本文主要实现归并排序和希尔排序,如果想实现其他算法可参考这篇 C语言实现各种排序算法[选择&#x…

训练深度学习模型的过程

深度学习的训练过程是指通过大量的数据来调整神经网络的参数,以使其能够对输入数据进行准确的预测或分类. 训练神经网络的步骤 损失函数(Loss Function)是一个性能指标,反映神经网络生成接近期望值的值的程度。 损失函数直观上就…

软件实例分享,洗车店系统管理软件会员卡电子系统教程

软件实例分享,洗车店系统管理软件会员卡电子系统教程 一、前言 以下软件教程以 佳易王洗车店会员管理软件V16.0为例说明 软件文件下载可以点击最下方官网卡片——软件下载——试用版软件下载 1、会员卡号可以绑定车牌号或手机号 2、卡号也可以直接使用手机号&a…

cool Node后端 中实现中间件的书写

1.需求 在node后端中,想实现一个专门鉴权的文件配置,可以这样来解释 就是 有些接口需要token调用接口,有些接口不需要使用token 调用 这期来详细说明一下 什么是中间件中间件顾名思义是指在请求和响应中间,进行请求数据的拦截处理&#xf…