并行分布式计算 并行计算性能评测

news2024/11/23 2:56:45

文章目录

  • 并行分布式计算 并行计算性能评测
    • 基本性能指标
      • 参数
      • CPU 基本性能指标
      • 存储器性能
      • 并行与存储开销
    • 加速比性能定律
      • Amdahl 定律
      • Gustafson 定律
      • Sun 和 Ni 定律
      • 加速比讨论
    • 可括放性评测标准
      • 等效率度量标准
      • 等速度度量标准
      • 平均延迟度量标准
    • 基准评测程序(Benchmark)

并行分布式计算 并行计算性能评测

基本性能指标

参数

请添加图片描述

  • 工作负载 W:是指某个算法的计算量;
  • 加速:就是加速比;
  • 峰值速度:是速度的理论上限;

CPU 基本性能指标

工作负载

  • 执行时间:不仅包括 CPU 时间,还包括访问存储器、磁盘时间、 I/O 时间和 OS 开销等;执行时间是不稳定的,波动较大;
  • 浮点运算数(Flops):其他类型的运算可以通过经验折算成浮点运算速度;只能衡量计算任务,不能用于衡量数据传输、IO密集型的操作(虽然并行计算前期只是用于计算密集型的任务)
  • 指令数目(MIPS)通常以 百万条/秒 作为单位(单条指令的执行时间差别很大)

无重叠的假定下并行执行时间 T n T_n Tn

  • 计算时间 T c o m p u t T_{comput} Tcomput ;并行开销时间 T p a r o T_{paro} Tparo ;相互通信时间 T c o m m T_{comm} Tcomm

T n = T c o m p u t + T p a r o + T c o m m T_n=T_{comput}+T_{paro}+T_{comm} Tn=Tcomput+Tparo+Tcomm

  • T c o m p u t T_{comput} Tcomput :与串行的时间是一致的(无重叠的假定);
  • T p a r o T_{paro} Tparo :与进程管理、组操作、进程查询等相关;
  • T c o m m T_{comm} Tcomm :同步(路障、锁、临界区、事件)、通信、聚合操作(规约、前缀运算),一般来说 T c o m m T_{comm} Tcomm T p a r o T_{paro} Tparo 要大得多;

存储器性能

请添加图片描述

估计存储器的带宽:例如 RISC 的加法可以在单拍内完成(取出两个数相加再送回寄存器);假定字长为 8B,时钟频率 100MHZ,则带宽:
B = 3 × 8 × 100 × 1 0 6 B / s = 2.4 G B / s B=3\times8\times100\times10^6 B/s=2.4GB/s B=3×8×100×106B/s=2.4GB/s

并行与存储开销

并行和通信的开销相对于计算来说很大。

开销的测量

  • 乒乓方法(Ping-Pong Scheme):节点 - 发送 m 个字节给节点 1,节点 1 收到以后立即将消息发回节点 0,总时间除以 2;
  • 热土豆法(Hot-Potato)/救火队法(Fire-Brigade):再乒乓方法的基础上,节点 1 收到以后立即发送给节点 2,直到发送给节点 n-1 后,最后发送回 0,总的时间除以 n;

点到点通信开销表达式
t ( m ) = t 0 + m / r ∞ t(m)=t_0+m/r_{\infty} t(m)=t0+m/r

  • m m m :消息长度(字节数);

  • t 0 t_0 t0 :通信启动时间;

  • r ∞ r_{\infty} r :渐进带宽,传送无限长消息时的通信频率;查利芳等网络结构就是为了增大渐进带宽;

  • 半峰值长度 m 1 2 m_{\frac{1}{2}} m21 :达到一半渐进带宽所需要的消息长度;

  • 特定性能 π 0 \pi_0 π0 :表示短消息带宽;

  • t 0 = m 1 2 / r ∞ = 1 / π 0 t_0=m_{\frac{1}{2}}/r_{\infty}=1/\pi_0 t0=m21/r=1/π0 t 0 t_0 t0 就好像是发送一个很小的包时所需要花费的时间;

典型整体通信

  • 广播(Broadcasting):处理器 0 发送 m 个字节给所有的 n 个处理器;
  • 收集(Gather):处理器 0 接收所有 n 个处理器发送来的消息,最终接收 mn 个字节;尽量不要出现收集的情况,否则带宽会被 n 个处理器瓜分;
  • 散射(Scatter):处理器 0 发送了 m 个字节的不同消息给所有 n 个处理器;
  • 全交换(Total Exchange):每个处理器均彼此相互发送 m 个字节的不同消息给对方,总通信量为 m n 2 mn^2 mn2 个字节;很多算法需要全交换,所以通行效率或者带宽会随着处理器数量上升而快速下降;
  • 循环位移(Circular-shift):处理器 i 发送 m 个字节给处理器 (i + 1) % n,总通信量为 mn 个字节;

机器的成本与价格

  • 机器的性价比(Performance/Cost Ratio):单位代价(通常为百万美元)所获取的性能(通常用 MIPS 或 MFLOPS 表示)
  • 利用率:可达到的速度与峰值速度之比;

要想提高利用率,就要提高通讯量级;要想保持通讯硬件不变而提高通讯量级,就要优化算法。

加速比性能定律

Amdahl 定律

前提

  • 固定不变的计算机负载;
  • 固定的计算负载分布在多个处理器上;
  • 增加处理器加快执行速度,从而达到了加快处理速度的目的;

(总的计算量不变,并且被固定地、平均地分配给 p 个处理器)

参数

  • P P P:处理器数;

  • W W W:问题规模(计算负载、问题的总计算量)
    W = W s + W p W=W_s+W_p W=Ws+Wp

    • W s W_s Ws :应用程序中的串行分量, f f f 是串行分量比例( f = W s / W f=W_s/W f=Ws/W);
    • W p W_p Wp :应用程序中可并行化部分;
  • T s = T 1 T_s=T_1 Ts=T1 :串行执行时间;

  • T p T_p Tp :并行执行时间;

  • S S S :加速比;

  • E E E :效率;

S = W s + W p W s + W p / p → p → ∞ 1 f S=\frac{W_s+W_p}{W_s+W_p/p} \stackrel{p\to\infty}{\to} \frac{1}{f} S=Ws+Wp/pWs+Wppf1

特点

  • 适用于实时应用问题。当问题的计算负载或者规模固定时,必须通过增加处理器数目来降低计算时间;

  • 加速比受到算法中串行工作量的限制;

  • 扩展:若并行实现时还有额外开销,则:

S = W s + W p W s + W p / p + W o → p → ∞ 1 f + W o / W S=\frac{W_s+W_p}{W_s+W_p/p+W_o} \stackrel{p\to\infty}{\to} \frac{1}{f+W_o/W} S=Ws+Wp/p+WoWs+Wppf+Wo/W1

Gustafson 定律

前提:对于很多大型计算,精度要求很高,而计算时间时固定不变的。此时为了提高精度,必须加大计算量,相应地必须增多处理器数才能维持时间不变。

(增大精度的同时 W s W_s Ws 几乎是不变的)
S ′ = W s + p W p W s + p W p / p = W s + p W p W s + W p = f + p ( 1 − f ) S'=\frac{W_s+pW_p}{W_s+pW_p/p}=\frac{W_s+pW_p}{W_s+W_p}={f+p(1-f)} S=Ws+pWp/pWs+pWp=Ws+WpWs+pWp=f+p(1f)
考虑并行开销 W o W_o Wo
S ′ = W s + p W p W s + p W p / p + W o = f + p ( 1 − f ) 1 + W o / W S'=\frac{W_s+pW_p}{W_s+pW_p/p+W_o}= \frac{f+p(1-f)}{1+W_o/W} S=Ws+pWp/p+WoWs+pWp=1+Wo/Wf+p(1f)
特点:随着处理器数目的增加,串行执行部分 f f f 不再是并行算法的瓶颈。

Sun 和 Ni 定律

前提:充分利用存储空间等计算资源,尽量增大问题规模以产生更好/更精确的解,是 Amdahl 定律和 Gustafson 定律的推广。

推导:设单机存储容量为 M M M ,其工作负载 W = f W + ( 1 − f ) W W=fW+(1-f)W W=fW+(1f)W

当并行系统有 p p p 个节点时,存储容量变为 p M pM pM ,用 G ( p ) G(p) G(p) 表示系统的存储容量增大 p p p 倍时工作负载的增加量,即存储容量扩大后的工作负载为 W = f W + ( 1 − f ) G ( p ) W W=fW+(1-f)G(p)W W=fW+(1f)G(p)W ,加速比为:
S ′ ′ = f W + ( 1 − f ) G ( p ) W f W + ( 1 − f ) G ( p ) W / p = f + ( 1 − f ) G ( p ) f + ( 1 − f ) G ( p ) / p S''=\frac{fW+(1-f)G(p)W}{fW+(1-f)G(p)W/p}=\frac{f+(1-f)G(p)}{f+(1-f)G(p)/p} S′′=fW+(1f)G(p)W/pfW+(1f)G(p)W=f+(1f)G(p)/pf+(1f)G(p)
考虑并行计算的开销 W o W_o Wo
S ′ ′ = f W + ( 1 − f ) G ( p ) W f W + ( 1 − f ) G ( p ) W / p + W o = f + ( 1 − f ) G ( p ) f + ( 1 − f ) G ( p ) / p + W o / W S''=\frac{fW+(1-f)G(p)W}{fW+(1-f)G(p)W/p+W_o}=\frac{f+(1-f)G(p)}{f+(1-f)G(p)/p+W_o/W} S′′=fW+(1f)G(p)W/p+WofW+(1f)G(p)W=f+(1f)G(p)/p+Wo/Wf+(1f)G(p)

  • G ( p ) = 1 G(p)=1 G(p)=1 时,就是 Amdahl 定律,意味着节点的扩展不会带来额外开销;
  • G ( p ) = p G(p)=p G(p)=p 时,就是 Gustafson 定律;
  • G ( p ) > p G(p)>p G(p)>p 时,加速比比前面两个定律得到的加速比更大;

加速比讨论

加速比经验公式
p log ⁡ p ≤ S ≤ p \frac{p}{\log p}\leq S \leq p logppSp

  • 线性加速比:很少通信开销的矩阵相加、内积运算等;

  • p / log ⁡ p p/\log p p/logp 的加速比:分治类的应用问题;

  • 通信密集类的应用问题: S = 1 C ( p ) S=\frac{1}{C(p)} S=C(p)1 ,这里 C ( p ) C(p) C(p) p p p 个处理器的某一通信函数;

超线性加速:特殊情况下出现,例如在不同分支上进行搜索,某个处理器搜索发现结果后结束整个任务;

绝对加速:最佳串行算法与并行算法所用时间之比;(有些算法是没法直接并行化的,因此绝对加速更合理)

相对加速:同一算法在单机和并行机的运行时间。

可括放性评测标准

可括放性(Scalability):性能随处理器数的增加而按比例提高的能力。

  • 影响因素:处理器数和问题规模;串行分量;并行处理的额外开销;处理器数是否超过了算法中的并发程度;
  • 增加问题规模的好处:提供较高的并发机会;overhead 增加可能慢于有效计算的增加;串行分量比例随着问题规模增大而缩小;
  • 增加处理器数量会增大 overhead 并降低处理器利用率,对于一个特定的并行系统(算法或程序),它们能否有效利用不断增加的处理器的能力应是受限的,而度量这种能力就是可括放性这一指标。

等效率度量标准

参数:令 t e i t^i_e tei t o i t^i_o toi 分别是并行系统上第 i i i 个处理器的有用计算时间和额外开销时间(包括通信、同步和空闲的等待时间等)
T s = T e = ∑ i = 0 p − 1 t e i T 0 = ∑ i = 0 p − 1 t o i T_s=T_e=\sum\limits_{i=0}^{p-1}t_e^i \quad\quad T_0=\sum\limits_{i=0}^{p-1}t_o^i Ts=Te=i=0p1teiT0=i=0p1toi
T p T_p Tp p p p 个处理器系统上并行算法的运行时间,对于任意 i i i 显然有:
T p = t e i + t o i p T p = T e + T o T_p=t^i_e+t_o^i \quad\quad pT_p=T_e+T_o Tp=tei+toipTp=Te+To
问题的规模 W W W 定义为最佳串行算法所完成的计算量,则 W = T e W=T_e W=Te ,因此有:
S = T e T p = T e ( T e + T o ) / p = p 1 + T o / W E = S p = 1 1 + T o / W S=\frac{T_e}{T_p}=\frac{T_e}{(T_e+T_o)/p}=\frac{p}{1+T_o/W}\quad\quad E=\frac{S}{p}=\frac{1}{1+T_o/W} S=TpTe=(Te+To)/pTe=1+To/WpE=pS=1+To/W1
为了维持一定的效率,处理器数 p p p 增大时,开销 T o T_o To 增大,问题规模 W W W 也需要相应增大。由此定义函数 f E ( p ) fE(p) fE(p) 为问题规模 W W W 随处理器数 p p p 变化的函数,为等效率函数。

优点:简单可定量计算的、少量参数计算等效率函数

缺点:如果 T o T_o To 无法计算出的话就不能用这个方法(比如在共享存储并行机中)

如图,3 到 1 可括放性越来越好,2 以上的表示不可扩放:

请添加图片描述

等速度度量标准

前提:在共享存储并行机中 T o T_o To 难以计算;换一种方法,如果速度能以处理器数的增加而线性增加,则说明系统具有很好的扩放性。

参数 p p p W W W 前面一样, T T T 为并行执行时间,并行计算的速度 v = W / T v=W/T v=W/T

p p p 个处理器的并行系统的平均速度定义为并行速度除以处理器个数:
v ˉ = v p = W p T \bar{v}=\frac{v}{p}=\frac{W}{pT} vˉ=pv=pTW
W ′ W' W 表示当处理器数从 p p p 增大到 p ′ p' p 时,为了保持整个系统的平均速度不变所需执行的工作量,则可得到处理器数从 p p p p ′ p' p 时平均速度可扩放度量标准公式:
Ψ ( p ,   p ′ ) = p ′ W p W ′ \Psi(p,\,p')=\frac{p'W}{pW'} Ψ(p,p)=pWpW
Ψ ( p ,   p ′ ) \Psi(p,\,p') Ψ(p,p) 介于 0 到 1 之间,越靠近 1 越好;

优点:直观使用易测量的机器性能速度指标来度量;

缺点:某些非浮点运算可能造成性能的变化没有考虑;

p = 1 p=1 p=1 时,有:
Ψ ( p ′ ) = Ψ ( 1 ,   p ′ ) = p ′ W W ′ = T 1 T p ′ = 解决工作量为 W 的问题所需串行时间 解决工作量为 W ′ 的问题所需并行时间 \Psi(p')=\Psi(1,\,p')=\frac{p'W}{W'}=\frac{T_1}{T_{p'}}=\frac{\text{解决工作量为$W$的问题所需串行时间}}{\text{解决工作量为$W'$的问题所需并行时间}} Ψ(p)=Ψ(1,p)=WpW=TpT1=解决工作量为W的问题所需并行时间解决工作量为W的问题所需串行时间
区别

  • 加速比的定义是保持问题规模不变,标志对于串行系统的性能增加;
  • 扩放性定义时保持平均速度不变,标志对于小系统到大规模系统所引起的性能变化;

请添加图片描述

平均延迟度量标准

一个并行系统执行的时间图谱

请添加图片描述

  • T p a r a T_{para} Tpara 是最大的,作为总的并行时间

请添加图片描述

基准评测程序(Benchmark)

不同程序会涉及到硬件、体系结构、编译优化、编程环境、测试条件、解题算法等众多因素;根据侧重点不同,分为:

综合型:Dhrystone、Whetstone

  • 缺点:对编译器比较敏感

核心型:Livermore Fortran Kernels、NASA 之 NAS

数学型:Linpack、FFT

  • 常见的线性代数运算

应用型:SPEC、Perfect、Splash

并行型:NAS 之 NPB、PARKBENCH

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

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

相关文章

甘特图控件DHTMLX Gantt入门使用教程【引入】:用Node.js实现Gantt(下)

DHTMLX Gantt是用于跨浏览器和跨平台应用程序的功能齐全的Gantt图表。可满足项目管理应用程序的大部分开发需求,具备完善的甘特图图表库,功能强大,价格便宜,提供丰富而灵活的JavaScript API接口,与各种服务器端技术&am…

Linux多路转接之select

文章目录 一、IO的理解二、五种IO模型1.阻塞式IO2.非阻塞式IO3.信号驱动式IO4.IO多路转接5.异步IO6.五种IO模型的总结 三、非阻塞式IO1.fcntl函数 四、IO多路转接之select的介绍五、编写select服务器1.将获取连接时设置为select多路转接2.获取连接成功后的读取数据 六、select多…

商家订单之Java版SpringCloud+SpringBoot+Mybatis+Vue+Uniapp 分布式、微服务、多商家入驻b2b2c电子商务云平台

一个好的SpringCloudSpringBoot b2b2c 电子商务平台涉及哪些技术、运营方案?以下是我结合公司的产品做的总结,希望可以帮助到大家! 搜索体验小程序:海哇 1. 涉及平台 平台管理、商家端(PC端、手机端)、买…

linu0.12-9-blk_drv

[394页] 第9章 块设备驱动程序 395–9-1-总体功能 395–9-1-1-块设备请求项和请求队列 397–9-1-2-块设备访问调度处理 397–9-1-3-块设备操作方式 398–9-2-blk.h文件 398–9-2-1-功能描述 399–9-2-2-代码注释 403–9-3-hd.c程序 403–9-3-1-功能描述 405–9-3-2-代码注释…

离散数学_九章:关系(6)

🪐9.6 偏序 1、⛺偏序关系和偏序集⛲偏序关系⛲偏序(关系)的例子 a. “大于或等于” 关系b. “整除” 关系c. “包含” 关系 🎬偏序集🎬可比性(comparability) " ≼ " 符号a. 可比 &a…

【工具】如何判断两个二进制文件是否相同

🐚作者简介:花神庙码农(专注于Linux、WLAN、TCP/IP、Python等技术方向)🐳博客主页:花神庙码农 ,地址:https://blog.csdn.net/qxhgd🌐系列专栏:善假于物&#…

wx自定义组件

自定义组件的意义: 提供一系列的样式,,通用的样式提供一系列的骨架,,通用标签避免重复写一些业务逻辑 小程序自定义组件中 : slot : 修改组件内容 外部样式类: 修改组件样式 slot…

案例7:Java茶叶销售网站设计与实现开题报告

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…

手术麻醉信息管理系统源码(简称手麻系统源码)php + mysql + vue2 B/S网页版

手术麻醉信息管理系统源码(简称手麻系统源码) 手术麻醉信息管理系统(简称手麻系统)是指专用于住院患者手术与麻醉的申请、审批、安排,术前、术中和术后有关信息的记录和跟踪以及手术麻醉室内部管理等功能的计算机应用…

Lucene中的Field域、索引维护、搜索、相关度排序和中文分词器讲解

Field域 Field属性 Field是文档中的域,包括Field名和Field值两部分,一个文档可以包括多个Field,Document只是Field的一个承载体,Field值即为要索引的内容,也是要搜索的内容。 是否分词(tokenized) 是:作…

事实证明,国产BI软件的财务数据分析性价比极高!

国产BI软件做财务数据分析的性价比极高,主要得益于两个因素,一个是国产BI软件按功能模块购买,大幅度降低BI大数据分析平台的使用成本;另一个则是国产BI软件已打磨出标准化、系统化的财务数据分析方案,低成本、低风险、…

Blender基础技巧小结

官网下载 https://www.blender.org/download/lts/2-83/ 我下载的版本:LTS Release 2.83.20 Windows – Portable Ogre导出插件 https://github.com/OGRECave/blender2ogre 安装插件 将blender2ogre\io_ogre复制到:blender-2.83.20-windows-x64\2.8…

论文阅读-17-Deep Long-Tailed Learning: A Survey---3.1Class Re-balancing

文章目录 1. Re-sampling1.1 Class-balanced re-sampling(1) Decoupling① 网络架构② Sampling策略③ Classifier的学习策略 (2) SimCal① 比较 (3) DCL(4) Balanced meta-softmax(5) FASA(6) LOCE(7) VideoLT 1.2 Scheme-oriented sampling(1) LMLE(2) PRS(3) BBN(4) LTML(5)…

技术赋能光伏组件检测“大尺寸” “高精度”,维视智造SNEC亮点抢先看!

2023.5.24-5.26 全球最具影响力的 国际化、专业化、规模化光伏盛会 第十六届(2023) SNEC光伏大会暨(上海)展览会 即将开展 维视智造深耕机器视觉行业20年 解决方案落地众多光伏头部企业 如今作为光伏组件视觉检测系统行业领先者 此次展会维视将…

(文章复现)《高比例清洁能源接入下计及需求响应的配电网重构》(含matlab代码)

1.引言 配电网重构作为配电网优化运行的手段之一,通过改变配电网的拓扑结构,以达到降低网损、改善电压分布、提升系统的可靠性与经济性等目的。近年来,随着全球能源消耗快速增长以及环境的日趋恶化,清洁能源飞速发展,分…

从【创作者】转变为【博客专家】-- 内含详细申请过程

从【创作者】转变为【博客专家】 0、引言1、创作身份认证1.1 起因1.2 违背祖宗的决定1.3 认证创作身份1.3.0 好处1.3.1 条件1.3.2 认证信息1.3.3 后台审核 2、博客专家认证2.1 好处2.2 条件2.3 认证信息2.4 后台审核2.5 实体证书 3、 反思与总结 ⚠申明: 未经许可&a…

哪个年龄段人群喜欢养宠物?18-25岁占比最高,达31%

上一期,我们通过可视化互动平台分析了萌宠经济下宠物食品的发展现状,这一期我们接着来分析一下,在萌宠经济下,我国宠物医疗产业的市场情况。 由于现在很多家庭都喜欢饲养宠物,宠物数量的快速增长从而拉动了宠物经济的…

晶飞FLA5000光谱仪.FlaSpec文件数据解析

引言 首先说明下晶飞上位机软件存在的问题,实验所采用的FLA5000型号光谱仪,光谱波段从280-970nm,FWHM值为2.4nm。 1、上位机软件中的光谱数据复制功能基本是废的,最多只能到599.9nm,后面的数据全部消失。 2、上位机软…

NOSQL和REDIS配置与优化

关系数据库与非关系型数据库 ●关系型数据库: 关系型数据库是一个结构化的数据库,创建在关系模型(二维表格模型)基础上,一般面向于记录。 SQL 语句(标准数据查询语言)就是一种基于关系型数据库…

在外远程访问公司局域网用友畅捷通T财务软件 - 远程办公

文章目录 前言1.本地访问简介2. cpolar内网穿透3. 公网远程访问4. 固定公网地址 前言 用友畅捷通T适用于异地多组织、多机构对企业财务汇总的管理需求;全面支持企业对远程仓库、异地办事处的管理需求;全面满足企业财务业务一体化管理需求。企业一般将其…