并行计算实验三实验报告new

并行计算实验三实验报告new

ID:20045502

大小:862.00 KB

页数:5页

时间:2018-10-09

并行计算实验三实验报告new_第1页
并行计算实验三实验报告new_第2页
并行计算实验三实验报告new_第3页
并行计算实验三实验报告new_第4页
并行计算实验三实验报告new_第5页
资源描述:

《并行计算实验三实验报告new》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验三:熟悉INTEL性能测评工具1、实验要求·要求:安装和使用vtune来分析单核程序,这部分是必须做的·选作部分:使用vtune的threadprofiler来分析多线程程序2、实验方法安装Vtune,使用sampler和callgraphanalyser分析单线程程序;使用threadprofiler分析多线程程序3、实验结果A、用sampler做热点分析:载入GraphAlgo.exe改程序用于从文件读入图矩阵、判断图的连通性并实现Kruscal和Prim算法。从热点分析可以看出,程序里的addsort函数花费的时间最多进入代码中查看,可以看出while

2、……该语句占用时钟数最多,究其原因是A.h中定义的是链表操作,addsort函数用于按从小到大的顺序插入元素,由于链表检索效率相对较低,加上在判断条件中调用了另一个类(图)中的数据结构(图矩阵),因此效率较低。可以考虑使用更多的空间存放索引,以此实现优化。以下分析另一个程序(聊天服务器和客户端)首先该程序作为一个多线程程序,测试时我打开了两个客户端。服务器端侦测到两个连接,因此也创建两个进程进行通讯,加上服务器原有的主进程,一共五个进程。从表中可以看到,其中一对服务器——客户端进程是热点,原因是因为该连接通讯量较大。点开客户端进程,发现reset函数占用时间最多

3、。Reset被用于清除缓存,为了同步需要,缓存在每次通讯前后都会被清除,因此reset重复调用次数比较多。为了优化程序,应该减少不必要的reset调用。B、callgraph分析通过调用图的分析,我们可以看到函数依赖性和热点的关系,通过优化关键环节,可以实现热点路径的有效缩短。首先对银行排队系统程序进行分析,现在是对主进程DistributerWork进行的分析可以看到从主线程开始到NtDelayException为一条热路径,因为程序中使用了sleep函数对柜台工作进行模拟,因此该路径占用的cpu周期最多。回到GraphAlgo程序,调用图相对复杂,因为数据结

4、构之间的沟通调用比较多。可以看出大概有三条热路径,红色框是前十个总时间最多的函数的hightlight。其中RtlAllocateHeap为占用时间最多的热路径(Thread——BaseThread——Malloc——RtlAllocateHeap)。究其原因是无论是堆、矩阵还是链表都使用了动态的储存分配。另一条热路径来自于NtReadFile,来源于程序中的文件读入。查看一下调用表信息,发现NtlHeapAlloc的调用99.8%的调用来源于malloc,因此在该路径上进行优化,将会对整个程序的性能产生决定性的影响。C、ThreadProfiler的使用在该部

5、分中,我使用ThreadProfiler再对聊天程序进行分析(三对服务器客户端线程和一条主线程),依然可以看到热点线程直接与通信量相关,对缓存的读写直接决定了该程序的性能。分析结果和先前所做的相似,不再赘述。4、心得体会通过本次试验,我初步了解了IntelVtune工具的使用及其意义。IntelVTune可视化性能分析器是Intel为众多开发者们提供的专门针对寻找软硬件性能瓶颈的一款分析工具。 统计表明,程序在运行中80%的时间都在执行 20%的代码。而这20%的代码中,活动相对密集的区域便被称为HotSpot。HotSpot不仅耗费大量时间,它也经常在以下事件

6、中被发现:缓存不中,内存缺页,误预测分枝。这类错误往往非常隐蔽,难以发现。但只要能找出并优化这Hotspot,便能够达到事半功倍的效果。VTune主要通过以下一系列可视化分析方案来帮助软硬件开发者们寻找Hotspot。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。