并行计算——绪论

这篇具有很好参考价值的文章主要介绍了并行计算——绪论。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、绪论

1.1 基本概念

  1. 加速比:表示加速效果。单个处理器运行花费时间 / P个处理器运行花费时间;\(S=\frac{T(1)}{T(p)}\)
  2. 效率:\(E = \frac{S}{p} = \frac{T(1)}{T(p)\times p}\)
  3. 开销:\(C=T(p)\times p\)
  4. 可扩展性:处理器数目增多时并行程序的行为;
  5. 计算通信比:计算花费时间 / 处理器消息通信花费时间;
  6. 计算:在1个时间单位内,每个PE(处理单元)能完成2个数相加,并在本地内存保存计算结果;
  7. 通信:在3个单位时间内,一个PE能够把数据从自己的本地内存发送到另一个PE的本地内存;
  8. 输入和输出:程序开始时,整个输入数组A保存在0号处理单元PE0,程序结束时,计算结果应汇聚到PE0;
  9. 同步:所有PE同时进行计算、通信,或处于闲置状态;

1.2 求和案例

1.2.1 分配流程

PE = 1:即为串行。

PE = 2:PE#0分1半任务给PE#1,分别计算,PE#1将求和后数据汇聚到PE#0。

PE = 4:

1.2.2 分发时间计算

以PE = 2为例

  1. 最初PE#0存储全部数据;
  2. PE#0发送一般数据给PE#1,花费3个单位时间;(自己规定的,见1.2.4)
  3. 每个处理单元将数据相加,花费511个单元时间;(因为每个处理器分别有511个数据)
  4. PE#1求和后数据返回给PE#1,花费3个单元时间;
  5. PE#0把2部分数据相加,花费1个时间单元;

共计 3 + 511 + 3 + 1 个时间单元

通用表达式

使用\(p=2^{q}\)个处理单元,以及\(n=2^{k}\)个输入整数

  • 数据分发次数:\(3 \times q\)
  • 本地求和:\(\frac{n}{p} -1 = 2^{k-q}-1\)
  • 收集中间数据:\(3 \times q\)
  • 中间结果求和::\(q\)

则共 \(T(p,n)=T(2^{q},2^{k})=3q+2^{k-q}-1+3q+q=2^{k-q}-1+7q\)

1.2.3 扩展性分析

强扩展性分析:改变处理器的数量,并行计算时间、加速比、开销和效率变化规律;

弱扩展性分析:改变处理器的数量,同时改变数据量,并行计算时间、加速比、开销和效率变化规律;

上述算法不是强扩展性,是弱扩展性。

1.2.4 一般情形计算

$\alpha $:执行一次单独的假发操作需要的时长

$\beta $:传输一批整数需要的时长;

运行时间:\(T_{\alpha,\beta }(p,n)=T(2^{q},2^{k})=\beta q+\alpha(2^{k-q}-1)+\beta q+\alpha q=2\beta q +\alpha (2^{k-q}-1 + q)\)

加速比:$S_{\alpha ,\beta } (2^{q}, 2^{k})=\frac{T_{\alpha ,\beta }(2^{0}, 2^{k})}{T_{\alpha ,\beta }(2^{q}, 2^{k}) }=\frac{\alpha(2^{k}-1)}{2\beta q + \alpha(2^{k-q}-1+q)} $

通信比:\(\gamma=\frac{\alpha}{\beta}\)

求解最优单元:\(2^{q}={\frac{\gamma\ln2}{2+\gamma}}2^{k}\)

比如,对于\(\gamma=\frac{1}{3},n=1024\),加速比最大可求\(p=1000\)

当处理数据规模固定,并行效率和加速比依赖于计算单元个数和计算通信比;

1.3 并行计算基础

1.3.1 分布式内存

特点:每个PE只能访问自己的本地内存,如果跨PE访问,需要一个显式的通信步骤。

数据划分是分布式内存系统编程的关键。

1.3.2 共享内存系统

通过一个共享总线或者纵横交换机,所有的CPU都能访问同一块公共内存空间。

  • 除了共享主存外,每个核心包含一块更小的本地内存;
  • 缓存一致性,存储在本地缓存中的值和存储在共享内存中的值保持一致;

1.4 并行程序设计考虑因素

  1. 划分:给定的问题划分为子问题;
  2. 通信:选定划分方案决定了进程或县城之间需要的通信量和通信类型;
  3. 同步:为了以正确的方式共同运行,线程或进程之间可能需要同步操作;
  4. 负载平衡:多个县城或多个进程之间的工作量需要平均分配,以平衡他们各自的负载,并最小化空闲时间;

求和案例

1.5 不同层次的并行

  1. 节点级并行化:需要针对分布式内存机器的模型实现算法,例如MPI(在第9章深入学习)或者UPC++(在第10章深人学习)等。
  2. 节点内的并行化:通常基于针对共享内存系统(多核CPU)的语言,比如C++多线程(在第4章深人学习),或者OpenMP(在第6章深人学习)。
  3. 加速卡级的并行化:把一部分计算任务分配给加速卡承担,比如大规模并行GPU等,借助包括CVDA在内的特定语言(将在第7章深入学习)。


参考:《并行程序设计》文章来源地址https://www.toymoban.com/news/detail-488576.html

到了这里,关于并行计算——绪论的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【管理运筹学】第 7 章 | 图与网络分析(1,图论背景以及基本概念、术语、矩阵表示)

    【管理运筹学】第 7 章 | 图与网络分析(2,最小支撑树问题) 【管理运筹学】第 7 章 | 图与网络分析(3,最短路问题) 【管理运筹学】第 7 章 | 图与网络分析(4,最大流问题) 【管理运筹学】第 7 章 | 图与网络分析(5,最小费用流问题及最小费用最大流问题) 按照正常

    2024年02月09日
    浏览(43)
  • 计算机体系结构基础知识介绍之指令级并行性:概念和挑战

    自 1985 年以来,所有处理器都使用流水线来重叠指令的执行并提高性能。 指令之间的这种潜在重叠称为指令级并行性(ILP)。  具体来说:流水线和指令级并行是两个相关的概念。 流水线是一种将每条指令分解为多个阶段,并让不同阶段的操作重叠进行的一种技术,可以提

    2024年02月13日
    浏览(45)
  • C++11 数据结构0 什么是 “数据结构“?数据,数据对象,数据元素,数据项 概念。算法的基本概念 和 算法的度量,大O表示法,空间换时间的代码

    是能输入计算机且能被计算机处理的各种符号的集合。 数值型的数据:整数和实数。 非数值型的数据:文字、图像、图形、声音等。         性质相同的 \\\"数据元素\\\" 的集合         例如一个 int arr[10],  Teacher tea[3]; 数据元素:          tea[0],tea[1],arr[2],这些都是 数据项:

    2024年04月15日
    浏览(52)
  • [计算机网络]基本概念

    目录 1.ip地址和端口号 1.1IP地址 1.2端口号 2.认识协议 2.1概念: 2.2知名协议的默认端口 3.五元组 4.协议分层 4.1分层的作用 4.2OSI七层模型 4.3TCP/IP五层(四层)模型 ​编辑4.4网络设备对应的分层: ​编辑以下为跨网段的主机的文件传输:数据从一台计算机到另一台计算机传输过

    2024年01月24日
    浏览(46)
  • 云计算基本概念

    前面一篇《大数据 Big Data 基本概念》介绍了大数据基本概念,我们知道大数据两大核心问题就是 分布式存储 和 分布式处理 ,今天就来了解一下云计算 cloud computering 基本概念。 云计算是一种通过互联网提供计算资源和服务的计算模型。它将计算、存储、网络和应用等各种资

    2024年02月16日
    浏览(25)
  • 云计算的基本概念

    目录 云计算基本概念 云计算的三种服务模式 云计算的三类部署模式 公有云(Public) 私有云(Private) 混合云(Hybrid) 数据中心介绍 数据中心的组成部分 云数据中心 为什么提出云计算 传统网络存在的问题 单机可靠性低;系统容易出现蓝屏等故障,回复时间长 设备利用率

    2024年02月06日
    浏览(21)
  • 【云计算】Docker 基本概念

    Docker 容器是 轻量级的虚拟技术 ,占用更少系统资源。 使用 Docker 容器,不同团队(如开发、测试,运维)之间更容易合作。 可以在 任何地方部署 Docker 容器 ,比如在任何物理和虚拟机上,甚至在云上。 由于 Docker 容器非常轻量级,因此可扩展性很强。 一个完整的 docker 包

    2023年04月09日
    浏览(87)
  • 计算机网络-物理层基本概念(接口特性 相关概念)

    求极限传输速率:奈氏准则,香农定理(背景环境不一样) 编码:数据变成数字信号 调制:数字信号变成模拟信号 信道不同传输 数据形式不同 数据交换方式:核心(打电话是电路交换) 导向传输介质:看得见的 非导向传输介质:看不见的 传输介质并不属于物理层,它们

    2024年01月24日
    浏览(51)
  • 计算机视觉基本概念大起底!

    计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像或其他形式的信息。 和计算机视觉相关的领域从顶向下

    2024年02月07日
    浏览(66)
  • 云计算与数据中心的基本概念

    目录 云计算基本概念 云计算的三种服务模式 云计算的三类部署模式 公有云(Public) 私有云(Private) 混合云(Hybrid) 数据中心介绍 数据中心的组成部分 云数据中心 为什么提出云计算 传统网络存在的问题 单机可靠性低;系统容易出现蓝屏等故障,回复时间长 设备利用率

    2024年02月04日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包