1 / 24
文档名称:

并行排序算法.doc

格式:doc   大小:53KB   页数:24页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

并行排序算法.doc

上传人:aihuichuanran1314 2019/6/1 文件大小:53 KB

下载得到文件列表

并行排序算法.doc

文档介绍

文档介绍:并行排序算法先简单说一下给的A,B,C三种算法(见上面引用的那篇博客),A算法将耗时的平方和开平方计算放到比较函数中,,每次亮亮比较都要执行平方和开平方计算,其平均算法复杂度为O(nlog2n)。而B将平方和开平方计算提取出来,算法复杂度降低到O(n),这也就是为什么B比A效率要高很多的缘故。C和B相比,将平方函数替换成了x*x,由于少了远程函数调用和Pow函数本身的开销,效率有提高了不少。我在C的基础上编写了D算法,D算法采用并行计算技术,在我的双核笔记本电脑上数据量比较大的情况下,其排序效率较C要提高30%左右。下面重点介绍这个并行排序算法。算法思路其实很简单,就是将要排序的数组按照处理器数量等分成若干段,然后用和处理器数量等同的线程并行对各个小段进行排序,排序结束和,再在单一线程中对这若干个已经排序的小段进行归并排序,最后输出完整的排序结果。,没有用微软提供的并行库,而是用多线程来实现。下面是测试结果: nABCD 从测试结果上看,当要排序的数组长度较短时,并行排序的效率甚至还没有不进行并行排序高,这主要是多线程的开销造成的。当数组长度增大到25万以上时,并行排序的优势开始体现出来,随着数组长度的增长,排序时间最后基本稳定在但线程排序时间的74%左右,其中并行排序的消耗大概在50%左右,归并排序的消耗在14%左右。由此也可以推断,如果在4CPU的机器上,其排序时间最多可以减少到单线程的14+25=39%。8CPU为14+=%。目前这个算法在归并算法上可能还有提高的余地,如果哪位高手能够进一步提高这个算法,不妨贴出来一起交流交流。下面分别给出并行排序和归并排序的代码: 并行排序类ParallelSort Paralletsort类是一个通用的泛型,调用起来非常简单,下面给一个简单的int型数组的排序示例: parer:IComparer<int> { IComparerMembers#parerMembers pare(intx,inty) { pareTo(y); } #endregion } publicvoidSortInt(int[]array) { <int>parallelSort=<int>(); (array,parer()); }只要实现一个T类型两两比较的接口,然后调用ParallelSort的Sort方法就可以了,是不是很简单? 下面是ParallelSort类的代码 usingSystem; ; ; ; ; namespaceSort { /**//// ///ParallelSort /// /// lassParallelSort<T> { enumStatus { Idle=0, Running=1, Finish=2, } classParallelEntity { publicStatusStatus; publicT[]Array; parer<parer; publicParallelEntity(Statusstatus,T[]array,IComparer<parer) { Status=status; Array=array; parer; } } privatevoidThreadProc(ObjectstateInfo) { ParallelEntitype=stateInfoasParallelEntity; lock(pe) { =ParallelSort<T>.; (,parer); =ParallelSort<T>.; } } publicvoidSort(T[]array,IComparer<parer) { //Calculateprocesscount intprocessorC

最近更新

2025年下肢深静脉血栓治疗与全方位护理攻略 23页

2025年野外毒虫叮咬自救指南 34页

城镇职工基本养老保险基金支出水平区域差异及.. 8页

2025年超声波成像技术解析 73页

九年级学生运算能力水平现状研究 10页

HDT-ASCT联合CNCT19 CAR-T疗法在复发-难治性大.. 8页

关于绿色机械加工技术的应用模块的分析 2页

关于粮油工业净产值计算方法的商榷 2页

关于科学设置与管理专业技术岗位的浅见 2页

关于确定真空预压施工中滤水管间距及布排形式.. 2页

关于矿井提升最佳经济速度的优化设计 2页

关于盘状凸轮廓线检测问题的探讨 2页

2025年胰腺胆管核磁共振成像技术 96页

人教版高考总复习英语语法专题9 121页

关于海上采油水处理技术的现状分析及研究进展.. 2页

2025年肺癌手术后康复护理要点解读 20页

人教版高中化学选修五第1章第3节 53页

关于水利工程施工成本的控制对策的探讨 2页

关于构建我国“新材料产业体系”的思考 2页

关于智能电网继电保护实践及分布式电源接入技.. 2页

关于改革物资流通体制的若干思考 2页

关于改良A.D.A湿法脱硫机理的探讨 2页

2025年肠道微生物与代谢健康关联研究 57页

关于提高全民信息意识的几点思考 2页

关于振动电机式振动筛的两点研究与探讨 2页

2025年肝脏炎症确诊指南及上报规范 36页

关于我国流动资金紧张的宏观思考 2页

2025年肌肉力量与恢复性训练攻略 14页

2025年直流无刷电机合作协议书 47页

2025年最最清晰的版中国药典共三部 15页