当前位置:主页 > 科技论文 > 计算机论文 >

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

发布时间:2020-08-08 05:15
【摘要】:近年来,片上多核处理器成为主流,国产芯片龙芯也推出了四核处理器-龙芯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)需要加强和完善的地方,并初步提出了改进的手段。
【学位授予单位】:中国科学技术大学
【学位级别】:硕士
【学位授予年份】:2011
【分类号】:TP332
【图文】:

处理器,架构,主频,剪刀差


这些障碍阻止了通过提高主频来获得性能提升的道路;其次,单个芯片可以集成的引脚数目和带宽限制都意味着处理器和主存之间的速度的剪刀差在越拉越大。2006 年,Intel 被迫放弃了 4G 主频的 Tejas 奔腾 4 处理器的开发,这几乎也标志着主频至上的理论走到了尽头,取而代之的是片上多核设计。

插桩,静态,动态,工具


静态插桩这种类型的插桩是在源代码编译或链接时完成的,它的唯一优势是我们复杂的功能并且对程序性能影响很小。但是,静态插桩却有很多限制,最一个限制是,如何执行程序中的代码和数据是混合放置的,静态插桩工具取足够的信息来分开它们;静态插桩工具也很难处理间接分支、共享库以产生的代码。静态插桩的最经典的工具便是 Gcc 自带的 Gprof(FSF,1998 动态插桩与静态插桩相反,动态插桩在程序运行时实现。它克服了静态插桩所有。动态插桩不需要重新编译或链接程序,能够处理运行中的程序以及共享为程序优化提供了更多机会。动态插桩方面的代表性的工作包括 ATI(Srivastava,1994)、Dtrace(Cantrill,2004)、Pin(Luk, 2005)等。.2 采样技术 基于时间的采样

性能计数器,事件,硬件,分析性能


) 基于事件的采样性能计数器(HPCs)越来越多的用于分析性能以及确定性能瓶颈的原因。大现代处理器中都带有一定数量的性能计数器。例如:IBM POWER4 有 8 对计数器、Intel Itanium 4 个、AMDAthlon 有 4 个。这些性能计数器的功能就录硬件事件,通过性能调优工具的处理之后,产生对程序员有用的信息。基于事件的采样是只记录特定的硬件事件(比如 L2 Cache Miss)的发生,当达到用户设定的阈值时就记录一下(采一个样)。具体的工作方式是:选择需要记录的硬件事件(例如:L2 Cache Miss),该事件每发生一次就触发计数器加 1,当性能计数器的值达到设置的阈值时,就向上溢出,触发处理内部中断控制器,中断处理器进行采样,如图 1.3 所示是基于事件的采样的:

【相似文献】

相关期刊论文 前10条

1 程煊,栾静,顾君忠;软硬件协同设计环境中性能分析工具的研究与实现[J];计算机系统应用;2005年11期

2 卢风顺;宋君强;朱小谦;;WRF三维变分同化并行程序性能分析[J];计算机工程与科学;2007年11期

3 张军超,张兆庆;汇编代码中的热路径搜寻工具[J];计算机工程;2005年16期

4 卫兴武;刘晓平;;一种实用的并行程序可视化性能分析方法[J];电脑应用技术;2007年04期

5 武剑锋,戈弋,李三立;基于数据库的机群检查点的研究与实现[J];小型微型计算机系统;2002年03期

6 杨小华;;利用OProfile对多核多线程进行性能分析[J];程序员;2009年05期

7 周国建;吴少刚;李祖松;史岗;;基于四阶段人工优化的软件流水技术[J];计算机工程;2009年05期

8 戎韩桃;王晓斌;郝宗波;崔娟娜;;无陷入插装方式的研究与设计[J];计算机应用研究;2011年01期

9 游玲;;RML for Sql Server性能分析工具的使用[J];机电技术;2010年01期

10 富弘毅,周海芳,杨学军;OpenMP并行程序的性能数据采集[J];计算机工程;2005年19期

相关会议论文 前10条

1 ;创建模型,对现有建筑进行性能分析[A];工程三维模型与虚拟现实表现——第二届工程建设计算机应用创新论坛论文集[C];2009年

2 苏铭;王华;;基于C++及其扩展语言的动态剖析[A];计算机在土木工程中的应用——第十届全国工程设计计算机应用学术会议论文集[C];2000年

3 靳京;陈晶;孔令富;刘海英;;基于MDS3的网格资源监控系统体系结构[A];2005年全国理论计算机科学学术年会论文集[C];2005年

4 卢山;;山西移动BOSS存储运维分析系统设计[A];两化融合与物联网发展学术研讨会论文集[C];2010年

5 杜素忠;;基于事件驱动的宽厚板进程管理方法[A];全国冶金自动化信息网2010年年会论文集[C];2010年

6 余金鹏;葛晓;;加热炉过程控制系统的优化调整应用[A];中国计量协会冶金分会2007年会论文集[C];2007年

7 彭会军;;.NET Remoting技术在轧钢二级自动化系统中的应用[A];中国计量协会冶金分会2008年会论文集[C];2008年

8 彭会军;;.NET Remoting技术在轧钢二级自动化系统中的应用[A];2008全国第十三届自动化应用技术学术交流会论文集[C];2008年

9 马文骞;王珊;;DBMS进程结构研究及多线索DBMS的设计与实现[A];第十一届全国数据库学术会议论文集[C];1993年

10 张鲁飞;程华;;高性能计算机容错技术综述[A];2010通信理论与技术新发展——第十五届全国青年通信学术会议论文集(下册)[C];2010年

相关重要报纸文章 前10条

1 ;引入创新机制和性能分析工具[N];中国电子报;2009年

2 译自《Infoworld》;解决性能瓶颈的15种方法[N];计算机世界;2005年

3 ;Unix服务器环境的性能监控[N];网络世界;2006年

4 王宏;英特尔、中科院计算所升级ORC性能更强[N];中国计算机报;2003年

5 泰克科技(中国)有限公司;优化UMTS网络KPI出奇招[N];通信产业报;2005年

6 齐兴一;QoS保证更需“软管理”[N];通信产业报;2006年

7 时培植 刘鹏;透明化管理[N];计算机世界;2001年

8 清华大学 郑纬民 陈文光;开发环境—搭建应用的基础[N];计算机世界;2003年

9 本报记者 江波;Galaxy Sun未来的关键一笔[N];网络世界;2005年

10 胡永生;高性能计算的现状与未来[N];科技日报;2002年

相关博士学位论文 前6条

1 陆平静;低开销的迭代编译优化关键技术研究[D];国防科学技术大学;2010年

2 刘雪梅;服务器端软件性能分析和诊断方法研究[D];哈尔滨工程大学;2010年

3 刘建新;脉冲及脉间二相编码雷达高度表信号处理方法研究[D];电子科技大学;2004年

4 高翔;多核处理器的访存模拟与优化技术研究[D];中国科学技术大学;2007年

5 杨帆;基于多核平台的网络流量监测研究与优化[D];北京邮电大学;2011年

6 杨帆;基于多核平台的网络流量监测研究与优化[D];北京邮电大学;2011年

相关硕士学位论文 前10条

1 徐恒阳;龙芯多核平台上性能分析工具的设计与实现[D];中国科学技术大学;2011年

2 齐学智;Java程序性能分析工具的研究与设计[D];浙江大学;2005年

3 袁立威;基于性能计数器的攻击检测,防御与分析[D];复旦大学;2011年

4 朱孝银;针对多核体系结构性能调试的研究[D];复旦大学;2009年

5 殷顺昌;OpenMP并行程序性能分析[D];国防科学技术大学;2006年

6 宋潇豫;嵌入式性能分析工具的研究与设计[D];国防科学技术大学;2006年

7 崔娟娜;嵌入式环境下代码动态性能分析的研究与实现[D];电子科技大学;2011年

8 谭膺;基于SMP的并行游戏树搜索程序负载分析研究[D];电子科技大学;2006年

9 吴f[;OpenRISC处理器内的性能计数器的设计和实现[D];上海交通大学;2009年

10 史鸣飞;基于性能计数器的多核处理器功耗估算[D];上海交通大学;2010年



本文编号:2785107

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2785107.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户91e03***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com