码迷,mamicode.com
首页 > 编程语言 > 详细

并行算法设计

时间:2018-11-17 13:22:29      阅读:301      评论:0      收藏:0      [点我收藏+]

标签:glob   expec   一点   bre   cte   基本概念   语句   最坏情况   rar   

并行算法的设计基础

并行算法的定义和分类

  • 并行算法:一些可同时执行的诸进程的集合,这些进程互相作用和协调动作从而达到给定问题的求解。

并行算法分类

  • 数值计算与非数值计算
  • 同步算法和异步算法
  • 分布算法
  • 确定算法和随机算法

并行算法的表达

描述语言

  • 可以使用类Algol、类Pascal等。
  • 在描述语言中引入并行语句。

并行算法的复杂性度量

串行算法的复杂性度量

  • 最坏情况下的复杂度(Worst-CASE Complexity)
  • 期望复杂度(Expected Complexity)

并行算法的复杂性度量

  • 运行时间t(n):包含计算时间和通信时间,分别用计算时间步和选路时间步作单位。n为问题实例的输入规模。
  • 处理器数p(n)
  • 并行算法成本c(n):c(n)=t(n)p(n)
  • 总运算量W(n):并行算法求解问题时所完成的总的操作步数。

 

Brent定理

 

  令W(n)是某并行算法A在运行时间T(n)内所执行的运算量,则A使用p台处理器可在t(n)=O(W(n)/p+T(n))时间内执行完毕。

  • W(n)和c(n)密切相关
  • P=O(W(n)/T(n))时,W(n)和c(n)两者是渐进一致的
  • 对于任意的p,c(n)>W(n)

并行算法中的同步和通讯

同步

  • 同步是在时间上强使各执行进程在某一点必须互相等待
  • 可用软件、硬件和固件的方法来实现

通讯

  • 共享存储多处理器使用:global read(X,Y)和global write(X,Y)
  • 分布存储多计算机使用:send(X,i)和receive(Y,j)

并行计算模型

PRAM模型

PRAM(Parallel Random Access Machine)模型是多指令流多数据流(MIMD)并行机中的一种具有共享存储的模型。

基本概念

  • 由Fortune和Wyllie于1978年提出,又称SIMD-SM模型。有一个集中的共享存储器和一个指令控制器,通过SM的R/W交换数据,隐式同步计算。

结构图

技术分享图片

分类

(1)PRAM-CRCW并发度并发写

  • CPRAM-CRCW(Common PRAM-CRCW):仅允许写入相同数据
  • PPRAM-CRCW(Priority PRAM-CRCW):仅允许优先级最高的处理器写入
  • APRAM-CRCW(Arbitrary PRAM-CRCW):允许任意处理器自由写入

(2)PRAM-CREW并发读互斥写

(3)PRAM-EREW互斥读互斥写

计算能力比较

  • PRAM-CRCW是最强的计算模型,PRAM-EREW可logp倍模拟PRAM-CREW和PRAM-CRCW

技术分享图片

优点

 

并行算法设计

标签:glob   expec   一点   bre   cte   基本概念   语句   最坏情况   rar   

原文地址:https://www.cnblogs.com/zhangzefei/p/9973332.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!