基于多核的动态剖析加速方法分析-analysis of dynamic parsing acceleration method based on multi - core.docxVIP
- 6
- 0
- 约4.37万字
- 约 55页
- 2018-05-18 发布于上海
- 举报
基于多核的动态剖析加速方法分析-analysis of dynamic parsing acceleration method based on multi - core
1绪论本章首先简述多核环境下多线程程序动态剖析并行加速框架MT-Profiler的研究背景,接着概述国内外在程序行为动态分析和动态插桩加速方面的研究情况,然后对本课题的研究背景、目标及研究内容进行介绍,最后简要说明文章的结构安排。1.1问题提出随着处理器频率的不断提高,制造工艺尺寸的不断降低,处理器面临着功耗和发热控制瓶颈,使得很难单纯依靠提高处理器频率来提高处理器性能。处理器开始朝着多核多线程的方向发展,片上多处理器(ChipMultiprocessor)以及同时多线程技术(SimultaneousMulti-Threading)逐渐成为主流的计算平台。硬件支持的核心和线程数量的不断增加,使得多线程程序设计逐渐成为主流编程模型[1],但由于多线程程序设计固有的复杂性,例如任务分解、死锁、竞争以及多线程程序执行的不确定性,使得设计编写高效的多线程程序是件艰巨的工作,这就急需能对多线程程序进行高效剖析的方法。另一方面,软件工程思想和软件设计技术的不断发展,为提高设计灵活性和系统的动态可配置性,通常引人越来越多的间接层次,例如虚拟机、中间件以及OPENMP之类的编程模型,间接层次的引入简化了应用程序的开发,但也引入了抽象和复杂性,因此带来了一定的开销。软件开发人员需要更高效的、更透明的和易用的调试和分析工具,来了解软件的动态行为和发现软件的缺陷及性能瓶颈,保证软件的可靠性和缩短软件开发和测试过程。此外,理解程序的动态行为特征对于体系结构设计和编译器优化也具有非常重要的作用。体系结构设计者经常需要利用程序的动态行为信息优化系统的体系结构设计和系统仿真及模拟;编译器设计者可以利用程序执行时信息优化代码生成和自动并行化。目前,获取程序动态行为特征信息主要分为以下几类方法:首先,基于硬件计数器(HardwarePerformanceCounter)的剖析技术是获取程序动态特征信息的常用方法,它通过采样硬件计数器获取程序的性能信息。在剖析过程中指定监控特定的硬件事件,当硬件事件触发时,执行相应的中断处理函数获取程序性能信息。典型的工具有Oprofile[2]等。基于硬件计数器的剖析技术,通常开销低但收集的数据比较粗糙,也难以获取trace和基本块级别的信息,而且由于中断延迟等因素,该方法分析出来的某些信息往往有一定的偏差,易使人误解系统的性能。此外,该方法不具有可移植性,它只能在拥有性能寄存器的现代处理器中实现;其次,仿真和模拟也是一种获取程序动态行为特征的重要方法。通过将程序在仿真器或模拟器上执行,仿真器或模拟器可以观察到程序执行时的所有信息。典型的模拟器有SimpleScalar[3],它提供的工具sim-profile,能收集程序在模拟器上执行时的指令类型、分支预测、符号信息和内存访问等信息。通过仿真和模拟的方法,虽然能获得详尽的运行时信息,但是跨指令集的解释执行以及对I/O操作的仿真导致在模拟器或仿真器上执行程序的开销非常的高。最后,动态插桩(DynamicInstrumentation)技术是获取程序动态特征信息的最常用方法。它在程序执行过程中动态插入额外的代码来获取和分析程序的动态特征信息,例如Pin[4]、DynamoRIO[5]和Valgrind[6]等工具。由于动态插桩的运行时扩展程序的能力,基于动态插装可以构建cache建模,容错分析,内存泄露以及覆盖测试等工具。动态插桩的开销通常比仿真和模拟的方法要低很多,但是开销依然较高。主流动态插桩工具,在基本块计数下的性能下降2.5倍以上[4-6]。如果对程序做复杂的剖析,性能会下降的更多,例如在进行硬件cache模拟时,Valgrind通常比本地(native)执行时慢上100多倍[7]。昂贵的开销通常使得对长时间运行的程序进行复杂分析难以实现,同时也难以满足上述对程序动态行为分析的需求。针对动态插桩分析程序动态行为开销大与程序动态行为日益复杂的矛盾。国内外的企业和科研单位进行了大量的研究[8-10],这些工作大多基于采样[11-13]或基于硬件计数器[14],减少分析代码插入的数量,并在一定程度上使得程序行为动态剖析慢这一问题得到了缓解[15-17]。另一方面,近年来多核和众核处理器不断发展,硬件提供了越来越多的计算资源,利用闲置计算资源对程序进行自动并行化程序逐渐成为了研究热点。程序的自动并行化技术不仅能大大降低程序员的工作量,而且能提高多核资源的利用率。目前的自动并行化研究主要集中在线程级推测执行(ThreadLevelSpeculation)技术上[18-19],研究利用多核资源对循环和递归分支进行推测执行,实现串行程序的自动并行化。这就为动态插桩的加速研究提供了新的思路。目前,如何充分利用多核平台的计算资源来提高动态插桩和程序行为分析的运行速度成为了一个亟待解决的热点
您可能关注的文档
- 基于动态模糊逻辑的群体决策模型及其应用分析-group decision-making model based on dynamic fuzzy logic and its application analysis.docx
- 基于动态扭曲时间距离的时段基因财务预警分析-analysis of time - interval gene financial early warning based on dynamic distorted time distance.docx
- 基于动态能力的物流企业战略转型研究——以云南物流产业集团为例-research on strategic transformation of logistics enterprises based on dynamic capabilities - taking yunnan logistics industry group as an example.docx
- 基于动态能力的物流企业战略转型分析——以云南物流产业集团为例-analysis of strategic transformation of logistics enterprises based on dynamic capabilities - taking yunnan logistics industry group as an example.docx
- 基于动态视角的工业品顾客忠诚影响因素分析-analysis of influencing factors of industrial product customer loyalty based on dynamic perspective.docx
- 基于动态权值的本体综合匹配的分析与应用-analysis and application of ontology comprehensive matching based on dynamic weights.docx
- 基于动态特性机理分析的再热汽温状态变量控制系统分析-analysis of reheat steam temperature state variable control system based on dynamic characteristic mechanism analysis.docx
- 基于动态舒适性的汽车座椅系统的分析-analysis of automobile seat system based on dynamic comfort.docx
- 基于动态图的软件水印及其相关技术分析-software watermarking based on dynamic graph and analysis of related technologies.docx
- 基于动态特征的camcnc集成技术-cam cnc integration technology based on dynamic characteristics.docx
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
原创力文档

文档评论(0)