邢台做移动网站,网站快捷按钮以什么方式做,wordpress主题的安装教程,锦州网站建设公司文章目录 并行与分布式计算 第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#xff08;MIMD-DM#xff09;模型 并行与分布式计算 第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.4LogPMIMD-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 Optimalc(n)t(n)*p(n)串行计算的步数节拍数 • 工作量最优功耗低、环保
并行算法的复杂性度量指标3Brent定理 令W(n)是某并行算法A在运行时间T(n)内所执行的运算量则A使用p台处理器可在t(n)O(W(n)/pT(n))时间内执行完毕 W(n)和c(n)密切相关c(n) t(n) x p O(W(n)/pT(n)) x p O(W(n) p x T(n)) 因此当pO(W(n)/T(n))时c(n) O(W(n))W(n)和c(n)两者是渐近一致的 推论对于任意的pc(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模型也称为分相PhasePRAM模型。
• 一个集中的共享存储器假设其容量M无限大 • N个处理器每个处理器内部有简单的算术运算和逻辑判断电路有独立的控制器有局部存储器LM有局部时钟 • 处理器之间的通信要通过共享存储器来完成因此要求所有处理器共享单一的数据地址空间 • 每个处理器内部都有独立的控制器组件因此要求所有处理器都有独立得程序地址空间 • 异步操作显式同步。系统没有全局时钟每个处理器异步的执行局 部程序处理器之间的时间依赖关系例如通过共享变量的读写操作实 现通信等需要在各个处理器的局部程序中加入同步路障Synchronization Barrier来实现两次同步路障的时间间隔称为一个相phase APRAM (MIMD-SM)计算模式分析 • 整个计算过程系由一系列同步路障分开的多个全局相所组成。 • 在每个全局相内每个处理器异步的运行其局部程序 • 每个局部程序中的最后一条指令是一条同步路障指令 • 各个处理器均可异步地读取和写入全局存储器但在同一个全局相内不允许两个处理器访问同一存储单元。 • 程序内指令的分类全局同步全局读/写局部操作
APRAM (MIMD-SM)复杂度分析 • 设局部操作为单位时间 • 全局读/写平均时间为dd随着处理器数目的增加而增加 • 同步路障时间为BB§它是处理器数p的非降函数通常 处理器越多导致同步时间越长。 • 设Ti为第i个全局相内各处理器执行时间最长者 • 则TT1T2…Tn B x (n-1)
8.2.3 BSP (MIMD-DM)模型
块同步Bulk Synchronization Parallel模型也称为MIMD- DMdistributed memory模型也称为大同步模型、桥模型 桶同步并行模型。 • 系统中有p个计算节点每个计算节点内部有独立的运算 器独立的控制器独立的存储器独立的局部时钟因此 每个处理器有独立的数据地址空间和程序地址空间可以异步 的执行局部程序 • 系统中有一个路由器该路由器连接所有计算节点实施计算节点之间点到点的消息传递该路由器的吞吐率和延迟是有限的吞吐率th字节每秒传输延迟tl秒 • 系统中有一个路障同步器路障同步器每隔时间间隔L完 成一次全局路障同步操作以实现计算节点之间的时间依赖关 系例如通过共享变量的读写操作实现通信等。 BSPMIMD-DM复杂度分析 • 设Wk为第k个超级步内各节点局部程序中本地计算运行时间最 长者 • 设Hk为第k个超级步内各节点局部程序中收发消息个数最多者 的收发操作执行时间 • 设每次全局同步路障的开销为B • 设每个数据包大小q个字节 • 则Hkh*(tl 传输延迟 q/th吞吐率) • 一个超级步内的总时间开销为TkWk Hk B (Tk需要小于 等于L效率为Tk/L) • s个超级步内的总时间开销为TW1W2…Ws H1H2…Hs s x BT需要小于等于sL效率为T/(sL) BSP与MapReduce对比 • 执行机制MapReduce是一个数据流模型每个任务只是对输入数 据进行处理产生的输出数据作为另一个任务的输入数据并行任 务之间独立地进行串行任务之间以磁盘和数据复制作为交换介质 和接口。 • BSP是一个状态模型各个子任务在本地的子图数据上进行计算、 通信、修改图的状态等操作并行任务之间通过消息通信交流中间 计算结果不需要像MapReduce那样对全体数据进行复制。 • MapReduce的设计初衷解决大规模、非实时数据处理问题。大规 模决定数据有局部性特性可利用从而可以划分、可以批处理 非实时代表响应时间可以较长有充分的时间执行程序。而BSP 模型在实时处理有优异的表现。这是两者最大的一个区别。
8.2.4LogPMIMD-DM模型
• LogP是使用L,O,G,P四个参数来描述的一种面向分布式存储 器、点对点通信的多计算机系统的并行计算模型。 • L (Latency) 表示信息从源节点到目的节点所需的时间 • O (Overhead) 表示节点接收或发送一条消息所需额外开销 操作系统开销和网络软件开销并且在此期间节点不 能做作任何操作 • G (Gap)表示节点连续进行两次发送或接收消息之间必须 有的时间间隔超过此间隔则数据包会因拥塞而被网络丢 弃因此实际上此参数是对网络的限制而非对节点的限制 • P (Processor) 表示节点的数目 LogPMIMD-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 (多层架构)模型的架构