ImageVerifierCode 换一换
格式:DOC , 页数:8 ,大小:117.01KB ,
资源ID:10218109      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-10218109.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(并行计算的实验.doc)为本站会员(精品资料)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

并行计算的实验.doc

1、实验一 多线程计算 ,性能分析1.1实验内容多线程计算 ,性能分析1.2 实验原理1.3 实现方法编程语言:c+多线程:windows 多线程 thread平台:windows 7600(32bit),Lenovo T400 Laptop,Intel Core 2 Duo P8400 2.26GHz集成开发环境:Visual Studio Team System 2008(32bit)1.4 程序流程图NidxNi 15.014140202 开始设定线程数 设定累加数N创建多线程并计时i=thread_num;i+=threadpSum+=pi(i)i=thread_num;i+=thread

2、pSum+=pi(i)i=thread_num;i+=threadpSum+=pi(i)i=thread_num;i+=threadpSum+=pi(i)线程归约Sum+=pSumn结束计时结束1.5 实验结果线程数 NUM_THREAD=4N Time-cost100 3.14160098692312 3ms1000 3.14159273692313 4ms10000 3.14159265442313 5ms100000 3.14159265359813 25ms1000000 3.14159265358990 82ms1.6 性能分析精度随叠加次数 N 的增大而趋近于 的真实值,计算时间也

3、随之增高;相同的叠加次数下,因为是双核处理器,线程数为 2 时计算性能最高。理论性能提升有极限值,所以不会因为线程的增多而性能无限增强。当线程数很大时,计算时间增加很快。1.7 总结展望第一次编写并行化的程序,对多线程编程有了初步的认识。由于是在 Visual Studio 平台下编程,很多知识是从 Lunix 平台移植过来的,虽然表现形式有少许差别,但核心思想一致。通过学习,对 windows 多线程编程有了一定的掌握。实验二 3PCF 计算多线程实现2.1 实验内容 定义: 点集 D、R。 定义 D 中的点为 aiD,R 中的点为 biR。 距离:r 1、r 2、r 3、err 求: 满足

4、以下条件的三元组(空间中三角形)的数目 ,|a i-bm|=r1err 且|a i-bn|=r2err 且|b m-bn|=r3err 2.2 实验原理对于 D 中每一点 ai,在 R 中找到与之距离为 r1的点集 R,找到与之距离为 r2的点集R。在点集 R与 R中,查找两点间距离为 r3的点组数目。累加。 多线程中将 D 点分组,分别验证符合要求的点组,累加数目。2.3 实现方法编程语言:c+多线程:windows 多线程 thread平台:windows 7600(32bit),Lenovo T400 Laptop,Intel Core 2 Duo P8400 2.26GHz集成开发环境

5、:Visual Studio Team System 2008(32bit)2.4 程序流程图开始设定线程数 设定累加数N创建多线程并计时i=thread_num;i+=thread验证点组符合就累加i=thread_num;i+=thread验证点组符合就累加i=thread_num;i+=thread验证点组符合就累加i=thread_num;i+=thread验证点组符合就累加线程归约Count+=tempSumn结束计时结束2.5 实验结果r1=0.4 r2=0.8 r3=0.7 err=0.2D/R count Time-cost32 3341 0256 1828275 0.2551

6、2 13908434 1.801024 115062333 14.562048 919041742 115.214096 7367826607 1048.492.6 性能分析相同的线程数,点集增大时,计算时间增多;相同的点集,线程增多时,计算时间先减少后增多。这与理论相符,点集增大,计算量随之增加;线程增多,程序并行化提高,但由于计算单元有限,无限制增加线程会提高线程间通信成本,导致计算性能降低。2.7 总结展望此次实验与第一次实验多线程实现方法相同,采用域划分,将相同的任务分配给不同的线程,将计算量均衡化,采用3PCF的基本思想,逐一验证三边,算法效率较低,可以设计新优化算法,利用矩阵乘法快

7、速求出3PCF的结果,待实现。实验三 MPI 实现 Jacobi 迭代3.1 实验内容3.2 实验原理通过 MPI 消息传递,实现并行计算。每个进程根据各自的 Rank 来划分数据域,并进行自己的迭代,覆盖原来的矩阵,进程之间互相通讯传递消息,继续循环迭代矩阵,直到达到迭代次数为止。将 1024*1024 的矩阵初始化,将边界设置为 10,不断进行迭代,可以看出矩阵向中央均衡化的过程,逐渐收敛。3.3 实现方法编程语言:c+多线程:MPI平台:windows 7600(32bit),Lenovo T400 Laptop,Intel Core 2 Duo P8400 2.26GHz集成开发环境:

8、Visual Studio Team System 2008(32bit)3.4 程序流程图YN消息传递 消息传递消息传递开始MPI 初始化 分区Jacobi 迭代分区Jacobi 迭代分区Jacobi 迭代分区Jacobi 迭代覆盖原矩阵结束循环结束分别输出迭代结果3.5 实验结果局部数据截图:3.6 总结展望学习并实践了一种新的并行程序设计方法,掌握应用了 MPI六个基本函数,对 MPI模型有了基本了解。MPI 是一种很好的实现并行计算的方法,并可应用于 Cluster中,适合多台计算机或集群并行计算。由于时间有限,现只实现了 MPI+VC的编程,未来将实现 MPI在 Lunix的应用。实

9、验四 基于 MapRedue 模型的 WordCount 算法4.1 实验内容基于 MapRedue 模型的 WordCount 算法在 Hadoop 上的实现4.2 实验原理将数据源中的 word 和 1 作为 map 函数中的对。map() 生成一个或多个中间结果,以及与 input 相对应的一个 output key。reduce()函数将这些中间结果组合为多个对应于同一 output key 的 final value,将相同word 中的 value 相加,最终的代表 key word 出现了 value 次。将基于 Mapreduce 的 WordCount 并行化,对每个文件分别

10、 Map,然后 Reduce,之后将各个线程的结果最终归约,得到求解。4.3 实现方法编程语言:java平台:双 i7 四核,Ubuntu ,SSH 远程登录4.4 伪代码map(String input_key, String input_value):/ input_key: document name/ input_value: document contentsfor each word w in input_value:EmitIntermediate(w, “1“);reduce(String output_key, Iterator intermediate_values):/

11、output_key: a word/ output_values: a list of countsint result = 0;for each v in intermediate_values:result += ParseInt(v);Emit(AsString(result);4.5 性能分析将 MapReduce 并行化之后,每个线程处理数据域的文档,各自 MapReduce 之后将结果进行归约,得到最终的方案。计算量一定,线程数增多,计算时间先减少后增加,符合理论值。因为计算单元有限,所以超过一定数量后,通信成本过高,程序效率下降。即使有无限个计算单元,由于本身程序的可并行化结构所占比例一定,效率提升有上限。4.6 总结展望了解并实践了 hadoop 的配置,实现了 hadoop 中 MapReduce 的 WordCount 功能。通过实践,对找 对有了一定的心得。MapReduce 的关键是找好 对,这样之后的 Map 和 Reduce 才能顺利进行下去,得到想要的结果。之后有时间计划研究一下X10,并实现相关功能。

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报