




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第六章并行算法的基本设计技术第一页,共四十五页,2022年,8月28日第二篇并行算法的设计
第四章并行算法的设计基础
第五章并行算法的一般设计方法
第六章并行算法的基本设计技术
第七章并行算法的一般设计过程
第二页,共四十五页,2022年,8月28日第六章并行算法的基本设计技术
6.1划分设计技术
6.2分治设计技术
6.3平衡树设计技术
6.4倍增设计技术
6.5流水线设计技术
第三页,共四十五页,2022年,8月28日6.1划分设计技术
6.1.1均匀划分技术
6.1.2方根划分技术
6.1.3对数划分技术
6.1.4功能划分技术第四页,共四十五页,2022年,8月28日
均匀划分技术划分方法n个元素A[1..n]分成p组,每组A[(i-1)n/p+1..in/p],i=1~p示例:MIMD-SM模型上的PSRS排序
begin(1)均匀划分:将n个元素A[1..n]均匀划分成p段,每个pi处理A[(i-1)n/p+1..in/p](2)局部排序:pi调用串行排序算法对A[(i-1)n/p+1..in/p]排序(3)选取样本:pi从其有序子序列A[(i-1)n/p+1..in/p]中选取p个样本元素(4)样本排序:用一台处理器对p2个样本元素进行串行排序(5)选择主元:用一台处理器从排好序的样本序列中选取p-1个主元,并播送给其他pi(6)主元划分:pi按主元将有序段A[(i-1)n/p+1..in/p]划分成p段(7)全局交换:各处理器将其有序段按段号交换到对应的处理器中(8)归并排序:各处理器对接收到的元素进行归并排序end.第五页,共四十五页,2022年,8月28日
均匀划分技术例6.1PSRS排序过程。N=27,p=3,PSRS排序如下:第六页,共四十五页,2022年,8月28日6.1划分设计技术
6.1.1均匀划分技术
6.1.2方根划分技术
6.1.3对数划分技术
6.1.4功能划分技术第七页,共四十五页,2022年,8月28日
方根划分技术划分方法n个元素A[1..n]分成A[(i-1)n^(1/2)+1..in^(1/2)],i=1~n^(1/2)示例:SIMD-CREW模型上的Valiant归并(1975年发表)//有序组A[1..p]、B[1..q],(假设p<=q),处理器数begin(1)方根划分:A,B分别按;(2)段间比较:A划分元与B划分元比较(至多对),确定A划分元应插入B中的区段;(3)段内比较:A划分元与B相应段内元素进行比较,并插入适当的位置;(4)递归归并:B按插入的A划分元重新分段,与A相应段(A除去原划分元)构成了成对的段组,对每对段组递归执行(1)~(3),直至A组为0时,递归结束;各组仍按分配处理器;end.第八页,共四十五页,2022年,8月28日
方根划分技术第九页,共四十五页,2022年,8月28日
方根划分技术第十页,共四十五页,2022年,8月28日6.1划分设计技术
6.1.1均匀划分技术
6.1.2方根划分技术
6.1.3对数划分技术
6.1.4功能划分技术第十一页,共四十五页,2022年,8月28日
对数划分技术划分方法n个元素A[1..n]分成A[(i-1)logn+1..ilogn],i=1~n/logn示例:PRAM-CREW上的对数划分并行归并排序(1)归并过程:设有序组A[1..n]和B[1..m]
j[i]=rank(bilogm:A)为bilogm在A中的位序,即A中小于等于bilogm的元素个数(2)例:A=(4,6,7,10,12,15,18,20),B=(3,9,16,21)n=8,m=4=>logm=log4=2=>j[1]=rank(blogm:A)=rank(b2:A)=rank(9:A)=3,j[2]=…=8B0:3,9B1:16,21A0:4,6,7A1:10,12,15,18,20
A和B归并化为(A0,B0)和(A1,B1)的归并第十二页,共四十五页,2022年,8月28日6.1划分设计技术
6.1.1均匀划分技术
6.1.2方根划分技术
6.1.3对数划分技术
6.1.4功能划分技术第十三页,共四十五页,2022年,8月28日
功能划分技术划分方法
n个元素A[1..n]分成等长的p组,每组满足某种特性。示例:(m,n)选择问题(求出n个元素中前m个最小者)功能划分:要求每组元素个数必须大于m;算法:p148算法6.4
输入:A=(a1,…,an);输出:前m个最小者;
Begin(1)功能划分:将A划分成g=n/m组,每组含m个元素;(2)局部排序:使用Batcher排序网络将各组并行进行排序;(3)两两比较:将所排序的各组两两进行比较,从而形成MIN序列;(4)排序-比较:对各个MIN序列,重复执行第(2)和第(3)步,直至选出m个最小者。End第十四页,共四十五页,2022年,8月28日
功能划分技术第十五页,共四十五页,2022年,8月28日第六章并行算法的基本设计技术
6.1划分设计技术
6.2分治设计技术
6.3平衡树设计技术
6.4倍增设计技术
6.5流水线设计技术
第十六页,共四十五页,2022年,8月28日6.2分治设计技术
6.2.1并行分治设计步骤
6.2.2双调归并网络
第十七页,共四十五页,2022年,8月28日
并行分治设计步骤将输入划分成若干个规模相等的子问题;同时(并行地)递归求解这些子问题;并行地归并子问题的解,直至得到原问题的解。第十八页,共四十五页,2022年,8月28日6.2分治设计技术
6.2.1并行分治设计步骤
6.2.2双调归并网络
第十九页,共四十五页,2022年,8月28日
双调归并网络双调序列(p149定义6.2)
(1,3,5,7,8,6,4,2,0)(8,7,6,4,2,0,1,3,5)(1,2,3,4,5,6,7,8)
以上都是双调序列Batcher定理给定双调序列(x0,x1,…,xn-1),对于si=min{xi,xi+n/2}和li=max{xi,xi+n/2},则小序列(s0,s1,…,sn-1)和大序列(l0,l1,…,ln-1)
仍是双调序列第二十页,共四十五页,2022年,8月28日
双调归并网络(4,4)双调归并网络第二十一页,共四十五页,2022年,8月28日
双调归并网络Batcher双调归并算法输入:双调序列X=(x0,x1,…,xn-1)输出:非降有序序列Y=(y0,y1,…,yn-1)ProcedureBITONIC_MERG(x)Begin(1)fori=0ton/2-1par-do(1.1)si=min{xi,xi+n/2}(1.2)li=max{xi,xi+n/2}endfor(2)RecursiveCall:(2.1)BITONIC_MERG(MIN=(s0,…,sn/2-1))(2.2)BITONIC_MERG(MIN=(l0,…,ln/2-1))(3)outputsequenceMINfollowedbysequenceMAXEnd第二十二页,共四十五页,2022年,8月28日第六章并行算法的基本设计技术
6.1划分设计技术
6.2分治设计技术
6.3平衡树设计技术
6.4倍增设计技术
6.5流水线设计技术
第二十三页,共四十五页,2022年,8月28日6.3平衡树设计技术
6.3.1设计思想
6.3.2求最大值
6.3.3计算前缀和
第二十四页,共四十五页,2022年,8月28日
平衡树设计技术设计思想以树的叶结点为输入,中间结点为处理结点,由叶向根或由根向叶逐层进行并行处理。示例求最大值计算前缀和
第二十五页,共四十五页,2022年,8月28日6.3平衡树设计技术
6.3.1设计思想
6.3.2求最大值
6.3.3计算前缀和
第二十六页,共四十五页,2022年,8月28日
求最大值算法6.8:SIMD-TC(SM)上求最大值算法
Beginfork=m-1to0doforj=2kto2k+1-1par-doA[j]=max{A[2j],A[2j+1]}endforendforend图示时间分析t(n)=m×O(1)=O(logn)p(n)=n/2A1An/4An/2-1An/2An/2+1An-2An-1AnAn+1An+2An+3A2n-4A2n-3A2n-2A2n-1K=m-1K=m-2K=0P1P1P2Pn/2-1Pn/2P1Pn/2-1第二十七页,共四十五页,2022年,8月28日6.3平衡树设计技术
6.3.1设计思想
6.3.2求最大值
6.3.3计算前缀和
第二十八页,共四十五页,2022年,8月28日
计算前缀和问题定义n个元素{x1,x2,…,xn},前缀和是n个部分和:Si=x1*x2*…*xi,1≤i≤n这里*可以是+或×串行算法:Si=Si-1*xi计算时间为O(n)
并行算法:p154算法6.9SIMD-TC上非递归算法
令A[i]=xi,i=1~n,B[h,j]和C[h,j]为辅助数组(h=0~logn,j=1~n/2h)数组B记录由叶到根正向遍历树中各结点的信息(求和)数组C记录由根到叶反向遍历树中各结点的信息(播送前缀和)第二十九页,共四十五页,2022年,8月28日
计算前缀和例:n=8,p=8,C01~C08为前缀和第三十页,共四十五页,2022年,8月28日第六章并行算法的基本设计技术
6.1划分设计技术
6.2分治设计技术
6.3平衡树设计技术
6.4倍增设计技术
6.5流水线设计技术
第三十一页,共四十五页,2022年,8月28日6.4倍增设计技术
6.4.1设计思想
6.4.2表序问题
6.4.3求森林的根
第三十二页,共四十五页,2022年,8月28日
倍增设计技术设计思想又称指针跳跃(pointerjumping)技术,特别适合于处理链表或有向树之类的数据结构;当递归调用时,所要处理数据之间的距离逐步加倍,经过k步后即可完成距离为2k的所有数据的计算。示例表序问题求森林的根第三十三页,共四十五页,2022年,8月28日6.4倍增设计技术
6.4.1设计思想
6.4.2表序问题
6.4.3求森林的根
第三十四页,共四十五页,2022年,8月28日
表序问题问题描述n个元素的列表L,求出每个元素在L中的次第号(秩或位序或rank(k)),rank(k)可视为元素k至表尾的距离;示例:n=7(1)p[a]=b,p[b]=c,p[c]=d,p[d]=e,p[e]=f,p[f]=g,p[g]=g
r[a]=r[b]=r[c]=r[d]=r[e]=r[f]=1,r[g]=0(2)p[a]=c,p[b]=d,p[c]=e,p[d]=f,p[e]=p[f]=p[g]=g
r[a]=r[b]=r[c]=r[d]=r[e]=2,r[f]=1,r[g]=0(3)p[a]=e,p[b]=f,p[c]=p[d]=p[e]=p[f]=p[g]=g
r[a]=4,r[b]=4,r[c]=4,r[d]=3,r[e]=2,r[f]=1,r[g]=0(4)p[a]=p[b]=p[c]=p[d]=p[e]=p[f]=p[g]=g
r[a]=6,r[b]=5,r[c]=4,r[d]=3,r[e]=2,r[f]=1,r[g]=0第三十五页,共四十五页,2022年,8月28日
表序问题算法:P155算法6.10(1)并行做:初始化p[k]和distance[k]//O(1)(2)执行次//O(logn)(2.1)对k并行地做//O(1)如果k的后继不等于k的后继之后继,则(i)distance[k]=distance[k]+distance[p[k]](ii)p[k]=p[p[k]](2.2)对k并行地做rank[k]=distance[k]//O(1)运行时间:t(n)=O(logn)p(n)=n第三十六页,共四十五页,2022年,8月28日6.4倍增设计技术
6.4.1设计思想
6.4.2表序问题
6.4.3求森林的根
第三十七页,共四十五页,2022年,8月28日
求森林的根问题描述一组有向树F中,如果<i,j>是F中的一条弧,则p[i]=j(即j是i的双亲);若i为根,则p[i]=i。求每个结点j(j=1~n)的树根s[j].示例初始时P[1]=p[2]=5p[3]=p[4]=p[5]=6P[6]=p[7]=8p[8]=8P[9]=10p[10]=11p[11]=12p[12]=13
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河南省周口市项城市2024-2025学年高三下学期高考模拟一(开学诊断考试)数学试题(原卷版+解析版)
- 江苏省苏州市苏州工业园区星湾学校2024-2025学年下学期3月月考八年级数学试题(原卷版+解析版)
- 四川省资阳市安岳中学2025届高三下学期二模数学试题(原卷版+解析版)
- 《乡土中国》导读
- 2025年风力提水机组项目合作计划书
- 三方驾驶培训合作协议
- 售后变更通知函
- 长沙报关委托协议
- 汽车租赁合同范本大全
- 钢筋运输应急预案协议
- 中国国际航空内蒙古有限公司2025届空中乘务员航空安全员高校毕业生校园招聘笔试参考题库附带答案详解
- 2025江苏省安全员考试题库附答案
- 4.2 明确概念的方法 课件高中政治统编版选择性必修三逻辑与思维
- 2024年国网陕西省电力有限公司招聘笔试真题
- 2025年共同成立子公司的战略合作协议书
- 安保部绩效考核方案
- 2025年中国硫酸庆大霉素片行业市场深度分析及行业发展趋势报告
- 2025年江苏农林职业技术学院高职单招职业技能测试近5年常考版参考题库含答案解析
- 2025年背光源导光板市场分析现状
- 2025山东能源集团中级人才库选拔高频重点提升(共500题)附带答案详解
- 2025年度新股东增资扩股股权激励与员工持股计划协议3篇
评论
0/150
提交评论