一、 可扩展性基本概念

1.可扩展性与可编程性

(只能说理想很美满,现实只能在增加可扩展性和增加可编程性,选其中一个)

2.可扩展性指标(相关参数)

机器规模(n)

时钟频率(f)

问题规模(s)

CPU时间(T)

I/O需求(d)

存储容量(m)

通信开销(h)

计算机价格(c)

程序设计开销(p)

3.可扩展性的直观定义

直观定义:对任意数量(n)的处理机和任意规模(s)的问题,若所有算法的系统效率 E = 1, 则系统是可扩展的。

定义1:在给定的一台并行系统上运行一个给定的应用问题(并行算法)时,如果随并行系统规模增大而适当增加问题的规模,使并行系统的性能与其规模成线性比例增长,则称并行系统是可扩展的。

定义2:运行于一台给定的并行系统上的并行算法(并行应用程序),当系统的规模与算法的规模按比例增加时,其性能也按一定的比例提高,则该并行算法(并行应用程序)是可扩展的。

4.可扩展性的研究目的

1)确定某类问题的何种并行算法与何种并行系统的组合,可有效的利用系统大量处理机;

2)有算法在小规模并行机上的运行性能来预测起移植到大规模并行机上后的运行性能;

3)对一固定规模的问题,能确定起运行在某类并行系统上时,所需的最有处理机台数和获得的最大加速比。

4)指导并行算法和并行机体系结构的改进

二、可扩展性度量方法

1、等效率可扩展性度量方法:揭示问题规模与系统规模的关系(1987);

效率是指系统规模p增加时,测量增加多少运算量(问题的规模w)会保持并行算法效率不变。

:并行机上的每个基本操作的平均时间;

(p,w):并行计算时系统的总开销;

:算法的串行执行时间。

2、等速度可扩展性度量方法:揭示并行算法-机器组合的关系(1996)

3、等时间/通信开销比的可扩展性度量方法:等计算时间/通信开销比(1999)

可扩展性度量方法的基本要求:

1)能提供并行系统规模的变化如何影响起性能的信息;

2)能描述并行算法与并行机组合的函数;

3)可评估、可比较的定性性能度量方法。

三、可扩展性

1.恒等效率概念(Isoefficiency)

恒等效率定义为一个并行算法在并行计算机上实现时,为保持效率E固定所需的工作负载与机器规模n的相对关系。

假设:W = W(s)为工作负载,h  =  h (s,n)为通信开销,它随s、n增加而增大。其中,s为问题规模,n为机器规模。

则效率可以表示为:

问题的关键在于W(s)与h(s,n)之间的相对增长速度。机器规模一定,开销h的增长比工作负载W要慢。因而,对一定规模的机器来说,效率会随问题规模增大而提高。所以,假若工作负载W随机器规模适当增加,那么就有希望保持效率不变。

对于已知的算法来说,为了保持恒定的效率,工作负载W可能需要对n以多项式或指数规律增长。不同的算法可能需要不同的工作负载增长速率以便在n增加时保持效率不致下降。

一般并行算法的恒定效率函数是n的多项式函数,即它们为0(nk),k >=1。n的幂越小,并行系统的可扩展性越大(系统包括算法和结构的组合)。

2.恒等效率函数

并行程序执行时间 Tp = (T1+T0)/p,其中,T1为总工作负载串行执行时间,T0为多节点总通信延时,p为节点数。

那么,加速比为:

而T1 = W ,W为以操作次数计算的总工作负载,为每个操作的平均执行时间。

如前面所述,工作负载W与开销h均可以表示成n与s的函数,所以,效率也可以表示如下:

为了使E保持不变,工作负载W(s)应该与开销h(s,n)成比例增长,由此可以得出以下条件:

如果工作负载W(s)与(n)一样快的增长,那么已知算法结构组合就能使效率保持恒定。这个结论和前面的结论是一致的。

此时, W(s)与(n)是相同的,只要求出了W(s)的数量级,就可知道(n)了。为了得到恒等效率,只要使W(s)与h(s,n)同一个数量级就可以了。

【并行算法】并行计算的可扩展性分析相关推荐

  1. 并行算法的设计与分析

    并行算法设计 任务并行 数据并行 与任务并行不同,前者是划分操作和计算任务,核心对于数据进行不同的运算:后者是划分数据,而核心对于数据进行相同的运算. 其他任务划分方法 搜索分解 将搜索树的每个子树划 ...

  2. 《并行计算》 并行计算性能评测 并行模型与并行算法

    呜~ 就隔了一段时间没看并行计算,发现作业贼难顶,不得不写篇博客来记录一下复习(预习)的内容. 并行计算性能评测 并行机的一些基本性能指标 对并行计算机的性能关注点还是落在了CPU和存储器上,毕竟CP ...

  3. 可扩展性类毕业论文文献都有哪些?

    本文是为大家整理的可扩展性主题相关的10篇毕业论文文献,包括5篇期刊论文和5篇学位论文,为可扩展性选题相关人员撰写毕业论文提供参考. 1.[期刊论文]网络功能虚拟化弹性和可扩展性研究 期刊:<电 ...

  4. 三对角系统并行算法的研究概况

    [摘   要]在科学和工程计算中,许多问题往往归结为三对角线性方程组的求解,其并行算法的研究具有重要意义.文章全面总结了当前求解三对角线性方程组的两类并行算法:直接解法和迭代解法,并介绍了其特点. [ ...

  5. 【并行算法】知识点总结

    第一章 1.并行计算的定义和主要目的P11 定义:并行计算是指同时对多个任务或多条指令.或对多个数据项进行处理.完成此项处理的计算机系统称为并行计算机系统,它是将多个处理器(可以几个.几十个.几千个. ...

  6. 武汉理工大学-并行计算-2020年期末复习指南

    并行计算-2020-复习指南 制作:纪元 本提纲遵循CC-BY-NC-SA协议 (署名-非商业性-相同方式共享) 文章目录 并行计算机系统及其结构模型 存储墙 互联网络 网络性能指标 静态互连网络 动 ...

  7. 【并行算法】知识点总结(一、二、三、九章)

    第一章 1.并行计算的定义和主要目的 定义:并行计算是指同时对多个任务或多条指令.或对多个数据项进行处理.完成此项处理的计算机系统称为并行计算机系统,它是将多个处理器(可以几个.几十个.几千个.几万个 ...

  8. 并行计算中的BSP模型

    计算模型 所谓计算模型实际上就是硬件和软件之间的一种桥梁,我们可以借助它来设计分析算法,在其上髙级语言能被有效地编译且能够用硬件来实现.在串行计算时,冯•诺依曼机就是一个理想的串行计算模型,在此模型上 ...

  9. 云计算学习笔记1——并行计算

    目录 一.并行计算概念 二.Flynn分类法 SISD 单指令流单数据流 SIMD 单指令流多数据流 MISD MIMD MIMD分类 三.并行算法 1. 定义和概念 并行算法: 进程间通信: 同步: ...

最新文章

  1. leetcode valid number
  2. 普通的年轻状态机,纯C语言
  3. 查看网卡[网络接口]
  4. java jfreechar鱼刺图_java使用jfreechar绘制饼型统计图
  5. java.util.Date与 java.sql.Date两个包下Date的区别与联系
  6. 使用composer_在Google Cloud Composer(Airflow)上使用Selenium搜寻网页
  7. 2017-02-26,周日整理
  8. 地统计学之变异函数深入理解与分析
  9. 基于STM32电压检测和电流检测
  10. python可视化47|最常用5个排序(Ranking)关系图
  11. vss服务器状态失败_修复VSS 6.0错误的方法
  12. html 宽度单位,长度单位有哪些?
  13. 波士顿大学计算机科学与技术专业,BU波士顿大学计算机信息系统硕士Master of Science in Computer Information Systems...
  14. MISC:压缩包取证(zip爆破、明文攻击、伪加密、CRC32碰撞)
  15. Linux第7章Gdk及Cairo基础,源文件:Ubuntu中使用GLUT和GDK将图片文件加载到纹理单元...
  16. Windows系统下安装配置 MinGW-w64 开发环境
  17. 什么是含源一端口网络_二端口网络
  18. 神话是这样打破的-南阳理工学院
  19. UI设计师就业发展前景如何?
  20. Linux C网络编程基础

热门文章

  1. Oracle 发布基于 VS Code 的开发者工具;苹果召回 6.3 万台 MacBook Pro
  2. 一搜Yisou按网友投票排序功能
  3. 23春-第三次集训题解
  4. android ormlite框架,ORMLite框架 的使用方法—给你的数据库操作插上翅膀
  5. 【学习笔记】java中单引号和双引号有什么区别?
  6. jsoncpp判断key是否存在以及类型
  7. RK3568 Debian10(buster) 基础操作
  8. Python3.7总结字符串的print和拼接
  9. [转]聚类算法实践(1)—— 层次、K-means聚类
  10. java的互斥锁_java基础之互斥锁初解