片上网络NoC(3)——拓扑指标

目录

一、概述

二、指标

2.1 与网络流量无关的指标 

2.1.1 度(degree)

2.1.2 对分带宽(bisection bandwidth)

2.1.3 网络直径(diameter)

2.2 与网络流量相关的指标

2.2.1 跳数(hop count)

2.2.2 最大通道负载(maximum channel load)

2.2.3 路径多样性(path diversity)

三、总结


一、概述

        片上网络的拓扑(topology)确定了网络中节点和通道之间的物理布局和连接。拓扑对网络的整体成本效率(cost-performance)有相当重要的影响。拓扑决定了一条消息的跳数或经过的路由器个数,以及每跳经过的互连线的物理距离,因此会对网络延迟产生显著的影响。因为信息经过路由器(router)和链路(link)需要消耗能量,所以拓扑对跳数的影响会直接反映在网络的功耗方面。此外,拓扑决定了节点之间可用路径的总数,从而影响网络扩散流量及满足带宽需求的能力。拓扑的实现复杂度取决于两个因素:每个节点上的链路数量(即节点度)和在芯片上布局拓扑的难易程度(即所需的导线长度和金属布线层数)。
        总线是最简单的拓扑之一,它使用一个共享的通道来连接一组组件。总线上的所有组件都可以观察到总线上的每一条消息。因此,总线是一种有效的广播方式。然而,由于不断增加组件会造成共享通道趋近饱和,总线的可扩展性是十分受限的。
        在本文中,我们将重点研究交换拓扑(switched topology)。在交换拓扑中,一组组件通过路由器和链路进行连接。

二、指标

        在设计片上网络时,首先需要考虑拓扑。对于拓扑设计,有几个重要的指标来对拓扑进行一个直觉性的解释。下图中给出了几种常见的简单拓扑结构:

2.1 与网络流量无关的指标 

        首先我们考虑一组在设计阶段考虑的、与网络流量无关的指标。

2.1.1 度(degree)

        一个拓扑的度表示每个节点拥有的链路数量。以上图为例,ring结构的度为2,tours结构的度为4,mesh结构比较特殊,其中处于不同位置节点的度是不同的。

        度是一个可以有效衡量网络开销的指标,节点的度越大,表示节点路由器需要更多的端口。相应地,路由器的实现复杂度及面积和功耗都会有所增大。我们把每个路由器的端口数称为路由器基数(router radix)。

2.1.2 对分带宽(bisection bandwidth)

        对分带宽指的是将网络划分成两个相同部分后,两部分之间的通信带宽。(一个网络通常很难划分成完全相同的两部分,这里的对分一般只要求近似相同,通常只要求对分后的网络各个维度上的节点数相等或只能在一个维度上节点数相等。)还是以上图为例,穿过ring结构的对分线的链路数量为2,穿过mesh结构的对分线的链路数量为3,穿过torus结构的对分线的链路数量为6。

        这一带宽指标可以有效地反映特定网络在最坏工作情况下的性能,因为对分带宽限制了可以从系统一端移动到另一端的总数据量。另外,这一指标同时也表示了实现片上网络时所必需的全局连线数量,所以它也可以用来衡量网络的开销。相当于评价片上网络而言,对分带宽其实并不能很好地评价片上网络,因为片上网络的全局连线资源同芯片与片外通信的引脚带宽资源相比,连线资源要丰富得多。

2.1.3 网络直径(diameter)

        网络直径指的是拓扑中任意两个节点之间的最短路径组成的集合中的最大值(即网络中所有源—目的节点对的最短路径中的跳数最大值)。例如,之前例子中的ring结构和mesh结构的网络直径为4,torus结构的网络直径为2。在没有链路竞争的情况下,网络直径可以作为衡量拓扑中最大延迟的指标。

2.2 与网络流量相关的指标

        接下来,我们定义一组和网络流量(traffic,指源—目的节点对之间的通信)有关的指标。

2.2.1 跳数(hop count)

        我们定义从一个节点路由至另一个节点称为一跳(hop)。跳数是指一条消息从源节点路由到目的节点需要跳的总次数,或者指这条消息所通过的链路总数。

        这是一个可以简单有效地反映网络延迟的指标,因为即使在网络内部没有竞争的情况下,网络中的每一个节点和链路还是会引入传输延迟的。网络的最大跳数取决于其直径。除了最大跳数,平均跳数也可以很好地反映网络延迟,其表示网络所有可能的源—目的节点对之间的路径的跳数的平均值。

2.2.2 最大通道负载(maximum channel load)

        这一指标可用于估计网络所能支持的最大带宽,或者每个节点在网络饱和前每秒可注入的最大比特数。最大通道负载与最大注入带宽(maximum injection bandwidth)之间存在如下关系。

最大注入带宽=1/最大通道负载

        直观上,想要估计网络能够支持的最大带宽,首先需要确定在特定流量模式下网络中哪个链路或通道最拥挤,因为该链路将限制整个网络的带宽。在均匀随机流量下,限制网络带宽的瓶颈链路大多情况下是将网络对分切割后连接切割后两部分网络的链路。接下来估计该通道负载。由于在设计的早期阶段,我们无法得知通道的具体使用情况(每个通道有多少个实际的物理互连及每个互连的带宽大小),所以我们需要一个能够相对地测量通道负载的指标,即注入带宽相对系数。所以,当我们说通道负载为2时,意味着该通道负载是注入带宽的两倍。

        举例来说,假设通道负载是 2,那么如果每个节点的每个时钟周期将一个flit(flow control unit,流控制单元,可以认为时流控制中最小粒度数据单元)注入网络,则意味着会出现两个flit在同一时钟周期内都需要穿过该通道的情况。如果这个通道每个时钟周期只能处理一个flit,则这个通道会成为瓶颈通道。这个瓶颈通道会将网络的最大注入带宽限制为链路带宽的一半,即每个节点最多可以每隔一个时钟周期向网络中注入一个flit(而不是每周期注入一个)。由于每个通道工作时的实际负载量一定,因此最大通道负载越大,相应的网络最大注入带宽越小。

2.2.3 路径多样性(path diversity)

        在给定源节点和目的节点的前提下,如果这个节点在对某个拓扑中拥有多条最短路径,而在另一个拓扑中只有一条 最短路径,则认为前者的拓扑具有更大的路径多样性。

        拓扑中的路径多样性使路由算法在处理负载均衡问题时具有更大的灵活性,从而通过减小通道负载,提高了网络吞吐量。路径多样性还使得数据包能够拥有绕过网络中故障的潜力。

三、总结

        本文中,我们介绍了片上网络的拓扑指标,这些指标可以分成与网络流量无关的指标和与网络流量有关的指标,这些指标给出了拓扑及其性能的直觉性描述。

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

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

相关文章

【深度学习】S2 数学基础 P4 微积分(下)偏导数与链式法则

目录 深度学习与微积分偏导数链式法则 深度学习与微积分 总结来说,深度学习的核心在于优化;优化的重点在于降低损失值;降低损失值需要通过反向梯度下降;而微积分,判断的就是梯度下降的方向和大小。 铺开来说&#xf…

【51单片机】初学者必读的一文【探究定时计数器与中断系统是如何配合起来的?】(9)

前言 大家好吖,欢迎来到 YY 滴单片机系列 ,热烈欢迎! 本章主要内容面向接触过单片机的老铁 主要内容含: 欢迎订阅 YY滴C专栏!更多干货持续更新!以下是传送门! YY的《C》专栏YY的《C11》专栏YY的…

Nvidia 推出了本地版聊天 Chat with RTX;OpenAI联创Karpathy宣布离职专注个人项目

🦉 AI新闻 Nvidia 推出了本地版聊天 Chat with RTX 摘要:英伟达最近发布了名为“Chat with RTX”的Demo版个性化AI聊天机器人,适用于Windows平台,需要Nvidia的30系/40系显卡,显存至少为8GB,系统配置包括1…

【C++关联式容器】unordered_set

目录 unordered_set 1. 关联式容器额外的类型别名 2. 哈希桶 3. 无序容器对关键字类型的要求 4. Member functions 4.1 constructor、destructor、operator 4.1.1 constructor 4.1.2 destructor 4.1.3 operator 4.2 Capacity ​4.2.1 empty 4.2.2 size 4.2.3 max…

仿百强网红色风格电商品牌特价大全淘宝客导购网站源码

(购买本专栏可免费下载栏目内所有资源不受限制,持续发布中,需要注意的是,本专栏为批量下载专用,并无法保证某款源码或者插件绝对可用,介意不要购买!购买本专栏住如有什么源码需要,可向博主私信,第二天即可发布!博主有几万资源) 资源简介 帝国cms7.5内核仿《百强网…

Rust - 切片Slice

Slice类型 Slice数据类型没有所有权,slice允许我们引用集合中一段连续的元素序列而不用引用整个集合。字符串slice(string slice) 是String中 一部分值的引用。如下述代码示例,不是对整个String的引用而是对部分String的引用: fn main() {l…

django admin页面美化

美化 Django Admin 页面可以通过多种方式实现,从简单的 CSS 样式调整到完全自定义模板。以下是一些建议和步骤来美化 Django Admin 页面: 1. 使用 CSS 覆盖默认样式 这是最简单的方法,你可以通过添加自定义 CSS 文件来覆盖 Django Admin 的…

力扣例题----二叉树

文章目录 1. 100.相同的树2. 572. 另一颗树的子树3. 266.翻转二叉树4. LCR 175.计算二叉树的深度5. 110.平衡二叉树6. 101. 对称二叉树7. 牛客题目:KY11 二叉树遍历8. 102.二叉树的层序遍历9. 236.二叉树的最近公共祖先10. 105.根据前序和中序构造一棵二叉树11. 106…

【数位dp】【动态规划】【状态压缩】【推荐】1012. 至少有 1 位重复的数字

作者推荐 视频算法专题 本文涉及知识点 动态规划汇总 LeetCode:1012. 至少有 1 位重复的数字 给定正整数 n,返回在 [1, n] 范围内具有 至少 1 位 重复数字的正整数的个数。 示例 1: 输入:n 20 输出:1 解释:具有至…

【Python】高级数据类型

🚩 WRITE IN FRONT 🚩 🔎 介绍:"謓泽"正在路上朝着"攻城狮"方向"前进四" 🔎🏅 荣誉:2021|2022年度博客之星物联网与嵌入式开发TOP5|TOP4、2021|2222年获评…

JavaWeb学习|i18n

学习材料声明 所有知识点都来自互联网,进行总结和梳理,侵权必删。 引用来源:尚硅谷最新版JavaWeb全套教程,java web零基础入门完整版 i18n 国际化(Internationalization)指的是同一个网站可以支持多种不同的语言&…

服务端性能测试——性能监控体系-L1性能统计工具

目录: 性能分析系统级别指标iocpumemnet io指标监控命令iostatio指标监控命令dfcpu指标监控命令uptimecpu指标监控命令cat/proc/cpuinfocpu指标监控命令mpstatcpu指标监控命令sarmem指标监控命令cat/proc/meminfomem指标监控命令vmstatmem指标监控命令freenet指标监…

数据结构与算法----复习Part 7 (链表排序)

本系列是算法通关手册LeeCode的学习笔记 算法通关手册(LeetCode) | 算法通关手册(LeetCode) (itcharge.cn) 本系列为自用笔记,如有版权问题,请私聊我删除。 目录 一,冒泡排序 二&#xff0c…

代码随想录算法训练营第50天 | 70.爬楼梯(进阶) + 322.零钱兑换 + 279.完全平方数

今日任务 70. 爬楼梯 (进阶) 322. 零钱兑换 279.完全平方数 70.爬楼梯(进阶) - Easy 题目链接:题目页面 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 思路&a…

【ASP.NET Core 基础知识】--安全性--防范常见攻击

在现实网络中即存在着安全的流量,又存在着不安全的流量在,这些不安全的流量常常会对我们的网站服务造成威胁,严重的甚至会泄露用户的隐私信息。这篇文章我们通过对常见的网络攻击跨站脚本攻击、跨站请求伪造(CSRF)、SQL注入、敏感数据泄露、身…

前沿技术期刊追踪——以电机控制为例

一、背景 前沿技术期刊追踪是指科研人员、学者或专业人士通过关注和阅读各类顶级科技期刊,了解并跟踪相关领域的最新研究成果和发展动态。以下是一些常见的前沿技术期刊以及追踪方法: 1. **知名科技期刊**: - 自然(Nature&#…

片上网络NoC(6)——路由算法

目录 一、概述 二、路由算法的类型 三、避免死锁 四、实现 4.1 源路由实现 4.2 基于节点查找表的路由实现 4.3 组合电路实现 五、总结 一、概述 路由算法(routing algorithm),即决定数据包在网络拓扑中从起点到终点路径的算法。路由算…

算法训练day30回溯算法总结

文章链接 代码随想录 (programmercarl.com) 回溯是递归的副产品,只要有递归就会有回溯,所以回溯法也经常和二叉树遍历,深度优先搜索混在一起,因为这两种方式都是用了递归。 回溯法就是暴力搜索,并不是什么高效的算法…

第十九篇【传奇开心果系列】Python的OpenCV库技术点案例示例:文字识别与OCR

传奇开心果短博文系列 系列短博文目录Python的OpenCV库技术点案例示例系列 短博文目录前言一、OpenCV 文字识别介绍二、图像预处理示例代码三、文字区域检测示例代码四、文字识别示例代码五、文字后处理示例代码六、OpenCV结合Tesseract OCR库实现文字识别示例代码七、OpenCV结…

算法沉淀——栈(leetcode真题剖析)

算法沉淀——栈 01.删除字符串中的所有相邻重复项02.比较含退格的字符串03.基本计算器 II04.字符串解码05.验证栈序列 栈(Stack)是一种基于先进后出(Last In, First Out,LIFO)原则的数据结构。栈具有两个主要的操作&am…