并行计算之绪论01

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

一、绪论

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-488533.html

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

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

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

相关文章

  • 图论01-【无权无向】-图的基本表示-邻接矩阵/邻接表

    https://github.com/Chufeng-Jiang/Graph-Theory/tree/main/src/Chapt01_Adjacency 代码有删减 代码有删减 只需要改动一行 adj = new TreeSet[V]; //构造邻接表, V行,V个LinkedList 代码有删减

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

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

    2024年02月09日
    浏览(43)
  • 《网络协议》01. 基本概念

    title: 《网络协议》01. 基本概念 date: 2022-08-30 09:50:52 updated: 2023-11-05 15:28:52 categories: 学习记录:网络协议 excerpt: 互联网、网络互连模型(OSI,TCP/IP)、计算机通信基础、MAC 地址、ARP ICMP、IP 子网掩码、CIDR 表示方法、子网、超网、路由、网络 互联网 因特网、ISP、网络分类、上

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

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

    2024年02月13日
    浏览(45)
  • java中springcloud面试题01——基本概念

    什么是SpringCloud ? Spring Cloud是一套基于Spring Boot的微服务框架,它提供了各种工具和组件,用于帮助开发者快速构建和部署云原生应用程序。Spring Cloud采用了微服务架构的思想,将大型应用程序拆分成小而独立的服务,每个服务都可以独立开发、部署和扩展,以实现更高的灵活

    2024年01月23日
    浏览(41)
  • USB的基本概念和基础知识 01

    本文主要介绍USB的基本概念和基础知识 USB USB 中文网 有很多资料, 很实用哦. USB 是通用串行总线 (Universal Serial Bus) 的缩写. 版本 理论最高速度 USB 1.0 Low Speed 1.5Mb/s 或 0.1875MB/s USB 1.0 Full Speed 12Mb/s 或 1.5MB/s USB 1.1 (即 USB 1.0 Full Speed) 12Mb/s 或 1.5MB/s USB 2.0 Full Speed(即USB 1.1) 12Mb/s 或

    2024年02月11日
    浏览(43)
  • 袁庭新ES系列01节 | 全⽂检索基本概念

    搜索给我们的生活带来了一种新的获取信息的方式,改变着我们的生活。而如何高效精准查找信息?下面袁老师将带你进入搜索的世界,去一探究竟。 当今信息爆炸的时代,信息每天都在以惊人的速度增长。我们生活中的数据总体分为两种:结构化数据和非结构化数据。 结

    2024年02月21日
    浏览(46)
  • #Chrome扩展程序开发教程--01:基本概念介绍

            本系列博客旨在带来最新的Chrome扩展程序开发入门教程。         通过向Chrome浏览器添加自定义特性和功能来提升网上冲浪体验,比如: 生产力工具 丰富网页网页内容 信息聚合         扩展程序本质上也是一个Web应用,开发扩展程序需要使用和Web应用一

    2023年04月22日
    浏览(46)
  • 【Unity入门计划】基本概念(8)-瓦片地图 TileMap 01

    目录 1 TileMap概念 主要思想 优点 创建的层级 2 Unity中的TileMap 2.1 自动父级Grid 网格 2.2 Sprite精灵 2.3 Tile 瓦片 2.4 Tile Palette 调色板 2.5 Brush 笔刷 3 Tilemap Renderer 瓦片地图渲染器 3.1 Sort Order 瓦片排列顺序 3.2 Mode 渲染模式  Chunk 分块渲染  Individual 单独渲染  3.3 Detect Chunk Culling

    2023年04月08日
    浏览(40)
  • 数据结构与算法【01】—绪论

    专栏地址:数据结构与算法专栏 开源仓库:bigsai-algorithm仓库 ,欢迎支持 针对以前写的数据结构与算法系列重写(针对文字描述、图片、错误修复),改动会比较大,一直到更新完为止 数据结构与算法是程序员内功体现的重要标准之一,且数据结构也应用在各个方面,业界更有

    2024年02月06日
    浏览(50)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包