并行与分布式 第7章 体系结构 下

news2024/11/15 4:47:00

文章目录

  • 并行与分布式 第7章 体系结构 下
    • 7.3 互连结构
      • 7.3.1 网络拓扑的基本概念
      • 7.3.2 互连网络分类
      • 7.3.3 典型静态网络
      • 7.3.4典型动态互连网络
    • 7.4 性能评测
      • 7.4.1 工作负载
      • 7.4.2 峰值速度
      • 7.4.3 并行执行时间
      • 7.4.4 性能价格比
      • 7.4.5多处理器性能定律

并行与分布式 第7章 体系结构 下

7.3 互连结构

7.3.1 网络拓扑的基本概念

互连结构是由开关元件按照一定拓扑结构连接并按照一定控制方式工作而形成的结构,用以实现计算机系统内多个功能部件间的相互连接。

三要素

• 互连拓扑:描述连接通路的拓扑结构
• 开关元件:描述连接通路的开关状态
• 控制方式:描述连接通路的操作规则

分类

• 静态互连(一维,环网,带弦环,树形,网格型,超立方)
• 动态互连(总线,交叉开关,多级互连)

协议
• PCIE,InfiniBand,以太网协议,FDDI光纤网络

• 网络规模(Size)网络中节点的个数
• 链路数(Link)网络中所有节点间链路的个数;
• 链路冗余度(Link Redundancy)网络中连接两个特定节点的所有链路个数;
• 节点度(Node Degree)射入或射出每个节点的边数称为该节点的度,度=射入边数+射出边数;
• 直径(Diameter)网络中任何两个节点之间的最长距离,及最大路径长度;
• 对剖宽度(Bisection Width)对分网络各半所必须移去的最少边数;
• 对称性(Symmetric)从任一节点视角看整个网络是否都保持一 致;

7.3.2 互连网络分类

• 根据互连网络中连接通路是否能够被共享,可以分为静态互连网络和动态互连网络。
• 静态互连网络,网络节点固定地与开关单元相连,以建立节点与节点之间的被动连接通路。
• 动态互连网络,网络节点只与位于互连网络边界上的开关单元相连,开关单元之间可以按照应用需求动态的改变连接组态,以建立节点与节点之间的主动可控连接通路

静态互连网络的设计要求

• 网络中每个节点的度要小,最好各个节点的度都相等
且与网络规模无关;
• 网络直径要小,随节点数目增多而缓慢增加;
• 尽量对称,信息流量分布较为均匀;
• 对节点合理编址,能实现高效路径算法;
• 有较高路径冗余度,满足鲁棒性要求;
• 扩展代价低,且扩展后仍能保持原有互连拓扑特性

7.3.3 典型静态网络

一维线性阵列
• N个节点排列成1xN一维阵列,每个节点只与左右近邻
节点相连,故也称为二近邻连接
• 节点度为2,网络直径为N-1,对剖度为1

一维环形阵列
• 用一条附加链路将线性阵列的两个端点连接起来而构成的
• 首尾连接时构成环,环可以为单向或双向,其节点度为2,对剖宽度为2,
• 单向环直径为N,双向环直径为N/2;

带弦环
增加的链路愈多,结点度愈高,网络直径就愈小。
请添加图片描述

全连接带弦环
• 结点度: N-1
• 直径最短,为1

循环移数网络
• 通过在环上每个结点到所有与其距离为2的整数幂的结点之间都增加一条附加链而构成的。
• 网络规模N=2^n
• 如果|j-i|=2^r,r=0,1,2,…,n-1,则结点i与结点j连接。
• 结点度为d=2n-1,直径D=n/2。

树形连接
• 星形连接,N个节点的网络,如果尽量增大一个节点度使其变为N-1,则形成星形连接,此时网络直径为2;
• 二叉树连接,N个节点的网络,除了根节点和叶节点外,每个内节点只与其父节点和两个子节点相连,故也称为三近邻连接;此时,节点的度为3,对剖宽度为1,直径为2logN;
• 二叉胖树(Fat Tree),为解决二叉树连接中根节点的瓶颈效应,增加根节点附近的链路冗余度,距离根节点越近,链路冗余度越大。

请添加图片描述

多维网格

• N=n^k 个结点的k维网格
• 网络直径为k(n-1)
• 内部结点度为2k , • 边结点和角结点的结点度分别为3或2。

多维环形网格

• N=n^k 个结点的k维环形网格
• 内部结点度为2k ,
• 边结点和角结点的结点度分别为3或2

Illiac网孔
• kxk的二维网格,如果在垂直方向上采用带状环形连接,水平方向上采用跨行蛇形连接,称为Illiac网格
• 节点度为4
• 网络直径为(k-1),
• 对剖宽度为2k;

Torus网孔
• kxk的二维网格,如果在垂直方向上采用带状环形连接,水平方向上也采用带状环形连接,称为Torus网格
• 节点度为4,
• 网络直径为k,
• 对剖宽度为2k;

超立方体(CUBE)
• 一个2元n立方体结构,由N=2^n 个结点组成,它们分布在n维上,每维有2个节点,每个节点都是立方的顶点;
• 一个2元n立方的节点度为n,网络直径为n,对剖宽度为2^(n-1);

超立方环
• 如果将3-立方的每个顶点代之以一个环,则构成了3-立方环;
• 超立方体和超立方环缺乏可扩放性和应用价值,但是由于其拓扑数学特性,具备学术价值。

7.3.4典型动态互连网络

总线(Bus)是连接计算机系统各个部件的一组导线和插座,用于主设备和从设备之间的数据传输,公共总线以分时工作为基础,因此每条总线要配一个总线控制器才能使用。

总线设计要考虑的问题包含:
总线仲裁、中断处理、协议转换、路障同步、缓存一致性、总线桥接、层次扩展等

总线层次
• 局部总线,印刷电路板上实现的总线
• 处理器总线,CPU板级上的总线
• 存储器总线,存储器板级上的总线
• 数据总线,I/O板级和通信板级的总线
• 系统总线,底板上(主板上)为所有插入板间通信提供的通路

请添加图片描述

交叉开关

交叉开关(CrossBar Switcher),通过一个单级交叉开关阵列实现的交互网络,每个开关上的状态可由程序动态的控制,可在源目对之间动态提供一条专用连接通路。
• 当端口数为N时,其开关量(复杂度)为N^2
• 在并行处理中,交叉开关的使用通常有两种方式:用于实现处理器间的1v1通信,用于实现处理器和多体交叉存储体间的1vN通信

请添加图片描述

多级互连网络
多级互连网络(Multistage Interconnection Network,MIN)为了构筑大型开关网络,不能无限制增大单个交叉开关,而是可以将多级交叉开关级联起来,构成交叉开关网络来实现输入到输出之间的动态切换。

请添加图片描述

互连规模
• 总线/交叉开关,实现节点内部印刷电路板上的元件间的连接, 距离最短,带宽最高,如SCSI协议;
• SAN,System Area Network,系统网,将短距离(3-25m内的 节点连接起来形成紧密耦合单一系统,带宽较高InfiniBand;
• LAN,Local Area Network,局域网,在一个建筑物内或一个单位的地理区域内的节点连接起来形成松散耦合多机系统,网距25-500m,如千兆以太网;
• MAN,Metropolitan Area Network,城域网,覆盖整个城市的计算机网络,网距<=25km,如FDDI光纤网络;
• WAN,Wide Area Network,广域网,实现城市-城市间互联的国家级网络,通常是逻辑链路而非物理链路,如中国教育网。

互连协议
PCI总线标准协议、InfiniBand、以太网、FDDI光纤网络、VPN、SDN

7.4 性能评测

请添加图片描述

7.4.1 工作负载

工作负载:一段时间内正在使用和等待使用CPU的平均任务数。CPU使用率高,并不意味着负载就一定大。举例:

• 有一个程序需要一直使用CPU的运算功能,那么此时CPU的使用率可能达到100%,但是CPU的工作负载则是趋近于"1",因为CPU仅负责一个工作。
• 如果同时执行这样的程序两个呢?CPU的使用率还是100%,但是工作负载则变成2了。
• 当CPU的工作负载越大,代表CPU必须要在不同的工作之间进行频繁的上下文切换

7.4.2 峰值速度

• 衡量计算机系统性能的一个重要指标就是计算峰值或者浮点计算峰值,它是指计算机每秒钟能完成的浮点计算最大次数。包括理论浮点峰值和实测浮点峰值。理论浮点峰值是该计算机理论上能达到的每秒钟能完成浮点计算最大次数,它主要是由CPU的主频决定的。
• 理论浮点峰值=CPU主频×CPU每个时钟周期执行浮点运算的次数×系统中CPU数
• CPU每个时钟周期执行浮点运算的次数是由处理器中浮点运算单元的个数及每个浮点运算单元在每个时钟周期能处理几条浮点运算来决定的。

7.4.3 并行执行时间

• T n = Tcomput + Tparo+ Tcomm

  • Tcomput :计算时间,
  • Tparo 并行开销
    • 进程管理时间:进程生成、进程结束、进程切换
    • 组操作时间:进程组生成、进程组消亡
    • 进程查询时间:查询进程标识和等级、查询进程组的标识和大小
  • Tcomm通信时间,
    • 同步时间:路障与事件、锁与临界区
    • 通信时间:点到点消息传递、共享变量读写
    • 聚合操作时间:规约操作、前缀运算

存储器性能
请添加图片描述

层次化存储结构,每一层都有三个参数表征
• 容量C:存储字节总量,B(字节)
• 延迟D:读取一个字所需的全部时间,s(秒)
• 带宽B:不同层次的存储器件间传输数据的速度,Bps(Bytes Per Second)

通信开销:测量法(ping-pong scheme)
• K个节点,用M[KxK]={Mij,i=1…K,j=1.

请添加图片描述

通信开销(2)解析法

  • 发送一个长度为m个Byte的通信开销T(m)=T0+m/ R∞
    • R∞为渐近带宽,单位MBps.
  • T0为通信延迟,又称为启动时间,T0时间内都是在打通数据通路,第一个Byte还没有到达,T0时间后每隔周期时间有一个Byte到达。

通信开销(3)整体通信开销的测量

请添加图片描述

7.4.4 性能价格比

• 价格=原料成本+直接成本+毛利+折扣
• 机器的性能价格比(Performance/Cost Ratio):系指用单位代价(通
常以百万美元表示)所获取的性能(通常以MIPS或MFLOPS表示)
• 高性能价格比意味着成本是有效的,成本的有效性可用利用率来衡
量。机器的利用率(Utilization):可达到的速度与峰值速度之比。
• 性价比决定技术选型:超算 v.s. 工作站集群

7.4.5多处理器性能定律

多处理器系统的加速比:对于一个给定的应用,并行算法(或并行程序)的执行速度相对于串行算法(或串行程序)的执行速度加快了多少倍。
不同条件下使用不同的加速比定律
• Amdahl定律:当计算负载固定时适用
• Gustafson定律(1988):当问题具备可扩放性时适用
• Sun&Ni定律:当存储器受限时适用

参数的约定
• P并行系统中处理器数;
• W问题规模,计算负载总量;
• Ws应用程序中的可串行分量;
• Wp应用程序中的可并行分量;
• f可串行分量的比例;1-f可并行分量的比例;
• Ts串行执行时间;Tp并行执行时间;
• S加速比,E效率

Amdahl定律

• 出发点:在实时性要求很高的应用类型中,计算负载固定不变,将这些计算负载分布在多个处理器上,增加处理器可以加快执行速度。
• 阿姆达尔定律侧重于减少给定的固定大小问题的时间。 阿姆达尔定律指出,问题(算法)的顺序部分限制了随着系统资源的增加可以实现的总加速。
请添加图片描述

Gustafson定律

•出发点:在对精度要求很高的应用类型中,为了提高精度必须加大计算量,相应的须增多处理器的个数才能维持计算时间不变。
•对于这类应用,通常是先在小规模计算资源上运行粗粒度处理作为调试测试,然后在大规模计算资源上运行细粒度作为正式运行。

在这里插入图片描述

Sun&Ni定律
出发点:Amdahl定律和Gustafson定律各代表两种极端情况, 为了将两者统一实现一般化(generalization),Xian-He Sun (孙贤和,美国伊利诺伊理工学院计算机科学系教授)和Lionel Ni(倪明选)于1993年提出了Sun&Ni定律。
• Amdahl定律和Gustafson定律都没有对处理器个数和存储容量做任何限制,而实际上在多个节点组成的并行系统中, 可求解问题的规模是受到存储容量限制的。
• 基本思想是,只要存储空间许可,应尽量增大问题规模以 产生更好和更精确的解(此时可能使得执行时间略有增 加),目标是更大的加速比、更高的求解精度、更好的资 源利用率

参数的约定
• P个节点的并行系统,每个节点的存储容量为M,则全部存储容量为pM。
• 问题规模从一个节点扩大到p个节点,对存储的需求增加p倍,并行工作负载计算量增大G§倍,则扩大前W=fW+(1-f)W,扩大后W=fW+(1-f)W

请添加图片描述

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

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

相关文章

Linux免密登录——A登录B密钥设置(SSH SCP)

密钥登录 密钥登录比帐号密码方式更安全、更方便&#xff0c;并提供了更多的自动化和批处理选项。 安全性&#xff1a;使用非对称加密算法&#xff0c;公钥存在服务器&#xff0c;私钥存在本地计算机&#xff0c;私钥不在网络传输&#xff0c;降低被黑客截获风险。强密码&#…

2023年亚太杯数学建模思路 - 案例:最短时间生产计划安排

文章目录 0 赛题思路1 模型描述2 实例2.1 问题描述2.2 数学模型2.2.1 模型流程2.2.2 符号约定2.2.3 求解模型 2.3 相关代码2.4 模型求解结果 建模资料 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 最短时…

Pyside6/PyQt6的QTreeWidget如何添加多级子项,如何实现选中父项,子项也全部选中功能,源码示例

文章目录 📖 介绍 📖🏡 环境 🏡📒 使用方法 📒📝 数据📝 源码📖 介绍 📖 在UI开发中经常会需要展示/让用户多层级选择,这篇文章记录了一个QTreeWidget如何添加多级子项,如何实现选中父项,子项也全部选中/取消选中功能的源码示例,大家可以举一反三实现自…

私有化敏感词检测API服务wordscheck

之前有网友在找敏感词检测的应用&#xff0c;这个应该能满足他的需求&#xff1b; 什么是 wordscheck &#xff1f; wordscheck 是敏感词检测 API&#xff0c;提供文本识别、智能鉴黄、涉政检测、谩骂等等敏感词检测过滤服务。 简介 敏感词库从大量样本库整理出来&#xff0c;…

数据结构(超详细讲解!!)第二十四节 二叉树(上)

1.定义 二叉树&#xff08;Binary Tree&#xff09;是另一种树型结构。 二叉树的特点&#xff1a; 1&#xff09;每个结点至多只有两棵子树&#xff08;即二叉树中不存在度大于2的结点&#xff09;&#xff1b; 2&#xff09;二叉树的子树有左右之分&#xff0c;其次序…

关于AssetBundle禁用TypeTree之后的一些可序列化的问题

1&#xff09;关于AssetBundle禁用TypeTree之后的一些可序列化的问题 2&#xff09;启动Unity导入变动的资源时&#xff0c;Singleton ScriptableObject 加载不到 3&#xff09;Xcode15构建Unity 2022.3的Xcode工程&#xff0c;报错没有兼容的iPhone SDK 这是第361篇UWA技术知识…

EPSon打印机更换色带

1、打印机色带拆装视频 打印机色带更换 2、色带盒四周有多个卡扣&#xff0c;需从右到左依次轻微用力掰开&#xff0c;使盖板与盒体脱离&#xff0c;注意不要掰断卡扣。 3、如何将色带放入打印机色带盒&#xff1f; A、色带放入盒体时不可打乱打结&#xff0c;以免卡带&#x…

图解Spark Graphx基于connectedComponents函数实现连通图底层原理

原创/朱季谦 第一次写这么长的graphx源码解读&#xff0c;还是比较晦涩&#xff0c;有较多不足之处&#xff0c;争取改进。 一、连通图说明 连通图是指图中的任意两个顶点之间都存在路径相连而组成的一个子图。 用一个图来说明&#xff0c;例如&#xff0c;下面这个叫graph…

合理运用ChatGPT使用Python编写一个桌面便签应用

ChatGPT的编程能力也不差&#xff0c;本次我就一步一步提要求&#xff0c;让ChatGPT根据我的要求&#xff0c;编写出一个可用的&#xff0c;可打包运行的桌面便签。 代码 import sys from PyQt5.QtWidgets import QApplication, QMainWindow, QMenu, QAction, QSystemTrayIco…

通信原理板块——时分复用

微信公众号上线&#xff0c;搜索公众号小灰灰的FPGA,关注可获取相关源码&#xff0c;定期更新有关FPGA的项目以及开源项目源码&#xff0c;包括但不限于各类检测芯片驱动、低速接口驱动、高速接口驱动、数据信号处理、图像处理以及AXI总线等 1、基本概念 复用的目的是为了扩大…

宏集新闻 | 虹科传感器事业部正式更名为宏集科技

致一直支持“虹科传感器”的朋友们&#xff1a; 为进一步整合资源&#xff0c;给您带来更全面、更优质的服务&#xff0c;我们非常荣幸地宣布&#xff0c;虹科传感器事业部已正式更名为宏集科技。这一重要的改变代表了虹科持续发展进程中的新里程碑&#xff0c;也体现了我们在传…

GitHub 报告发布:TypeScript 取代 Java 成为第三受欢迎语言

GitHub发布的2023年度Octoverse开源状态报告发布&#xff0c;研究围绕AI、云和Git的开源活动如何改变开发人员体验&#xff0c;以及在开发者和企业中产生的影响。报告发现了三大趋势&#xff1a; 1、生成式AI的广泛应用&#xff1a; 开发人员大量使用生成式AI进行构建。越来越…

智能座舱架构与芯片- (14) 测试篇 上

一、 验证平台概要 1.1 测试软件方法论 “软件定义汽车” 的时代&#xff0c;软件在整车制造中的重要性日渐凸显。但不同于其他行业的软件开发&#xff0c;汽车行业有自己独特的软件开发要求。首先是需求严谨、需求层次复杂、需要通过专业的工具进行管理&#xff1b;其次开发…

张弛声音变现,如此配音是一场史诗

在给战争剧进行配音的过程中&#xff0c;配音艺术家须突出剧中的紧迫气氛、战斗场面的惊心动魄以及人物的英雄气概。战争剧经常涉及密集的战斗描写、复杂的策略以及角色间深刻的情感纠葛。以下是为战争剧配音时的几点指导思路&#xff1a; 强烈且充满张力的语气 在配音时使用充…

【C++】string类的介绍与使用

&#x1f9d1;‍&#x1f393;个人主页&#xff1a;简 料 &#x1f3c6;所属专栏&#xff1a;C &#x1f3c6;个人社区&#xff1a;越努力越幸运社区 &#x1f3c6;简 介&#xff1a;简料简料&#xff0c;简单有料~在校大学生一枚&#xff0c;专注C/C/GO的干货分…

已完结7个,再启动1个新项目,嘎嘎强!

作者&#xff1a;小傅哥 博客&#xff1a;https://bugstack.cn 沉淀、分享、成长&#xff0c;让自己和他人都能有所收获&#xff01;&#x1f604; 大家好&#xff0c;我是技术UP主小傅哥。 &#x1f490;又到了启动新项目的时候&#xff0c;死鬼开心嘛。小傅哥的星球&#xf…

六大排序详讲(直接插入排序+希尔排序+选择排序+堆排序+冒泡排序+快速排序)

文章目录 排序一、 排序的概念1.排序&#xff1a;2.稳定性&#xff1a;3.内部排序&#xff1a;4.外部排序&#xff1a; 二、插入排序1.直接插入排序2.希尔排序 三、选择排序1.直接选择排序方法一方法二直接插入排序和直接排序的区别 2.堆排序 四、交换排序1.冒泡排序2.快速排序…

C# Onnx 百度PaddleSeg发布的实时人像抠图PP-MattingV2

目录 效果 模型信息 项目 代码 下载 效果 图片源自网络侵删 模型信息 Inputs ------------------------- name&#xff1a;img tensor&#xff1a;Float[1, 3, 480, 640] --------------------------------------------------------------- Outputs -----------------…

梳理一名Go后端程序员日常用的软件~

大家好&#xff0c;我是豆小匠。 这期分享下我日常工作用到的软件和工具&#xff01; 省流版图片↓↓↓ 工具分为四类&#xff1a;编码软件、笔记/文档软件、开发工具和日常软件等。 1. 编码软件 1.1. Goland 出自JetBrain家族&#xff0c;IDE的王者&#xff0c;作为我的…

基于Towers of Binary Fields的succinct arguments

1. 引言 Ulvetanna团队Benjamin E. Diamond和Jim Posen 2023年论文《Succinct Arguments over Towers of Binary Fields》&#xff0c;开源代码见&#xff1a; https://github.com/recmo/binius&#xff08;Rust Sage&#xff09;【基于plonky3等库】 在该论文中&#xff1…