基于多核的动态剖析加速方法研究
发布时间:2021-03-22 01:06
动态插桩系统在程序的执行过程中动态地插入代码以获取程序的执行信息或扩展程序的功能,它被广泛的应用于程序的性能分析、体系结构模拟和错误检查等。然而,动态插桩系统普遍受到性能问题的困扰,特别是在对长时间运行的程序进行在线分析时。当今主流的多核和众核处理器提供了更多计算资源供程序和系统使用,使得显著提高动态插桩系统的速度成为可能。因此,研究如何利用多核和众核的计算资源对动态剖析进行加速成为了一个非常有意义的重要问题。基于两阶段采样和插桩的多线程程序动态剖析的并行加速框架MT-Profiler采用两阶段采样来驱动整个系统的插桩和并行化工作。在第一阶段采样中,MT-Profiler利用PAPI对硬件计数器进行采样,并当采样条件发生时插入检查代码;在第二阶段采样中,检查代码检测第二阶段采样条件,当采样条件满足时创建分片并对分片插入分析代码。分片与被分析程序在多核环境下并行的执行,从而实现分析代码与被分析程序的解耦和并行化; MT-Profiler也对系统的负载进行实时监控,并使用监控信息控制系统的负载均衡和反馈调节两阶段采样的速率。为了降低两阶段采样的开销,MT-Profiler也采取了一系列优化...
【文章来源】:华中科技大学湖北省 211工程院校 985工程院校 教育部直属院校
【文章页数】:62 页
【学位级别】:硕士
【部分图文】:
DynamoRIO的动态编译过程
程序的性能也应该扩展相应倍数。在理想情况行并行加速的应用程序,其能获得的最快执行时间通常环境下执行时的运行时间。因为 MT-Profiler 只是将插行进行解耦和并行化。但是使用分片并行化的方法,生成更多的分片,使得采样接近完全 100%的覆盖率和MT-Profiler 的设计目标是设计一个低开销的、高可扩行加速框架,同时对多线程程序具有良好支持。其主不必要的插桩点,提高了动态剖析的效率同时兼具良和众核环境下,MT-Profiler 采用线程级并行来开发和进一步加速动态剖析的执行速度。它的执行示意图如图个核上执行,MT-Profiler 对应该程序的每个线程进行并对这些分片进行插桩,分片结束时合并分片的输出线程进行插桩,使得被分析应用程序的运行基本上不置的核收集程序的性能信息,从而达到加速程序的性
MT-Profiler 能将插桩的部分工作转移到 DynamoRIO,专注于化的工作。MT-Profiler 的体系结构如图 2.5 所示,系统首先由监控器获得应行的控制权,并在采样策略的驱动下,对应程序进行插桩和并行化。它主几个部分组成: 采样策略模块:负责采样策略的动态配置和实现,它实现两阶段采样,并当前负载自动调节采样速度。 监控器:它初始化采样策略模块,并在采样策略模块的驱动下,对应用程和并行化。同时也负责对分片插桩、合并分片结果以及系统调用处理。 调度器:主要负责分片在不同核上的调度工作,同时负责控制整个系统的工作。 导出 API 模块:提供一套 API 接口供性能分析工具编写者利用 MT-Pro加速功能。 数据显示:主要负责数据的可视化显示。
【参考文献】:
期刊论文
[1]多核平台下应用程序的动态优化[J]. 沈立,王志英,肖侬. 计算机科学与探索. 2010(04)
[2]基于插桩技术的并行程序性能分析方法设计和实现[J]. 马桂杰,蒋昌俊,刘吟,王忱. 计算机应用研究. 2007(10)
[3]动态二进制翻译与优化技术研究[J]. 李剑慧,马湘宁,朱传琪. 计算机研究与发展. 2007(01)
[4]基于源代码插桩的C程序内存使用错误动态检测[J]. 周晓宇,黄文伟,史亮,徐宝文. 舰船电子工程. 2004(06)
[5]一种并行程序性能分析工具的体系结构设计[J]. 王忱,刘吟,蒋昌俊,张兆庆. 信息技术与信息化. 2004(05)
[6]基于程序插装的动态测试技术实现[J]. 孙昌爱,金茂忠. 小型微型计算机系统. 2001(12)
[7]程序调试、监测与性能分析的一体化工具[J]. 刘强,张兆庆,乔如良. 软件学报. 1999(02)
本文编号:3093737
【文章来源】:华中科技大学湖北省 211工程院校 985工程院校 教育部直属院校
【文章页数】:62 页
【学位级别】:硕士
【部分图文】:
DynamoRIO的动态编译过程
程序的性能也应该扩展相应倍数。在理想情况行并行加速的应用程序,其能获得的最快执行时间通常环境下执行时的运行时间。因为 MT-Profiler 只是将插行进行解耦和并行化。但是使用分片并行化的方法,生成更多的分片,使得采样接近完全 100%的覆盖率和MT-Profiler 的设计目标是设计一个低开销的、高可扩行加速框架,同时对多线程程序具有良好支持。其主不必要的插桩点,提高了动态剖析的效率同时兼具良和众核环境下,MT-Profiler 采用线程级并行来开发和进一步加速动态剖析的执行速度。它的执行示意图如图个核上执行,MT-Profiler 对应该程序的每个线程进行并对这些分片进行插桩,分片结束时合并分片的输出线程进行插桩,使得被分析应用程序的运行基本上不置的核收集程序的性能信息,从而达到加速程序的性
MT-Profiler 能将插桩的部分工作转移到 DynamoRIO,专注于化的工作。MT-Profiler 的体系结构如图 2.5 所示,系统首先由监控器获得应行的控制权,并在采样策略的驱动下,对应程序进行插桩和并行化。它主几个部分组成: 采样策略模块:负责采样策略的动态配置和实现,它实现两阶段采样,并当前负载自动调节采样速度。 监控器:它初始化采样策略模块,并在采样策略模块的驱动下,对应用程和并行化。同时也负责对分片插桩、合并分片结果以及系统调用处理。 调度器:主要负责分片在不同核上的调度工作,同时负责控制整个系统的工作。 导出 API 模块:提供一套 API 接口供性能分析工具编写者利用 MT-Pro加速功能。 数据显示:主要负责数据的可视化显示。
【参考文献】:
期刊论文
[1]多核平台下应用程序的动态优化[J]. 沈立,王志英,肖侬. 计算机科学与探索. 2010(04)
[2]基于插桩技术的并行程序性能分析方法设计和实现[J]. 马桂杰,蒋昌俊,刘吟,王忱. 计算机应用研究. 2007(10)
[3]动态二进制翻译与优化技术研究[J]. 李剑慧,马湘宁,朱传琪. 计算机研究与发展. 2007(01)
[4]基于源代码插桩的C程序内存使用错误动态检测[J]. 周晓宇,黄文伟,史亮,徐宝文. 舰船电子工程. 2004(06)
[5]一种并行程序性能分析工具的体系结构设计[J]. 王忱,刘吟,蒋昌俊,张兆庆. 信息技术与信息化. 2004(05)
[6]基于程序插装的动态测试技术实现[J]. 孙昌爱,金茂忠. 小型微型计算机系统. 2001(12)
[7]程序调试、监测与性能分析的一体化工具[J]. 刘强,张兆庆,乔如良. 软件学报. 1999(02)
本文编号:3093737
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/3093737.html