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

最近更新

《胸部X线征象》 37页

《行政强制法》 56页

《行列式的展开》 22页

2025年河南医学重点专科建设成果展示 64页

关于促进我省小微制造业发展的对策建议 2页

关于企业不正当竞争行为的法律思考 2页

关于中小型变电所电脑监测的几点探讨 2页

人教版小学语文一年级上册-《在家里》PPT 19页

关于“灰色收入”所引发的矛盾分析 2页

关于“包产到户”的讨论情况简介 2页

《药品知识产权保护》 64页

关于JL-1型调压式采样器容积偏少的解决方法 2页

2025年抗菌药物使用与合理用药实践案例解析 145页

2025年慢性阻塞性肺病基层诊疗与护理技巧解析.. 79页

兰州化物所成功研制陶瓷太阳能吸热膜制备技术.. 2页

2025年急性脑梗塞静脉溶栓疗法研究 24页

八叶形涤纶长丝性能及在色织产品中的应用 2页

全长粘结式锚杆粘结滑移的力学性能分析 2页

2025年尿道感染预防导尿管使用安全指南 19页

2025年家庭水管养护攻略 36页

全国雷电防护与现代接地技术研讨会在北京召开.. 2页

人教版四年级语文上册《尺有所短寸有所长》 34页

2025年奥氟合剂应对双相情感障碍疗法 25页

全国商业体制改革理论讨论会观点综述 2页

2025年喉返神经详细解析与位置探究 18页

免疫电极的研制及应用——Ⅰ.AFP免疫电极(一).. 2页

2025年呼吸内科急救关键指标 26页

光系统Ⅱ颗粒的多肽组成分析和重组后的放氧活.. 2页

XX学校义务教育优质均衡发展创建实施方案范文.. 8页

2025年度混凝土搅拌机设计说明书 58页