并行算法的抽象模型.ppt
《并行算法的抽象模型.ppt》由会员分享,可在线阅读,更多相关《并行算法的抽象模型.ppt(41页珍藏版)》请在三一办公上搜索。
1、并行算法的抽象模型,并行算法的定义和分类,并行算法的定义算法并行算法:一些可同时执行的诸进程的集合,这些进程互相作用和协调动作从而达到给定问题的求解。并行算法的分类数值计算和非数值计算同步算法和异步算法分布算法确定算法和随机算法,并行算法的表达,描述语言可以使用类Algol、类Pascal等;在描述语言中引入并行语句。并行语句示例Par-do语句(Do in parallle)算法要并行执行 for i=1 to n par-do end forfor all语句(几个处理器同时执行相同的操作)for all Pi,where 0ik end for,并行算法的复杂性度量,串行算法的复杂性度量
2、最坏情况下的复杂度(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(
3、n)和c(n)两者是渐进一致的对于任意的p,c(n)W(n)一个算法在运行过程中,不一定都能充分地利用有效地处理器去工作。,并行算法的同步,同步概念同步是在时间上强使各执行进程在某一点必须互相等待;可用软件、硬件和固件的办法来实现。同步语句示例算法4.1 共享存储多处理器上求和算法 输入:A=(a0,an-1),处理器数p 输出:S=ai Begin(1)S=0(2.3)lock(S)(2)for all Pi where 0ip-1 do S=S+L(2.1)L=0(2.4)unlock(S)(2.2)for j=i to n step p do end for L=L+aj End end
4、 for end for,并行算法的通信,通信(使用通信原语)共享存储多处理器使用:global read(X,Y)和global write(X,Y)分布存储多计算机使用:send(X,i)和receive(Y,j)通信语句示例算法4.2 分布存储多计算机上矩阵向量乘算法 输入:处理器数p,A划分为B=A1.n,(i-1)r+1.ir,x划分为w=w(i-1)r+1;ir 输出:P1保存乘积AX Begin(1)Compute z=Bw(2)if i=1 then yi=0 else receive(y,left)endif(3)y=y+z(4)send(y,right)(5)if i=1
5、then receive(y,left)End,抽象模型的概念,并行计算模型通常指从并行算法的设计和分析出发,将各种并行计算机(至少某一类并行计算机)的基本特征抽象出来,形成一个抽象的计算模型。从更广的意义上说,并行计算模型为并行计算提供了硬件和软件界面,在该界面的约定下,并行系统硬件设计者和软件设计者可以开发对并行性的支持机制,从而提高系统的性能。,并行计算机的抽象模型,并行计算机的理论模型是从物理模型抽象的;为开发并行算法提供了一种方便的框架;用这些模型可求得并行计算机的理论性能界限;可在芯片制作前估算芯片区的VLSI复杂性和执行时间。,一、时间与空间复杂性计算机求解一个规模为s的问题的算
6、法复杂性取决于:执行时间存储空间,时间复杂性:时间复杂性g(s)为O(f(s),可读作“数量级为f(s)”,如存在正的常量c和s0,则对所有ss0的非负值就有g(s)cf(s)。,空间复杂性为问题规模s的函数。渐近空间复杂性(asymptotic spacecomplexity)主要与大问题的数据存储有关,而程序(代码)存储的需求和输入数据的存储不考虑在内。串行算法的时间复杂性简称为串行复杂性;并行算法的时间复杂性就称为并行复杂性;并行复杂性应比串行复杂性低,至少是相近。只考虑确定性算法。,并行随机存取机模型(Parallel RandomAccess Machine,PRAM)目的:可用来开
7、发并行算法和分析可扩展性及复杂性。,PRAM模型,基本概念由Fortune和Wyllie1978年提出,又称SIMD-SM模型。有一个集中的共享存储器和一个指令控制器,通过SM的R/W交换数据,隐式同步计算。结构图,在PRAM上的一个并行程序由n个进程组成,其中第i个进程留驻在第i个处理器上,且由一串指令所组成。在每个基本时间步(称为周期),每个处理器执行一条指令。这些指令包括数据传送、算/逻、控制流以及I/O指令,在典型的顺序计算机中均有这些指令。,1.同构性规模为1的PRAM退化为传统的RAM。这种机器为SISD。当处理器多于1个时,一个PRAM将访问多个数据流,且通常可执行多个指令流。因
8、此PRAM是一个MIMD机器。,址空间 PRAM模型所有进程对所有存储单元均有相等的访问时间-均匀存储器访问(UMA)模型。针对多计算机不合适-在多计算机中,每个处理机有它自己的分离地址空间。这些机器被称为具有多地址空间。多计算机的处理机间通信不是通过共享变量,而是借助消息传递。,存储器模型各种方案的主要区别在于如何协调CW的冲突。四种PRAM模型方案都与存储器读写如何处理有关。(1)EREW-PRAM模型这种模型禁止一台以上处理机同时读、写同一存储单元(Snir,1982;Karp和Ramachandran,1988)。这是限制最大的PRAM模型。(2)CREW-PRAM模型用互斥使写冲突避
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 并行 算法 抽象 模型
链接地址:https://www.31ppt.com/p-6225517.html