并行与分布式计算 第8章 并行计算模型

文章目录

  • 并行与分布式计算 第8章 并行计算模型
    • 8.1 并行算法基础
      • 8.1.1 并行算法的定义
      • 8.1.2并行算法的分类
      • 8.1.3算法的复杂度
    • 8.2 并行计算模型
      • 8.2.1 PRAM (SIMD-SM)模型
      • 8.2.3 BSP (MIMD-DM)模型
      • 8.2.4LogP(MIMD-DM)模型

并行与分布式计算 第8章 并行计算模型

8.1 并行算法基础

8.1.1 并行算法的定义

并行算法:适合于在各种并行计算机上求解问题和处理数据的算法,它是一些可同时执行的诸进程的集合,这些进程相互作用和协调动作从而达到对给定问题的求解。

8.1.2并行算法的分类

分类标准运算类型
数值计算 vs 非数值计算数值计算涉及数字和数学运算,如矩阵运算、多项式求解等。非数值计算涉及非数值数据的处理和操作,如排序、选择、搜索、匹配、图论等。
同步运算 vs 异步运算同步运算需要等待其他进程或操作结果,异步运算不需要等待其他进程的完成。
确定运算 vs 随机运算确定运算的每一步都能明确指示下一步应该如何进行,随机运算的某些步骤涉及随机选择或随机参数。

8.1.3算法的复杂度

并行算法的复杂性度量指标1

运行时间t(n):在给定的模型上求解输入规模为n的给定问题所需时间,即
算法从第一台处理机开始执行到最后一台处理机执行中止所需时间。
** t(n)包括两个部分:**

  • 计算时间tc:在某一处理器执行运算所需时间;
  • 通信时间tr:数据从源处理机到目的处理机所需传送时间,算法在整个
    执行期间能传送的报文总数称为通信复杂度。

并行算法的复杂性度量指标2

• 处理机数p(n):求解给定问题所需的处理机数
• 并行算法的成本c(n) =t(n) x p(n)
• 成本最优(Cost Optimal):c(n)=t(n)*p(n)=串行计算的步数(节拍数)
• 工作量最优:功耗低、环保

并行算法的复杂性度量指标3(Brent定理)
令W(n)是某并行算法A在运行时间T(n)内所执行的运算量,则A使用p台处理器可在t(n)=O(W(n)/p+T(n))时间内执行完毕
W(n)和c(n)密切相关:c(n) =t(n) x p= O(W(n)/p+T(n)) x p = O(W(n) +p x T(n)), 因此当p=O(W(n)/T(n))时,c(n) = O(W(n)),W(n)和c(n)两者是渐近一致的;
推论:对于任意的p,c(n)>W(n),说明算法在运行过程中不一定能够充分利用处理器。

8.2 并行计算模型

并行计算模型通常指从并行算法的设计和分析出发,将各种并行计算机(至少某一类并行计算机)的基本特征抽象出来,形成一个抽象的计算模型。从更广的意义上说,并行计算模型为并行计算提供了硬件和软件界面,在该界面的约定下,并行系统硬件设计者和软件设计者可以开发对并行性的支持机制,从而提高系统的性能。

8.2.1 PRAM (SIMD-SM)模型

并行随机存取机器(Parallel Random Access Machine, PRAM)模型,也称为 SIMD-SM模型(共享存储的SIMD模型)

  • 一个集中的共享存储器,假设其容量M无限大;
  • N个功能相同的处理器,每个处理器具有简单的算术运算和逻辑判断能力,每个处理器都具有局部存储器LM。
  • 所有指令均按照操作,在每一个计算步内,任一个处理器均可通过对共享存储器的某共享单元读写,同其他任一处理器交换数据,因此要求所有处理器共享单一的数据地址空间;
  • 每个处理器内部都没有控制器组件,所有的处理器共享一个控制器, 因此要求所有处理器共享单一的程序地址空间;
  • 采用隐式同步机制,诸如处理器间通讯、存储管理、进程同步、存储 带宽和延迟等并行机的低级操作细节均隐含于模型中。

请添加图片描述

PRAM (SIMD-SM)计算模式

  • PRAM-EREW互斥读互斥写(最弱)
  • PRAM-CREW并发读互斥写(居中)
  • PRAM-CRCW并发读并发写(最强)
    • C代表Concurrent,允许并发操作
    • E-代表Exclusive,禁止并发操作

PRAM (SIMD-SM)复杂度分析
TEREW = O(TCREW *log p) = O(TCRCW * log p)

如果一个算法在PRAM-CREW或PRAM-CRCW上的时间复杂度为T,则这个算法可以在PRAM-EREW上以 时间复杂度为logp x T运行。

PRAM-CRCW的分类
• Common PRAM-CRCW:仅允许所有处理器同时写入相同数据
• Priority PRAM-CRCW:仅允许优先级最高的处理器写入
• Arbitrary PRAM-CRCW:允许任意处理器自由写入

(MIMD-SM)模型
异步并行随机存取机器(Asynchronous Parallel Random Access Machine, APRAM)模型,也称为MIMD-SM模型,也称为分相(Phase)PRAM模型。

• 一个集中的共享存储器,假设其容量M无限大;
• N个处理器,每个处理器内部,有简单的算术运算和逻辑判断电路,有独立的控制器,有局部存储器LM,有局部时钟;
• 处理器之间的通信要通过共享存储器来完成,因此要求所有处理器共享单一的数据地址空间;
• 每个处理器内部都有独立的控制器组件,因此要求所有处理器都有独立得程序地址空间;
异步操作+显式同步。系统没有全局时钟,每个处理器异步的执行局 部程序,处理器之间的时间依赖关系(例如,通过共享变量的读写操作实 现通信等)需要在各个处理器的局部程序中加入同步路障(Synchronization Barrier)来实现,两次同步路障的时间间隔称为一个相(phase)

请添加图片描述

请添加图片描述

APRAM (MIMD-SM)计算模式分析
• 整个计算过程系由一系列同步路障分开的多个全局相所组成。
• 在每个全局相内,每个处理器异步的运行其局部程序;
• 每个局部程序中的最后一条指令是一条同步路障指令;
• 各个处理器均可异步地读取和写入全局存储器,但在同一个全局相内不允许两个处理器访问同一存储单元。
• 程序内指令的分类:全局同步,全局读/写,局部操作

APRAM (MIMD-SM)复杂度分析:
• 设局部操作为单位时间;
• 全局读/写平均时间为d,d随着处理器数目的增加而增加;
• 同步路障时间为B=B§,它是处理器数p的非降函数,通常
处理器越多导致同步时间越长。
• 设Ti为第i个全局相内各处理器执行时间最长者;
• 则T=T1+T2+…+Tn+ B x (n-1)

8.2.3 BSP (MIMD-DM)模型

块同步(Bulk Synchronization Parallel)模型,也称为MIMD- DM(distributed memory)模型,也称为大同步模型、桥模型, 桶同步并行模型。
• 系统中有p个计算节点,每个计算节点内部有独立的运算 器,独立的控制器,独立的存储器,独立的局部时钟;因此, 每个处理器有独立的数据地址空间和程序地址空间,可以异步 的执行局部程序;
• 系统中有一个路由器,该路由器连接所有计算节点,实施计算节点之间点到点的消息传递,该路由器的吞吐率和延迟是有限的,吞吐率th(字节每秒),传输延迟tl(秒);
• 系统中有一个路障同步器,路障同步器每隔时间间隔L完 成一次全局路障同步操作,以实现计算节点之间的时间依赖关 系(例如,通过共享变量的读写操作实现通信等)。请添加图片描述

请添加图片描述
请添加图片描述

BSP(MIMD-DM)复杂度分析:
• 设Wk为第k个超级步内各节点局部程序中本地计算运行时间最 长者;
• 设Hk为第k个超级步内各节点局部程序中收发消息个数最多者 的收发操作执行时间;
• 设每次全局同步路障的开销为B; • 设每个数据包大小q个字节;
• 则Hk=h*(tl (传输延迟) +q/th(吞吐率)) • 一个超级步内的总时间开销为Tk=Wk + Hk +B; (Tk需要小于 等于L,效率为Tk/L)
• s个超级步内的总时间开销为T=W1+W2+…+Ws +
H1+H2+…+Hs + s x B;(T需要小于等于sL,效率为T/(sL))
BSP与MapReduce对比
• 执行机制:MapReduce是一个数据流模型,每个任务只是对输入数
据进行处理,产生的输出数据作为另一个任务的输入数据,并行任
务之间独立地进行,串行任务之间以磁盘和数据复制作为交换介质
和接口。
• BSP是一个状态模型,各个子任务在本地的子图数据上进行计算、
通信、修改图的状态等操作,并行任务之间通过消息通信交流中间
计算结果,不需要像MapReduce那样对全体数据进行复制。
• MapReduce的设计初衷:解决大规模、非实时数据处理问题。"大规
模"决定数据有局部性特性可利用(从而可以划分)、可以批处理;
"非实时"代表响应时间可以较长,有充分的时间执行程序。而BSP
模型在实时处理有优异的表现。这是两者最大的一个区别。

8.2.4LogP(MIMD-DM)模型

• LogP是使用L,O,G,P四个参数来描述的一种面向分布式存储 器、点对点通信的多计算机系统的并行计算模型。
• L (Latency) :表示信息从源节点到目的节点所需的时间;
• O (Overhead) :表示节点接收或发送一条消息所需额外开销 (操作系统开销和网络软件开销),并且在此期间节点不 能做作任何操作;
• G (Gap):表示节点连续进行两次发送或接收消息之间必须 有的时间间隔,超过此间隔则数据包会因拥塞而被网络丢 弃,因此实际上此参数是对网络的限制而非对节点的限制;
• P (Processor) :表示节点的数目

请添加图片描述

LogP(MIMD-DM)模型的特点

• 系统中有p个计算节点,每个计算节点内部有独立的
运算器,独立的控制器,独立的存储器,独立的局部时钟;
因此,每个处理器有独立的数据地址空间和程序地址空间,
可以异步的执行局部程序;
• 系统中有一个大型互连网络(多个路由器节点组成的
数据交换阵列),该互连网络连接所有节点,实施节点之
间点到点的消息传递,该互连网络的带宽和延迟是有限的,
带宽为g的倒数(字节每秒),传输延迟L(秒);
• 通过节点间的个体消息传递实现同步操作,一旦消息
到达了处理器就可以立即使用。

LogP模型小结

  • 即时通信
    • LogP不再把所有的计算和通信视为一个整体行为,而是一个单独的进程的个体活动;它让每个进程按需排布计算操作和消息收发,一旦收到消息立即可以使用;
  • 同步开销 LopP不需要路障同步器,将路障同步的开销降低为两个进程之间的信息收发时间差;
  • 硬件气泡
    •节点执行计算操作时网络资源空闲,节点执行消息收发时计算资源空闲,非阻塞进程不必等待阻塞进程避免了节点空转;可使用节点内多进程/多线程来填充气泡
  • Tradeoff
    • 编程的随意性v.s.性能的可预测性

请添加图片描述

Multi-BSP (多层架构)模型

multi-BSP从两个方向拓展了BSP :
• multi-BSP model是一个层次模型,它可以表示出单芯片或多芯片架构中的多个memory或多个cache。
• 在每一层中,multi-BSP都将存储大小作为一个参数。

Multi-BSP model实际上是一个深度为D的树,内部节点表示memory 和cache,叶子节点表示处理器,每一层有四个参数(pi, gi, Li, mi):
• pi表示子组件的数量,
• gi表示通信带宽,
• Li表示同步成本,
• mi表示memory或cache的大小。

Multi-BSP (多层架构)模型的架构
请添加图片描述

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

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

相关文章

java疫情期间社区出入管理系统-计算机毕业设计源码21295

摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对疫情期间社区出入管理等问题,对…

【算法挨揍日记】day21——64. 最小路径和、174. 地下城游戏

64. 最小路径和 64. 最小路径和 题目描述: 给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。 说明:每次只能向下或者向右移动一步。 解题思路: 状态表示&…

geemap学习笔记011:可视化遥感影像随时间的变化

前言 本节主要是介绍 .ts_inspector 工具,它是可以可视化遥感影像随时间的变化,与先前文章中介绍的.split_map差别在于,它可以加载时间序列数据。 1 导入库 !pip install geemap #安装geemap库 import ee import geemapgeemap.show_youtub…

蔚来「换电」赚钱养家,长安首家进场站台

作者 | 张祥威 编辑 | 德新 蔚来的「换电」业务开始赚钱养家。 11月21日下午,蔚来宣布与长安汽车签署了换电业务的合作协议,双方将在换电网络建设与共享、换电车型研发等方面展开深入合作,并在推动建立换电电池标准、建立高效的电池资产管…

909-2014-T3

文章目录 1.原题2.算法思想3.关键代码4.完整代码5.运行结果 1.原题 有n个顶点的无向图,使用邻接矩阵作为存储结构。为减少存储空间,使用数组按照行主映射方式仅保存下三角矩阵。请给出映射公式,并编写算法计算给定顶点的度。叙述算法思想并用…

vue年季度月联动筛选(el-cascader实现)

默认显示当年当季当月 <label class"font-weight">时间范围</label> <el-cascaderplaceholder"请选择":options"timeOption"filterableclearablechange-on-selectv-model"timeRange":props"{emitPath: true}&quo…

python 对图像进行聚类分析

import cv2 import numpy as np from sklearn.cluster import KMeans import time# 中文路径读取 def cv_imread(filePath, cv2_falgcv2.COLOR_BGR2RGB): cv_img cv2.imdecode(np.fromfile(filePath, dtypenp.uint8), cv2_falg) return cv_img# 自定义装饰器计算时间 def…

服务器 jupyter 文件名乱码问题

对于本台电脑&#xff0c;autodl服务器&#xff0c;上传中文文件时&#xff0c;从压缩包名到压缩包里的文件名先后会出现中文乱码的问题。 Xftp 首先是通过Xftp传输压缩包到Autodl服务器&#xff1a; 1、打开Xftp&#xff0c;进入软件主界面&#xff0c;点击右上角【文件】菜…

Hadoop学习笔记:运行wordcount对文件字符串进行统计案例

文/朱季谦 我最近使用四台Centos虚拟机搭建了一套分布式hadoop环境&#xff0c;简单模拟了线上上的hadoop真实分布式集群&#xff0c;主要用于业余学习大数据相关体系。 其中&#xff0c;一台服务器作为NameNode&#xff0c;一台作为Secondary NameNode&#xff0c;剩下两台当…

(一)RISC-V 指令集及寄存器介绍

1. RISC-V指令集介绍 RISC-V 念作 “risk-five”&#xff0c;代表着 Berkeley 所研发的第五代精简指令集。 该项目 2010 年始于加州大学伯克利&#xff08;Berkeley&#xff09;分校&#xff0c;希望选择一款 ISA用于科研和教学。经过前期多年的研究和选型&#xff0c;最终决定…

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

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

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

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

Python批量备份交换机配置+自动巡检

自动巡检功能考虑到不同设备回显有所不同&#xff0c;需要大量正则匹配&#xff0c;暂时没时间搞这些&#xff0c;所以索性将命令回显全部显示&#xff0c;没做进一步的回显提取。 以下是程序运行示例&#xff1a;#自动备份配置&#xff1a; 备份完成后&#xff0c;将配置保存于…

Android加固为何重要?很多人不学

为什么要加固&#xff1f; APP加固是对APP代码逻辑的一种保护。原理是将应用文件进行某种形式的转换&#xff0c;包括不限于隐藏&#xff0c;混淆&#xff0c;加密等操作&#xff0c;进一步保护软件的利益不受损坏。总结主要有以下三方面预期效果&#xff1a; 1.防篡改&#x…

visionOS空间计算实战开发教程Day 5 纹理和材质

在​​Day 4​​​中我们使用了​​ImmersiveSpace​​并在其中添加了一个立方体&#xff0c;但对这个立方体我们只配置了长宽高&#xff0c;并没有做进一步的操作。 本文中我们会通过纹理和材质对这个立方体的六个面分别进行不同的绘制。首先我们将​​ImmersiveView​​分拆…

UE5的TimeLine的理解

一直以来&#xff0c;我对动画的理解一直是这样的&#xff1a; 所谓动画&#xff0c;就是可导致可视化内容变化的参数和时间的对应关系。 我不能说这个观点现在过时了&#xff0c;只能说自己狭隘了。因为UE的TimeLine的设计理念真让人竖大拇指。 当我第一次看到TimeLine节点的…

FreeSQL 基本使用

FreeSQL连接MySQL 安装 FeeSql相关库 FreeSql 基本库 FreeSql.DbContext FreeSql.Extensions.Linq linq语法扩展库 FreeSql.Provider.Mysql MySQL连接库 新建DbConent.cs public class Base{static string connstr "Data Source127.0.0.1;Port3306;User IDroot;Pa…

Ubuntu apt-get换源

一、参考资料 ubuntu16.04更换镜像源为阿里云镜像源 二、相关介绍 1. apt常用命令 sudo apt-get clean sudo apt-get update2. APT加速工具 轻量小巧的零配置 APT 加速工具&#xff1a;APT Proxy GitHub项目地址&#xff1a;apt-proxy 三、换源关键步骤 1. 更新阿里源 …

猫咪不长肉怎么回事?搬空家底的增肥效果好的猫罐头分享

秋冬到了&#xff0c;北方有供暖还好&#xff0c;咱南方的小猫咪全靠一身正气&#xff0c;不囤点脂肪天生怕冷的小猫咪要怎么过冬啊&#xff1f;咋吃都吃不胖的猫可愁怀铲屎官了&#xff0c;想想我新手养猫那些年&#xff0c;为了给我家猫养胖点我是做了不少努力&#xff0c;当…

地奥集团大健康产业再添解酒黑科技:“酒必妥”!

地奥集团成都药业股份有限公司隶属于地奥集团旗下的子公司&#xff0c;至今已经超过百年历史&#xff0c;主要围绕化学药品在耕耘奉献。尽管公司历来都低调&#xff0c;但是地奥这块牌子在质量把控&#xff0c;安全生产把控等药品领域还是响当当。历年来&#xff0c;公司持续对…