并行计算实验三实验报告.doc_第1页
并行计算实验三实验报告.doc_第2页
并行计算实验三实验报告.doc_第3页
并行计算实验三实验报告.doc_第4页
并行计算实验三实验报告.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验三:熟悉INTEL性能测评工具1、实验要求 要求:安装和使用vtune来分析单核程序,这部分是必须做的 选作部分:使用vtune的thread profiler来分析多线程程序2、实验方法安装Vtune,使用sampler和call graph analyser分析单线程程序;使用thread profiler分析多线程程序3、实验结果A、用sampler做热点分析:载入GraphAlgo.exe改程序用于从文件读入图矩阵、判断图的连通性并实现Kruscal和Prim算法。从热点分析可以看出,程序里的addsort函数花费的时间最多进入代码中查看,可以看出while该语句占用时钟数最多,究其原因是A.h中定义的是链表操作,addsort函数用于按从小到大的顺序插入元素,由于链表检索效率相对较低,加上在判断条件中调用了另一个类(图)中的数据结构(图矩阵),因此效率较低。可以考虑使用更多的空间存放索引,以此实现优化。以下分析另一个程序(聊天服务器和客户端)首先该程序作为一个多线程程序,测试时我打开了两个客户端。服务器端侦测到两个连接,因此也创建两个进程进行通讯,加上服务器原有的主进程,一共五个进程。从表中可以看到,其中一对服务器客户端进程是热点,原因是因为该连接通讯量较大。点开客户端进程,发现reset函数占用时间最多。Reset被用于清除缓存,为了同步需要,缓存在每次通讯前后都会被清除,因此reset重复调用次数比较多。为了优化程序,应该减少不必要的reset调用。B、callgraph分析通过调用图的分析,我们可以看到函数依赖性和热点的关系,通过优化关键环节,可以实现热点路径的有效缩短。首先对银行排队系统程序进行分析,现在是对主进程DistributerWork进行的分析可以看到从主线程开始到NtDelayException为一条热路径,因为程序中使用了sleep函数对柜台工作进行模拟,因此该路径占用的cpu周期最多。回到GraphAlgo程序,调用图相对复杂,因为数据结构之间的沟通调用比较多。可以看出大概有三条热路径,红色框是前十个总时间最多的函数的hightlight。其中RtlAllocateHeap为占用时间最多的热路径(ThreadBaseThreadMallocRtlAllocateHeap)。究其原因是无论是堆、矩阵还是链表都使用了动态的储存分配。另一条热路径来自于NtReadFile,来源于程序中的文件读入。查看一下调用表信息,发现NtlHeapAlloc的调用99.8%的调用来源于malloc,因此在该路径上进行优化,将会对整个程序的性能产生决定性的影响。C、ThreadProfiler的使用在该部分中,我使用ThreadProfiler再对聊天程序进行分析(三对服务器客户端线程和一条主线程),依然可以看到热点线程直接与通信量相关,对缓存的读写直接决定了该程序的性能。分析结果和先前所做的相似,不再赘述。4、心得体会通过本次试验,我初步了解了Intel Vtune工具的使用及其意义。Intel VTune可视化性能分析器是Intel为众多开发者们提供的专门针对寻找软硬件性能瓶颈的一款分析工具。统计表明,程序在运行中80%的时间都在执行 20%的代码。而这20%的代码中,活动相对密集的区域便被称为HotSpot。Hot Spot不仅耗费大量时间,它也经常在以下事件中被发现:缓存不中,内存缺页,误预测分枝。这类错误往往非常隐蔽,难以发

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论