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

news/2024/5/16 17:03:59/文章来源:https://blog.csdn.net/weixin_42596333/article/details/104310780

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

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

相关文章

【Linux】进程创建/终止/等待/替换

目录 一、子进程的创建 1、fork函数的概念 2、如何理解fork拥有两个返回值 3、fork调用失败的场景 二、进程的终止 1、main函数返回值 1.1main函数的返回值的意义 1.2将错误码转化为错误信息 1.3查看进程的退出码 2、进程退出的情况 1、进程的正常退出与异常退出 2…

Nodejs中包的介绍及npm安装依赖包的多种方法

文章目录1 包的介绍1.1 什么是包1.2 包的来源1.3 为什么需要包1.4 从哪里下载包1.5 如何下载包2 npm2.1 npm安装依赖包2.2 装包后多了哪些文件2.3 安装指定版本的包1 包的介绍 1.1 什么是包 Nodejs中的第三方模块又叫做包 就像电脑和计算机指的是相同的东西&#xff0c;第三…

推特自动发帖,全天占据核心流量

利用热门趋势和Hashtags标签 Twitter有一个热门趋势&#xff0c;跟微博热搜是差不多的&#xff0c;卖家可以多关注一下热门趋势&#xff0c;看看有没有和产品相关的内容。在帖子中加入趋势性和热门的标签&#xff0c;是一种非常好的营销方式。 这一方面能够增加推文的热度&am…

android源码-ContentProvider实现原理分析

前言&#xff1a; 最初的目的是想研究下ContentProvider产生ANR原因的&#xff0c;但是如果要讲ANR的原因&#xff0c;那么必须要了解ContentProvider的完整实现原理&#xff0c;所以本篇就先讲一下ContentProvider的实现原理&#xff0c;下一篇再去讲ANR的原因。 本篇主要会讲…

Baklib知识库|为什么知识共享工具对减少内部知识缺口至关重要

你的企业是否存在知识缺口&#xff1f; 知识缺口——没有对关键知识进行研究和记录&#xff0c;以有效地传播信息&#xff0c;并教育企业内外的用户——可能是寻求生产率最大化并最终实现利润增长的公司的一个关键缺陷。知识&#xff08;或数据、关键信息等&#xff09;是你的…

网络通信基本原理

通讯的必要条件 主机之间需要有传输介质。光纤、蓝牙、wify主机上必须有网卡设备。把二进制信息转为高低电压的过程就是数据的调制过程。把电信号转为二进制信息的过程为解调制。主机之间需要协商网络速率。 网路的通讯方式 日常生活中&#xff0c;我们通讯的方式不可能只有…

现代密码学导论-14-基于伪随机发生器的EAV安全

目录 3.3.3 基于伪随机发生器的EAV安全 用伪随机发生器进行加密的图示 CONSTRUCTION 3.17 一种基于伪随机发生器的私钥加密方案 THEOREM 3.16 基于伪随机发生器的私钥加密方案的EAV安全 THEOREM 3.16 的证明 最后来理一下 3.3.3 基于伪随机发生器的EAV安全 用伪随机发生…

sql server如何卸载干净?来看这里

一、如何卸载干净 1.关闭服务 快捷键&#xff1a;windows R&#xff0c;在命令行输入&#xff1a; services.msc&#xff0c;把有关SQL都关闭 &#xff0c;下图所示&#xff1a; 2.到控制面板&#xff0c;卸载 sql server 3.删除磁盘里的文件 我的在c盘里&#xff0c;看各位…

Linux Command htpasswd 创建密码文件

文章目录Linux Command htpasswd 创建密码文件1. 简介2. 安装3. 语法4. 选项5. 示例6. 其他Linux Command htpasswd 创建密码文件 1. 简介 htpasswd是Apache的Web服务器内置的工具,用于创建和更新储存用户名和用户基本认证的密码文件。 2. 安装 centos 7、 redhat&#xff…

详解设计模式:简单工厂模式

简单工厂模式&#xff08;Smiple Factory Pattern&#xff09;&#xff1a;定义一个工厂类&#xff0c;他可以根据参数的不同返回不同类的实例&#xff0c;被创建的实例通常都具有共同的父类&#xff0c;简单工厂模式也被称为静态工厂模式。 &#xff5e; 本篇内容包括&#xf…

SpringBoot整合Mybatis方式2:使用注解方式整合Mybatis

SpringBoot整合Mybatis简介SpringBoot整合Mybatis方式2&#xff1a;使用注解方式整合Mybatis1.先用idea创建一个添加mybatis需要的相关依赖的工程。2.准备数据库和表3.创建表映射类4.创建mapper代理接口5.创建Service层和Service的实现层6.创建控制层&#xff08;也就是web层&a…

五种方法帮你解决电脑内存占用大的问题

有用户反映自己的电脑什么都没开&#xff0c;但是运行内存显示占用90%以上&#xff0c;这是什么情况&#xff1f;运行内存占用大&#xff0c;直接影响了用户的使用体验&#xff0c;下面小编就给大家分享五个解决电脑内存占用大的办法吧。 方法一&#xff1a; 1、右键【我的电脑…

Spring Boot Admin2 自定义异常监控

其他相关文章&#xff1a; Spring Boot Admin 参考指南SpringBoot Admin服务离线、不显示健康信息的问题Spring Boot Admin2 EnableAdminServer的加载Spring Boot Admin2 AdminServerAutoConfiguration详解Spring Boot Admin2 实例状态监控详解Spring Boot Admin2 自定义JVM监控…

GEO振弦式钢筋计的组装

&#xff08;1&#xff09;按钢筋直径选配相应的钢筋计&#xff0c;如果规格不符合&#xff0c;应选择尽量接近于结构钢筋直径 的钢筋计&#xff0c;例如&#xff1a;钢筋直径为 35mm&#xff0c;可使用 NZR-36 或 NZR-32 的钢筋计&#xff0c;此时仪器的最小 读数应进行修…

MapReduce

4.1 MapReduce概述 2003年和2004年&#xff0c;Google公司在国际会议上分别发表了两篇关于Google分布式文件系统和MapReduce的论文&#xff0c;公布了Google的GFS和MapReduce的基本原理和主要设计思想。 4.1.1 MapReduce定义 MapReduce是一个分布式运算程序的编程框架&#…

【无百度智能云与实体经济“双向奔赴”: 一场1+1>2的双赢 标题】

实体经济&#xff0c;已经成为检验科技企业潜力的试金石。 在最近的财报季中&#xff0c;各家大厂的财报里“实体经济”都是关键字眼&#xff0c;已经成为各家心照不宣的共同目的地。 当然&#xff0c;条条大路通罗马。每一家的战略思路和打法都不一样。11月22日&#xff0c;…

DOTA-PEG-麦芽糖 maltose-DOTA 麦芽糖-四氮杂环十二烷四乙酸

DOTA-PEG-麦芽糖 maltose-DOTA 麦芽糖-四氮杂环十二烷四乙酸 PEG接枝修饰麦芽糖&#xff0c;麦芽糖-聚乙二醇-四氮杂环十二烷四乙酸&#xff0c;DOTA-PEG-麦芽糖 中文名称&#xff1a;麦芽糖-四氮杂环十二烷四乙酸 英文名称&#xff1a;maltose-DOTA 别称&#xff1a;DOTA修…

HCIA 访问控制列表ACL

一、前言 ACL又称访问控制列表&#xff0c;其实这个东西在很多地方都有用&#xff0c;可能名字不太一样但原理和功能都差不太多&#xff0c;比如服务器、防火墙&#xff0c;都有类似的东西&#xff0c;功能其实也就是“过滤”掉不想收到的数据包。为什么不想收到一些数据包呢&…

The Seven Tools of Causal Inference with Reflections on Machine Learning 文章解读

目录 THE THREE LAYER CAUSAL HIERARCHY. 4 THE SEVEN TOOLS OF CAUSAL INFERENCE (OR WHAT YOU CAN DO WITH A CAUSAL MODEL THAT YOU COULD NOT DO WITHOUT?) 7 Tool 1: Encoding Causal Assumptions – Transparency and Testability. 10 Tool 2: Do-calculus and the …

深入浅出基于HLS流媒体协议视频加密的解决方案

一套简单的基于HLS流媒体协议&#xff0c;使用video.js NodeJS FFmpeg等相关技术实现的m3u8tsaes128视频加密及播放的解决方案示例。 项目简介 起初是为了将工作中已有的基于Flash的视频播放器替换为不依赖Flash的HTML5视频播放器&#xff0c;主要使用了现有的video.js开源播…