欢迎来到天天文库
浏览记录
ID:26936108
大小:744.00 KB
页数:15页
时间:2018-11-30
《一多线程计算π及性能分析》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、实验一多线程计算π及性能分析作者:赵立夫完成时间:3月25日1、实验内容1.掌握Thread类用法2.掌握java多线程同步方法3.使用多线程计算π;4.对结果进行性能评价。2、实验原理使用积分方法,即计算π值,并使用java多线程进行多线程操作。1、程序流程图图1-1主线程流程图1、实现方法1.方法简述:本程序使用java多线程方法:首先启动主进程,输入基数N和线程数threadNum;第二步,通过主进程创建子进程并为每个子进程分配计算任务;第三步,子进程执行计算认为并将结果返回到数组sums[]中;最后,主进程将sum
2、s[]元素进行累加得到最终结果并输出。2.程序的主要方法PaiThread类,实现计算指定区间内的累加和threadHandle.start()启动子线程,子线程将自动执run()方法threadHandle.join()确保主进程在所有子进程计算完毕后执行后续任务。2、实验结果1.实验结果数据表编号计算基数子线程数计算结果使用时间180000000023.14159465358897546.463s280000000043.14159465358890173.251s380000000063.14159465358889
3、83.470s480000000083.1415946535889183.353s540000000013.141592656923105412.504s660000000013.1416126534981349.388s780000000013.1415928535896956.234s2.部分结果截图图1-2单线程pai计算结果图图1-3多线程pai计算结果图1.理论性能及实际结果分析编号子线程数(不包括主线程)计算结果使用时间加速比103.14159465358897546.463s1.0243.1415946535
4、888983.251s1.99363.1415946535889183.470s1.86483.1415946535889143.353s1.93编号子线程数(不包括主线程)计算结果使用时间加速比本程序使用多线程方法来提升程序的执行速度,所以当线程数不断增多时,程序运行时间应逐渐减少;再考虑到创建进程和信息传递的开销,当线程数大于计算机的内核数量时,程序运行时间应该随着线程数目的增加而增加。由于运行计算机为四核系统,所以当子线程数(除去主线程)由单线程增加到3子线程运行时,程序运行时间降低,而当子线程增加到4个(即线程数目
5、大于内核数量时),程序运行时间又上升,这与预期结果相符合。通过实验数据的分析验证了并行计算在程序运行性能上的理论。1、总结展望这次实验较为简单,并行化的方法非常直观,程序的逻辑也十分清晰。在并行化方面的开销较少。通过本次实验主要是对并行化原理的一个验证,证明了由多处理器分别运行线程带来的性能上的提高。也通过实验证明了当线程数超过实际处理器数量时,性能的下降。实验二3PCF计算的多线程实现作者:赵立夫完成时间:4月7日一、实验内容已知:点集D、R。定义D中的点为ai∈D,R中的点为bi∈R。距离:r1、r2、r3、err求:
6、满足以下条件的三元组(空间中三角形)的数目,
7、ai-bm
8、=r1±err且
9、ai-bn
10、=r2±err且
11、bm-bn
12、=r3±err二、实验原理对于R中所有点,判断两两之间是否满足距离r3,若满足,保存点对。在D中每个点都和点对做比较,判断是否满足一边距离为r1,另一边距离为r2,若满足则累加。三、程序流程图四、实验结果:(1)数据图表:1)线程数相同,计算量不同2)计算量相同,线程数不同(2)效果图:1)线程数相同,计算量不同2)计算量相同,线程数不同六、理论性能分析首先,本算法比起以往的算法的优势在
13、于先计算出R中符合r3条件的点对,这样使得计算效率有所提升。然后是本算法的并行实现也同样在于域分解,及对D中点并行处理,同R中点进行比较判断,所以同样可以提高效率。在线程数相同的时候,随着计算量的增加,计算时间会相应增加,而这种增加是呈立方增加的。而计算量不同的时候,计算时间也会随着线程数的增加而相应减少。七、实验结果分析实验结果与上述结果基本符合。在线程数相同的时候,增大计算量会使得计算时间呈立方形式增加。而在计算量相同的时候,增加线程数会使得效率有所提升,计算时间相应减少。八、总结展望对于3-PCF问题,始终没有突破性
14、的算法来解决问题,但是,并行的引入已经使得我们提升了不少效率。尤其在处理大量数据的时候,并行的优势体现的尤为明显,相信并行会占据越来越大的程序份额。实验三MPI实现Jacobi迭代作者:赵立夫完成时间:4月27日1、实验内容1.理解Jacobi迭代的原理;2.掌握MPI的使用方法;3.使用MPI实现Ja
此文档下载收益归作者所有