《并行算法的设计与分析》6.ppt

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《并行算法的设计与分析》6

Y.Xu Copyright USTC * Parallel algorithms * / Ch6 佰草集现代中草药个人护理九周年[莲忆]香水上市发布会活动策划案惟德行万房城大型揭幕仪式活动策划案金色莱茵楼盘项目夏季活动季启动仪式活动方案 * Parallel Algorithms * / Ch6 Parallel Algorithms Chapter 6 Parallel Search 主要内容 6.1 单处理器上的搜索 6.2 SIMD共享存储模型上有序表的搜索 6.3 SIMD共享存储模型上随机序列的搜索 6.4 树连接的SIMD模型上随机序列的搜索 6.5 网孔连接的SIMD模型上随机序列的搜索 6.1 单处理器上的搜索 1. 随机序列 顺序查找,时间O(n) 2. 有序序列 二分查找,时间O(logn) 主要内容 6.1 单处理器上的搜索 6.2 SIMD共享存储模型上有序表的搜索 6.3 SIMD共享存储模型上随机序列的搜索 6.4 树连接的SIMD模型上随机序列的搜索 6.5 网孔连接的SIMD模型上随机序列的搜索 6.2 SIMD共享存储模型上有序表的搜索 6.2.1 SIMD-EREW上的搜索 算法6.3:并行二分查找 输入:有序序列S=(s1,s2,…,sn)和x 输出:若sk=x, 则输出k,否则输出0 begin ①将x播送到N个处理器中; //时间O(logN) ②将S分成N个子段,S(i)={s(i-1)n/N+1,…,sin/N}, i=1~N 含播送N操作; //时间O(logN) ③Pi在S(i)中用二分查找; //时间O(log(n/N)) ④某个Pi找到sk=x,则返回k, 否则返回0; //O(logN) end 时间: O(log(n/N))+O(logN)+ O(logN)=O(logn) 6.2 SIMD共享存储模型上有序表的搜索 6.2.2 SIMD-CREW上的搜索 方法1:同SIMD-EREW; 方法2: N+1分查找; 算法:并行N+1分查找 begin 1. Pi将x与sim进行比较,其中 ; 1.1 若sim=x, 则返回im 1.2 若xsim, 则标记ci=左 1.3 若xsim, 则标记ci=右 2. 取可能含x的子段 2.1 若c1=左,则取S(0)=(s1,..,sm-1),递归并行搜索; 2.2 若cN=右,则取S(N)=(sNm+1,..,sn),递归并行搜索; 2.3 必存在唯一的i0, 使ci0=右,ci0+1=左,则取S(i0)=(si0*m+1,..,s(i0+1)m),递归并行搜索 end 6.2 SIMD共享存储模型上有序表的搜索 6.2.2 SIMD-CREW上的搜索 示例:S={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}, x=7, n=16, p(n)=2 第1次查找: 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 m=6 第2次查找: 7,8,9,10,11 m=2 第3次查找: 7 (找到) 6.2 SIMD共享存储模型上有序表的搜索 6.2.2 SIMD-CREW上的搜索 并行N+1分查找算法时间复杂性分析 定理6.1 给定长度为n的有序表和处理器数N,则SIMD-CREW上N+!分搜索算法至少需要 次比较。这里g实际是满足n≤(N+1)g-1的最小整数。 证: 首先证明g次比较一定能找到。对g作归纳 (1)g=1,n≤(N+1)1-1=N, 显然1次可找到;

文档评论(0)

gz2018gz + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档