体系结构29_多处理机的互联网络

news2025/7/11 1:58:57

       互连网络是将集中式系统或分布式系统中的结点连接起来所构成的网络,这些结点可能是处理器、存储模块或者其它设备,它们通过互连网络进行信息交换。在拓扑上,互连网络为输入和输出两组结点之间提供一组互连或映象(mapping)

       互连网络的拓扑可以采用静态或动态的结构。静态网络由点和点直接相连而成,这种连接方式在程序执行过程中不会改变。

       动态网络是用开关通道实现的,它可动态地改变结构,使其与用户程序中通信要求匹配

       静态网络常用来实现一个系统中子系统或计算结点之间固定连接。动态网络常用于集中式共享存储器多处理系统中。

 定义几个常用于估算网络复杂性、通信效率和价格地参数

  网络可用图来表示。这种图由用有向边或无向边连接的有限个结点构成。其结点数称为网络规模(network size)

  结点度:与结点相连接的边的数目称为结点度(node degree)。这里的边表示链路或通道。链路或通道是指网络中连接两个结点并传送数字信号的通路。在单向通道的情况下,进入结点的通道数叫做入读(in degree),而从结点出来的通道数叫做出度(out degree),结点度是这两者之和。结点度应尽可能地小并保持恒定。

网络直径:网络中任意两个结点间最短路径长度的最大值称为网络直径。网络直径应当尽可能地小

等分宽度:在将某一网络切成相等两半的各种切法中,沿切口的最小通道边数称为通道等分宽度b(channel bisection width)

结点间的线长(或通道长度):它会影响信号的延迟、时钟扭斜和对功率的需要。

对于一个网络,如果从其中的任何一个结点看,拓扑结构都是一样的话,则称此网络为对称网络。对称网络较易实现,编址程序也较容易。

路由(routing):在网络通信中对路径的选择与指定。通常见到的处理单元之间的数据路由功能有移数、循环、置换(一对一)、广播(一对全体)、选播(多对多)、个人通信(一对多)、混洗、交换等。

为了反映不同互连网络的连接特性,每一种互连网络可用一组互连函数来定义。如果把互连网络的N个入端和N个出端各自用整数0,1,...,N-1代表,则互连函数表示互连的出端号和入端号的一一对应关系

令互连函数为f,则它的作用是:对于所有的0<=j<=N-1同时存在入端j连至出端f(j)的对应关系

   

为了对n=2的k次方个对象均匀混洗,我们可用k位二进制数x = (Xk-1,...,X1,X0)来表示定义域中的每个对象。均匀混洗将x映射到f(x),得到f(x) = (Xk-2,....,X1,X0,Xk-1)。这是将x循环左移1位得到。

5.广播和选播

广播是一种一对全体的映射,选播是一个子集到另一子集(多对多)的映射。消息传递型多处理机一般有广播信息机构,广播常常作为多处理机中的全局操作来处理。

6.消息传递机制

消息由任意长度固定的包构成

*存储转发:每个结点有一个包缓冲古,包先进入缓冲区,当所需要的输出通道和接收结点的包缓冲区可用时,就将它传输给下一结点。

*虫蚀(wormhole)把包进一步分成小片,硬件路由器有片缓冲区,同一个包中所有片象不可分离的同伴一样,以流水方式顺序传送。只有片头包含目标地址,所有片必须跟随片头

*维序  按多维网络维序的特定顺序来选择后续通道。由于唯一性,可能产生死锁

*虚拟自适应  将一个物理通道分成几个虚拟的通道,根据后续各虚拟通道的忙闲情况自适应选择后续通道。

通过上面的讨论,我们可概括出影响互连网络性能的因素为:

(1)功能特性-即网络如何支持路由、中断处理、同步、请求/消息组合和一致性

(2)网络时延-即单位消息通过网络传送时最坏情况下的时间延迟

(3)带宽-即通过网络的最大数据传输率,用M字节/秒表示

(4)硬件复杂性-即诸如导线、开关、连接器、仲裁和接口逻辑等的造价

(5)可扩展性-即在增加机器资源使性能可缩放的情况下,网络具备模块化可缩放的能力

静态连接网络

静态网络使用直接链路,它一旦构成后就固定不变。这种网络比较适合于构造通信模式可预测或可用静态连接实现的计算机系统。

线性阵列(linear array)这是一种一维的线性网络,其中N个结点用N-1个链路连成一行。内部结点度为2,端结点度为1.直径为N-1,N较大时,直径就比较长。等分宽度b = 1。线性阵列是连接最简单的拓扑结构。这种结构不对称,当N很大时,通信效率很低。

在N很小的情况下,实现线性阵列是相当经济和合理的。由于直径随N线性增大,因此当N比较大时,就不应使用这种方案了。

线性阵列与总线的区别是很大的,总线是通过切换与其连接的很多结点来实现时分特性的,而线性阵列则允许不同的源节点和目的结点对并行地使用其不同的部分(通道)

环和带弦环(chordal ring)环是用一条附加链路将线性阵列的两个端点连接起来而构成的。环可以单向工作,也可以双向工作。它是对称的,结点度是常数2.双向环的直径为N/2,单向环的直径是N。

如果将结点度由2提高到3或4,即可得到两种带弦环。增加的链路愈多,结点度愈高,网络直径就愈小。16个结点的环网络直径为3.全连接网络(completely connected network)的结点度为15,直径为1

胖树形    1985年Leiserson提出将计算机科学中所用的一般树结构修改为胖树形(fat tree)。胖树的通道宽度从叶节点往根节点上行方向逐渐增宽,它更象真实的树,愈靠近树根的枝叉愈粗。

使用传统二叉树的主要问题之一就是通向根节点的瓶颈问题,这是因为根部的交通最忙。胖树的提出使该问题得形    到了缓解。

网格形和环网型    N= n的k次方个结点的k维网络的内部结点度为2k,网络直径为k(n-1).纯网络形不是对称的。边结点和角结点的结点度分别为3或2.n为每维上的结点数。

 二维网格两个结点之间的路径数为K = (X + Y)!(X!Y!),XY分别为两结点之间距离增量。对三维网格,两个结点之间的路径数为K = (X + Y+Z)!/(X!Y!Z!),XYZ分别为两结点之间距离增量

环形网可看做是直径更短的另一种网格。这种拓扑结构将环形和网格组合在一起,并能向高维扩展。环形网沿阵列每行和每列都有环形连接。一般说来,一个n*n 二元环网的结点度为4,直径为2*【n/2】

环网是一种对称的拓扑结构,所有附加的回绕连接可使其直径比网格结构减少二分之一。

超立方体   这是一种二元n - 立方体结构,它已在nCUBE和CM-2等系统中得到了实现。一般说来,一个n-立方体由N = 2的n次方个结点组成,它们分布在n 维上,每维有两个结点。

  4-立方体可通过将两个3-立方体的相应结点互连组成。一个n-立方体的结点度等于n,也就是网络的直径。实际上,结点度随维数线性地增加,所以很难设想超立方体是一种可扩展结构。

低维网络在负载不均匀情况下运行较好,因为它们有较多地资源共享。在高维网络中,连线常分配给指定地维,各维之间不能共享。例如,在二元n-立方体中,可能有的线已达到饱和,而物理上分配给其它维的相邻连线却都还空闲着。

网络直径的变化范围很大。但随着硬件路由技术的不断革新(如虫孔方式),路由已不是一个严重问题,因为任意两结点间的通信延迟在高度流水线操作下几乎是固定不变的。链路数会影响网络价格,等分宽度将影响网络的带宽。对称性会影响可扩展性和路由效率。

动态连接网络

为了达到多用或通用的目的,需要采用动态连接网络,它能根据程序要求实现所需的通信模式。它不用固定连接,而是沿着连接通路使用开关或仲裁器以提供动态连接特性。

按照价格和性能增加的顺序,动态连接网络的排队次序为总线系统、多级互连网络(MIN)和交叉开关网络

采用动态网络的多处理机的互连是在程序控制下实现的。定时、开关和控制是动态互连网络的三个主要操作特征

根据级间连结方式,单级网络也称循环网络,因为数据项在到达最后目的地之前可能在单级网络中循环多次。单级网络的成本比较低,但在建立某种连接时可能需要多次通过网络。交叉开关和多端口存储器结构都属于单级网络。

多级网络由一级以上的开关元件构成。这类网络可以把任一输入与任一输出相连。级间连接模式的选择取决于网络连接特性。不同级的连接模式可能相同也可能不同,这与所设计的网络的类型有关。Omege网、Filip网和Baseline网都是多级网络。

如果同时连接多个输入输出对时,可能会引起开关和通信链路使用上的冲突,这种多级网络称为阻塞网络。阻塞网络的实例有Omeage网、Baseline网、Banyan网和Delta网

如果多级网络通过重新安排连接方式可以建立所有可能的输入输出之间的连接,则称之为非阻塞网络。这类网络中,任何输入输出对之间总可以建立连接通路。Benes网络具有这种功能。

总线系统

总线系统实际上是一组导线和插座,用于处理与总线相连的处理器、存储模块和外围设备间的数据业务。总线只用于源(主部件)和目的(从部件)之间处理业务。在多个请求情况下,总线仲裁逻辑必须每次能将总线服务分配或重新分配给一个请求。

系统总线在处理机、I/O子系统、存储模块或辅助存储设备(磁盘、磁带机等)之间提供了一条公用通信通路。

交叉开关网络

在交叉开关网络中,每个输入端通过一个交叉点开关可以无阻塞地与一个空闲输出端相连。交叉开关网络是单级网络,它由交叉点的一元开关构成。交叉网络主要用于中小型系统。

从存储器读出的数据一旦可用时,该数据通过同一交叉开关回送给请求的处理器。通常,这类交叉开关网络需要使用n*m个交叉点开关。正方形交叉开关网络(n = m)可以无阻塞地实现n!种置换

在交叉开关网络的每一行中可以同时接通多个交叉点开关,所以交叉点开关网络中n对处理器可以同时传送数据。

交叉开关网络的带宽和互连特性最好。

交叉开关网络每个周期可以实现n个数据传输,与每个总线周期只传一个数据相比,它的频宽最高。交叉开关网络对小型多处理机系统来说性能价格比较高。但单级交叉开关网络一旦构成后将不能扩充

多端口存储器

许多大型的多处理机系统都采用多端口存储器结构。其主要思想是将所有交叉点仲裁逻辑和跟每个存储器模块有关的开关功能移到存储器控制器中

由于增加了访问端口和相应的逻辑线路,存储器模块的成本就变得较为昂贵。每个存储器模块的n个输入端口与n个开关相连,一次只能接收n台处理器中的一个请求。

多端口存储器结构是一个折衷方案,它介于低成本低性能的总线系统和高成本高带宽的交叉开关系统之间。总线被所有处理器和与之相连的设备模块分时地共享。多端口存储器则负责分解各台处理器的请求冲突。

当m和n值很大时,这种多端口存储器结构将变得十分昂贵。典型的多处理机应用配置是四台处理机和16个存储器模块。

多级网络

多级网络可用于构造大型多处理机系统,每一级都用了多个a * b 开关,相邻级开关之间都有固定的级间连接。为了在输入和输出之间建立所需的连接,可用动态设置开关的状态来实现。

各种多级网络的区别就在于所用开关模块和级间连接模式的不同。一个a * b 开关模块有a个输入和b 个输出。一个二元开关与a = b = 2的2 * 2开关模块相对应。在理论上a与b 不一定要相等,但实际上a 和b经常选为2的整数幂,即 a = b =2的k次方,k>=1.最简单的开关模块是2 * 2开关。常用的级间连接模式包括混洗、交叉、立方体连接等

构成动态网络的总线、多级网络、交叉开关中,总线的造价最低,但其缺点是每台处理器可用的带宽较窄。总线所存在的另一个问题是容易产生故障。有些容错系统,如用于事务处理的Tandem多处理机等,常采用双总线以防止系统产生简单的故障。

由于交叉开关的硬件复杂性以n的2次方上升,所以其造价最为昂贵。但是,交叉开关的带宽和路由性能最好。如果网络的规模较小,它是一种理想的选择。

多级网络则是两个极端之间的折衷。它的主要优点在于采用模块结构,因而可扩展性较好。然而,其时延随网络的级数而上升。另外,由于增加了连线和开关复杂性,价格也是一种限制因素。

同步

基本硬件原语

1.原子交换(Atomic Exchange)

     它的功能是将一个存储单元的值和一个寄存器的值进行交换。

2.测试并置(test_and_set)

     先测试一个值,如果符合条件则修改其值。

3.读取并加一(fetch_and_increment)

     返回存储单元的值并自动增加该值

4.指令对LL&SC

     从第二条指令的返回值可以判断该指令对的执行是否成功

前三个都需要进行两次存储器操作

必须保持原子性

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

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

相关文章

通力科技通过注册:9个月营收3.4亿 项献忠家族色彩浓厚

雷递网 雷建平 11月25日浙江通力传动科技股份有限公司&#xff08;简称&#xff1a;“通力科技”&#xff09;日前通过注册&#xff0c;准备在深交所创业板上市。通力传动计划募资3.45亿元。其中&#xff0c;2亿元用于新增年产5万台工业减速机智能工厂技改项目&#xff0c;5041…

成为一名厉害的程序员,需要哪些必备知识

程序员在入职时&#xff0c;大部分互联网公司都会进行基础知识的考察&#xff0c;基础知识的重要性不言而喻。计算机基础知识对程序员来说很重要。计算机核心基础知识方面&#xff0c;算法、数据结构、组成原理、网络等涉及到的基础知识一定要彻底掌握&#xff0c;牢牢记住并融…

[附源码]java毕业设计智能视频推荐网站

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

3.90 OrCAD软件Annote命令下的每个选项的含义是什么?OrCAD软件Title Block中的原理图页数如何进行增加?

笔者电子信息专业硕士毕业&#xff0c;获得过多次电子设计大赛、大学生智能车、数学建模国奖&#xff0c;现就职于南京某半导体芯片公司&#xff0c;从事硬件研发&#xff0c;电路设计研究。对于学电子的小伙伴&#xff0c;深知入门的不易&#xff0c;特开次博客交流分享经验&a…

【自学前端】HTML篇已完结(附14节视频)

I have a dream,Front end development will not require additional training. 目录 内容预览 通过这里找视频&#xff1a; 1、内容仍然有所欠缺 2、目前以0基础再实战为主 3、目前未包含面试题 4、下一步的计划 5、希望收到反馈 内容预览 △ 目前纯HTML篇课程已经完成…

【项目实战:核酸检测平台】第三章 利其器

第三章 利其器 摘要:俗话说的好工欲善其事&#xff0c;必先利其器&#xff0c;框架搭的好&#xff0c;开发起来很舒服&#xff0c;搭的不好&#xff0c;开发起来就很痛苦。 一个程序员只会写业务代码&#xff0c;最多算是个码农&#xff0c;搭框架的本事、遇到难题的解决能力…

Docker学习(5)—— 在Docker上安装软件

一. 安装Tomcat 1. 下载最新版 (1) 拉取Tomcat镜像 docker pull tomcat (2) 查看是否拉取到Tomcat镜像 docker images tomcat (3) 创建Tomcat容器并启动 docker run -d -p 8080:8080 tomcat 这时访问tomcat首页报404错误&#xff0c;有以下两个原因&#xff1a;①防火…

[计算机毕业设计]大数据的B站数据分析与可视化

目录 前言 课题背景和意义 实现技术思路 数据爬取 数据可视化 实现效果图样例 前言 &#x1f4c5;大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研…

为什么 NGINX 的 reload 不是热加载?

作者&#xff1a;刘维 这段时间在 Reddit 看到一个讨论&#xff0c;为什么 NGINX 不支持热加载&#xff1f;乍看之下很反常识&#xff0c;作为世界第一大 Web 服务器&#xff0c;不支持热加载&#xff1f;难道大家都在使用的 nginx -s reload 命令都用错了&#xff1f; 带着这个…

入职阿里必会199道SpringCloud面试题,你能掌握多少?

前言 Spring Cloud 自 2016 年 1 月发布第一个 Angel.SR5 版本&#xff0c;到目前 2020 年 3 月发布 Hoxton.SR3 版本&#xff0c;已经历经了 4 年时间。这 4 年时间里&#xff0c;Spring Cloud 一共发布了 46 个版本&#xff0c;支持的组件数从 5 个增加到 21 个。 Spring C…

linux用户及用户组的分类、管理

一、分类 1.用户和用户组分类 &#xff08;1&#xff09;用户分类 超级用户&#xff08;root&#xff09;——它具有一切权限&#xff0c;只有进行系统维护&#xff08;例&#xff1a;建立用户&#xff09;或其他必要情形下才用超级用户登录&#xff0c;以避免系统出现安全问…

Qt程序打包成一个单独exe的方法

目录 Qt程序打包成一个单独exe的方法 程序发布 程序打包 问题 Qt程序打包成一个单独exe的方法 Qt程序发布及打包&#xff0c;同时修改可执行文件的图标。本教程使用Qt自带的 windeployqt 工具外加Enigma Virtual Box打包工具。首先需要知道的是&#xff0c;Qt程序发布需要的…

【MM小贴士】物料主数据的中止与后继(3)

话不多说&#xff0c;直接上3&#xff0c; 前两篇的blog可以参考&#xff1a; 【MM小贴士】物料主数据的中止与后继(1)_竹大的博客-CSDN博客https://yanshoushuai.blog.csdn.net/article/details/125660495【MM小贴士】物料主数据的中止与后继(2)_竹大的博客-CSDN博客https:/…

QT 事件处理

03 Qt中是事件处理_哔哩哔哩_bilibili 1&#xff0c;新加mylabel文件&#xff0c;并 修改mylabe的基类QLabel 2 label提升为类 3&#xff0c;鼠标事件 myLabel.h #ifndef MYLABEL_H #define MYLABEL_H#include <QLabel>class myLabel : public QLabel {Q_OBJECT public…

TCP三次握手四次挥手简介

TCP三次握手四次挥手简介 图解三次握手、四次挥手 建立连接&#xff1a;三次握手 关闭连接&#xff1a;四次挥手 上图传递过程中出现的几个字符&#xff08;SYN,ACK,FIN,seq,ack&#xff09;各代表什么意思 SYN&#xff0c;ACK&#xff0c;FIN存放在TCP的标志位(标志位一共有…

【设计模式】设计模式的七大原则

目录标题4. 设计模式的七大原则4.1 开闭原则&#xff08;对扩展开发&#xff0c;对修改关闭&#xff1a;需要接口和抽象类来实现&#xff09;Demo: 搜狗输入法 的皮肤设计4.2 里氏替换原则&#xff08;任何基类可以出现的地方&#xff0c;子类一定可以出现&#xff1a;尽量不要…

[Redis]-四种部署方式

森格 | 2022年11月 本文是对Redis部署方式的学习&#xff0c;主要学习基本原理&#xff0c;以及几种方式的优缺点。 一、部署方式概况 对于Redis的安装部署主要可以分为单机版、主从同步、Sentinel哨兵、Cluster集群部署四种方式&#xff0c;下面一起看下几种方式的优缺点。 二…

Python闭包

目录 变量作用域规则(LEGB规则) 闭包 闭包的用途 &#xff08;一&#xff09;读取函数内部的变量 &#xff08;二&#xff09;让函数内部的局部变量始终保持在内存中 &#xff08;三&#xff09;总结 变量作用域规则(LEGB规则) 在下面的实例中,我们定义一个测试函数,它读取…

112. 路径总和

文章目录2.示例3.答案①递归②BFS③DFS给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径&#xff0c;这条路径上所有节点值相加等于目标和 targetSum 。如果存在&#xff0c;返回 true &#xff1b;否则&#xff0c;返…

智慧电力解决方案-最新全套文件

智慧电力解决方案-最新全套文件一、建设背景二、建设思路三、建设方案四、获取 - 智慧电力全套最新解决方案合集一、建设背景 电力能源是支撑整个社会运行的最重要基础体系之一。伴随着经济和社会生活的发展&#xff0c;人们对电力需求不断增长&#xff0c;同时随着能源需求日…