- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
并行算法+分布式算法Reporter: 张庆科,牛佳瑞山东大学 高性能计算学科组High Performance Computing Research Group 2 4 3 1 5报告提纲“PRAM模型”1随机快速排序(Quick Sort) 张庆科随机盒排序(Box Sort) 并行计算图:随机求极大独立集(MIS)选择协调问题牛佳瑞分布式计算前言并行计算分布式计算研究分散系统如何进行计算。先将问题分解,子问题由多个计算机进行处理,最后收集所有的计算结果。并行计算研究单系统内是相对于串行计算而言,可分为:时间上的并行(流水线技术)和空间上的并行(多个处理器并发的执行计算)大任务取指译码执行写回任务任务服务器服务器服务器服务器取指译码执行写回CPUCPUCPU取指译码执行写回CPUCPUCPU取指译码执行写回单处理器并行多处理器并行串行计算机模型:冯·诺伊曼模型(当前主流)并行计算机模型:PRAM模型,BSP模型,LogP等1PRAM模型1.1 PRAM-模型PRAM(Synchronous Parallel Random Access Machine)即“同步并行随机存储器模型”存储器共享全局存储器(超级)读写读写读写读写读写P......P1P2PiPn寄存器寄存器寄存器寄存器寄存器RAM模型PRAM模型?只读输入带每个处理器都支持RAM模型,型号完全相同r0累加器r1r2每个处理器都有常数个局部寄存器程序存储器指令计数器…所有处理器通过公用时钟同步运行内存储器?每个处理器都能够访问(读/写)整个内存只写输入带1.2 PRAM-分析“并行步”( parallel steps )PRAM模型的访存冲突问题共享全局存储器共享全局存储器2adefpqts12写读写读读读写写读写............P1P2PiPnP1P2PiPn寄存器寄存器寄存器寄存器寄存器寄存器寄存器寄存器问题1:多个处理器同时读一个单元的情况,该问题称为并发读(cRead),但是硬件实现困难;①各处理器P选择一个全局存储单元,读存储内容(操作数1)②将操作数1与自己寄存器中的操作数2一起执行一条指令③处理器向它所选择的存储单元中写数据 问题2:多个处理器同时写一个单元的情况,该问题称为并发写(cWrite),硬件实现更困难; -★-★-★- 若TM表示一并行算法在一并行计算模型M上的运行时间,则渐进运行时间记号渐近记号:用来表示算法的渐近运行时间趋势的记号,用定义域为自然数集N={0,1,2,...}的函数来定义。我们很熟悉的句子“…算法的时间复杂度为O(..)”复杂度分类c1g(n)f(n)c*g(n)1.多项式复杂度f(n)c*g(n)f(n)c2g(n)2.非多项式复杂度n0nn0n0nn计算时间复杂度 时间复杂度的误解:程序执行到结束所耗费时间的长短(静态片面理解) --你是否也这样认为?时间复杂度的正解:描述当问题的规模扩大后,程序耗费的时间增长的有多快! (动态全局理解)千僖难题 之 P=NP?NP-HardNP难问题:最高求解难度的问题问题求解难度NP-CompleteNP完全问题:多是指数级或者阶乘级问题NP★Non-Deterministic Polynomial:非确定多项式问题?PPolynomial : 多项式问题NP的误解:NP就是非多项式问题,其实这是不对的~2并行快速排序算法 2.1 Quick Sort(串行算法)算法灵魂:递归(Recursion)递归本质:大事化小,小事化了P1P2P3P4P5P6P7P8P93145592687722468731988961433134689568972134效率:O(nlogn) 快排:元素划分越对称,排序速度就越快(原因:问题被分解的速度快)2.2 问题提出1.问题:如何用n个不同的处理器,对n个互不相同的数进行排序?2.要求:①算法以高概率在O(logn)并行步内完成排序 ②所有处理器的操作次数总和为O(nlogn)AverageSortBestWorstn2Quick Sortnlognnlogn初步考虑在CREW PRAM模型下设计随机快速排序方案(Random Quick Sort)Merge SortnlognnlognnlognnlognHeap SortnlognnlognnlognnlognnlognIntro Sort2.3 Random Quick Sort算法过程动画演示输入:n个不同的无序数;注:Pi为第i个PRAM的处理器0: if (n=1) 算法停止;/*算法终止条件*/此步:N=12, 筛选位序范围: [N/4,3n/4]= [3,9]P1P2P3P4P5P6P7P8P9P10P11P121:从n个数中随机的选择一个作为分离元S;110
文档评论(0)