龙芯多核平台上性能分析工具的设计与实现

来源 :中国科学技术大学 | 被引量 : 0次 | 上传用户:liuaxing1314
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
近年来,片上多核处理器成为主流,国产芯片龙芯也推出了四核处理器-龙芯3A。为了充分利用多核处理器的片上资源,使多核处理器的硬件资源转变为程序性能的提升,并行程序设计变得越来越重要。并行程序一直是程序设计的难点,从串行程序到并行程序的改造主要依靠对程序算法的分析和对程序行为的理解,同时也需要理解硬件的运行行为,因此需要一套性能分析工具来帮助程序员分析程序和硬件的行为。大多数现代处理器都集成了性能计数器(PMU),它能够收集应用程序、操作系统以及处理器的性能信息,这些信息可以帮助程序找到应用程序或者操作系统的热点,分析程序的运行瓶颈。本文基于龙芯3A平台的性能计数器(PMU)实现了一款性能分析工具TProfiler。本文在实现的过程中参考了已有的性能分析工具VTune、Oprofile以及Perf的实现原理,最终采用了单进程采样。主要的研究内容包括:(1)通过分析已有的性能调优工具Oprofile和Perf的代码,分析它们的实现原理以及各自的优缺点,然后结合龙芯3A平台的硬件特性,确定TProfiler的设计方案为单进程采样的方式。(2)设计TProfiler的软件架构,将其实现分为两个模块:前端和后端。其中前端运行于用户层,负责分析后端收集的性能信息,指导程序员优化代码;后端运行于内核层,负责控制性能计数器,收集程序运行过程中产生的硬件事件信息。(3)针对TProfiler的软件架构,分别实现前端和后端的功能。为了支持单进程采样,在内核中进程相关部分添加支持单进程采样的代码,在进程描述符中添加支持性能计数器上下文切换的数据结构,此外为了用户层和内核层的数据传递,还添加了文件映射的功能。最后借助编译技术并分析二进制文件将采样信息与程序代码对应起来产生对程序员有用的信息。本文基于龙芯3A平台的硬件性能计数器(PMU)实现了一个单进程采样的性能分析工具TProfiler,它实现了Oprofile的大部分功能,通过与Oprofile的对比实验,可以看到TProfiler的采样数据更加精确,采样范围也更加广泛。最后本文还提出了TProfiler需要改进的地方,并针对龙芯平台,提出其硬件计数器(PMU)需要加强和完善的地方,并初步提出了改进的手段。
其他文献
社交平台与位置技术的紧密结合,促进了基于位置的社交网络的形成和发展。集成了GPS、无线网络、卫星定位等定位功能的智能设备为用户在社交平台上的位置标记、位置签到和位置
随着信息技术高速发展,人们获取数据手段和途径越来越多样化,就出现了数据挖掘,它是从大量数据中提取挖掘出未能发现、潜藏但有用的信息和知识的过程。关联分析、分类、偏差
智能交通系统能够更加有效合理地分配交通流量,从而缓解交通拥挤、减少交通事故、减轻环境污染、节省出行费用,为日益严重的交通问题提供完整的解决方案。车辆导航系统是智能
本系统采用了无线传输模块来完成火灾报警控制器、火灾报警系统子机和火灾报警探测器的设计。克服了传统火灾报警系统由于信号传输采用有线方式造成故障率高、施工困难,成本
随着互联网的发展,新应用层出不穷,传统应用也在不断变化中,伴随HTML、CSS、JavaScript等技术的发展,Web网页从最初由一个服务器提供的简单文本发展到包含一些图片的超文本,到如今
安全库存是一种额外持有的库存,它作为企业的缓冲器是商务市场供应链上非常重要的一个环节。安全库存量的确定受存货需求量的变化、订货间隔期的变化、交货延误期的长短及存
无线传感网络(Wireless Sensor Networks,WSN)融合了传感器技术、通信技术和计算机技术,实现了数据采集、传输及处理的统一,已被广泛应用于各行各业,其在测控系统中的应用也
火灾是一种多发、常见的自然灾害,例如建筑火灾、矿井火灾、森林火灾、隧道火灾不仅使人类的生命和财产蒙受巨大损失,还对生态环境造成了极大的破坏。虽然现在火灾检测技术已
随着计算机网络的发展,传统的分布式计算模式已经不能满足用户的需求,人们需要一种新型的智能分布式计算模式,移动Agent计算模式应运而生。该计算模式在网络管理和互操作性上取
在三维地理信息系统(GIS)中,三维数据模型与数据结构是研究的核心。从数据描述格式的角度划分,三维空间数据模型可以归纳为面模型和体模型两种。由于体模型可以把空间对象以离