第四章并行算法的设计基础精选文档.ppt
《第四章并行算法的设计基础精选文档.ppt》由会员分享,可在线阅读,更多相关《第四章并行算法的设计基础精选文档.ppt(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第四章并行算法的设计基础2022/10/191现代密码学理论与实践之五本讲稿第一页,共二十八页第二篇 并行算法的设计 第四章 并行算法的设计基础 第五章 并行算法的一般设计方法 第六章 并行算法的基本设计技术 第七章 并行算法的一般设计过程2022/10/192现代密码学理论与实践之五本讲稿第二页,共二十八页第四章 并行算法的设计基础 4.1 并行算法的基础知识 4.2 并行计算模型2022/10/193现代密码学理论与实践之五本讲稿第三页,共二十八页4.1 并行算法的基础知识 4.1.1 并行算法的定义和分类 4.1.2 并行算法的表达 4.1.3 并行算法的复杂性度量 4.1.4 并行算法
2、中的同步和通讯2022/10/194现代密码学理论与实践之五本讲稿第四页,共二十八页 并行算法的定义和分类并行算法的定义 算法算法 并行算法:一些可同时执行的诸进程的集合,这些进程互相作并行算法:一些可同时执行的诸进程的集合,这些进程互相作用和协调动作从而达到给定问题的求解。用和协调动作从而达到给定问题的求解。并行算法的分类 数值计算和非数值计算数值计算和非数值计算 同步算法和异步算法同步算法和异步算法 分布算法分布算法 确定算法和随机算法确定算法和随机算法2022/10/195现代密码学理论与实践之五本讲稿第五页,共二十八页4.1 并行算法的基础知识 4.1.1 并行算法的定义和分类 4.1
3、.2 并行算法的表达 4.1.3 并行算法的复杂性度量 4.1.4 并行算法中的同步和通讯2022/10/196现代密码学理论与实践之五本讲稿第六页,共二十八页 并行算法的表达描述语言 可以使用类可以使用类AlgolAlgol、类、类PascalPascal等;等;在描述语言中引入并行语句。在描述语言中引入并行语句。并行语句示例 Par-doPar-do语句语句 for i=1 to n par-dofor i=1 to n par-do end for end for for allfor all语句语句 for all Pi,where 0for all Pi,where 0ikik en
4、d for end for 2022/10/197现代密码学理论与实践之五本讲稿第七页,共二十八页4.1 并行算法的基础知识 4.1.1 并行算法的定义和分类 4.1.2 并行算法的表达 4.1.3 并行算法的复杂性度量 4.1.4 并行算法中的同步和通讯2022/10/198现代密码学理论与实践之五本讲稿第八页,共二十八页 并行算法的复杂性度量串行算法的复杂性度量 最坏情况下的复杂度最坏情况下的复杂度(Worst-CASE Complexity)(Worst-CASE Complexity)期望复杂度期望复杂度(Expected Complexity)(Expected Complexity
5、)并行算法的几个复杂性度量指标 运行时间运行时间t(n):t(n):包含计算时间和通讯时间,分别用计算时间包含计算时间和通讯时间,分别用计算时间步和选路时间步作单位。步和选路时间步作单位。n n为问题实例的输入规模。为问题实例的输入规模。处理器数处理器数p(n)p(n)并行算法成本并行算法成本c(n):c(n)=t(n)p(n)c(n):c(n)=t(n)p(n)总运算量总运算量W(n):W(n):并行算法求解问题时所完成的总的操作步数。并行算法求解问题时所完成的总的操作步数。2022/10/199现代密码学理论与实践之五本讲稿第九页,共二十八页 并行算法的复杂性度量Brent定理令令W(n)
6、W(n)是某并行算法是某并行算法A A在运行时间在运行时间T(n)T(n)内所执行的运算内所执行的运算量,则量,则A A使用使用p p台处理器可在台处理器可在t(n)=O(W(n)/p+T(n)t(n)=O(W(n)/p+T(n)时间时间内执行完毕。内执行完毕。W(n)W(n)和和c(n)c(n)密切相关密切相关 P=O(W(n)/T(n)P=O(W(n)/T(n)时,时,W(n)W(n)和和c(n)c(n)两者是渐进一致的两者是渐进一致的 对于任意的对于任意的p p,c(n)W(n)c(n)W(n)2022/10/1910现代密码学理论与实践之五本讲稿第十页,共二十八页4.1 并行算法的基础
7、知识 4.1.1 并行算法的定义和分类 4.1.2 并行算法的表达 4.1.3 并行算法的复杂性度量 4.1.4 并行算法中的同步和通讯2022/10/1911现代密码学理论与实践之五本讲稿第十一页,共二十八页 并行算法的同步 同步概念同步概念 同步是在时间上强使各执行进程在某一点必须互相等待;同步是在时间上强使各执行进程在某一点必须互相等待;可用软件、硬件和固件的办法来实现。可用软件、硬件和固件的办法来实现。同步语句示例同步语句示例 算法算法4.1 4.1 共享存储多处理器上求和算法共享存储多处理器上求和算法 输入:输入:A=(aA=(a0 0,a,an-1n-1),),处理器数处理器数p
8、p 输出:输出:S=aS=ai i Begin Begin (1)S=0 (2.3)lock(S)(1)S=0 (2.3)lock(S)(2)for all Pi where 0 (2)for all Pi where 0i ip-1p-1 do S=S+Ldo S=S+L (2.1)L=0 (2.4)unlock(S)(2.1)L=0 (2.4)unlock(S)(2.2)for j=i to n step p do end for (2.2)for j=i to n step p do end for L=L+a L=L+aj j End End end for end for end f
9、or end for 2022/10/1912现代密码学理论与实践之五本讲稿第十二页,共二十八页 并行算法的通讯 通讯通讯 共享存储多处理器使用:共享存储多处理器使用:global read(X,Y)global read(X,Y)和和global write(X,Y)global write(X,Y)分布存储多计算机使用:分布存储多计算机使用:send(X,i)send(X,i)和和receive(Y,j)receive(Y,j)通讯语句示例通讯语句示例 算法算法4.2 4.2 分布存储多计算机上矩阵向量乘算法分布存储多计算机上矩阵向量乘算法 输入:处理器数输入:处理器数p,Ap,A划分为划
10、分为B=A1.n,(i-1)r+1.ir,B=A1.n,(i-1)r+1.ir,x x划分为划分为w=w(i-1)r+1;ir w=w(i-1)r+1;ir 输出:输出:P P1 1保存乘积保存乘积AXAX Begin Begin (1)Compute z=Bw (1)Compute z=Bw (2)if i=1 then y (2)if i=1 then yi i=0 else receive(y,left)endif=0 else receive(y,left)endif (3)y=y+z (3)y=y+z (4)send(y,right)(4)send(y,right)(5)if i=1
11、 then receive(y,left)(5)if i=1 then receive(y,left)End End 2022/10/1913现代密码学理论与实践之五本讲稿第十三页,共二十八页第四章 并行算法的设计基础 4.1 并行算法的基础知识 4.2 并行计算模型2022/10/1914现代密码学理论与实践之五本讲稿第十四页,共二十八页4.2 并行计算模型 4.2.1 PRAM模型 4.2.2 异步APRAM模型 4.2.3 BSP模型 4.2.4 logP模型2022/10/1915现代密码学理论与实践之五本讲稿第十五页,共二十八页 PRAM模型基本概念 由由FortuneFortune
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第四 并行 算法 设计 基础 精选 文档
限制150内