1 / 4
文档名称:

基于运行时代码修改的动态性能监控关键技术研究.pdf

格式:pdf   页数:4
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

基于运行时代码修改的动态性能监控关键技术研究.pdf

上传人:1006108867 2013/8/8 文件大小:0 KB

下载得到文件列表

基于运行时代码修改的动态性能监控关键技术研究.pdf

文档介绍

文档介绍:基于运行时代码修改的动态性能监控关键技术研究。№:引言I綫计算机工程与科学;摹拿理目:垦家自然科学基金资助项目;国家苹手钅,年第卷第期文章编号:—,刘杰,杨灿群。胡庆丰揽萍即笱Ъ扑慊г海铣ど,摘要:代码插桩是程序性能监控的重要环节。动态插桩通过对可执行程序代码的运行时修改支持动态性能监控,有助于降低性能分析工具的构建代价,提高工具易用性。本文首先阐述了遄低车母拍畛橄笥胫葱谢恚后结合大规模并行程序动态插桩的需要,对⑿谐绦蚨遄∩枋┮约盎贛的可扩展通信结构进行了深入分析。关键词:性能监控;运行时代码修改;动态插桩;籇;畃籇;;中图分类号:文献标识码:性能监控是程序性能优化的重要环节。程序性能优化需要依赖性能监控叨ㄎ怀绦虻墓丶虼攵危而采取具有针对性的优化措施。性能监控工具通常需要在目标程序中插入监控代码础按氩遄,以获取程序运行时的性能数据。源码插桩与动态插桩是两种广泛使用的代码插桩方式。源码插桩在源程序特定位置处插入监控代码。源码插桩必需访问程序源代码,其作用范围受到一定限制,不适用于无法提供源码的程序或者第三方库。此外,源码插桩还将导致其它一些问题:插入的监控代码可能会影响程序的编译优化,导致插桩程序与原始程序运行过程的差异;更重要的是,用户必须显式参与源码修改过程,并且要求重新编译、链接源码,降低了性能分析工具的易用性。另一方面,动态插桩在程序运行过程中修改可执行程序二进制代码,不要求访问程序源码,不要求用户参与代码插桩过程,不改变程序的优化编译过程,也不要求重新编译、链接目标程序,可以在程序运行过程中完成目标程序的修改,进而获取程序执行信息,并且支持按需监控,插入的监控代码可以在不需要时从目标程序中删除,因而在程序性能监控、正确性调试等领域得到广泛应用。篵动态插桩系统是大学和笱Я:峡7⒌亩敫男垂ぞ撸峁┮蛔锳支持用户按需构建定制工具,实现对处于运行状态的程序代码进行动态修改。诠菇ǔ绦蛐阅芊治龉ぞ叻面得到了广泛的应用。.;:./甶·收稿日期:—·;修订日期:作者简介:蒋杰,男,,助理研究员,研究方向为并行开发环境和移动计算。通讯地址:湖南省长沙市围防科技大学计算机学院;籈—:—琋瓵,。:瑃..珻
綛遄低矰嫦虿⑿谐绦蚨遄幕∩枋基础,最后执行被替换的代码并继续执行原有通信基础架构的可扩展性提出了挑战。怯概念抽象执行机理结构与组件性能分析工具包括、赸、蚆等。饕U攵缘ソ袒蛟诵性谕唤诘闵系多进程程序进行动态插桩。为了支持在多个不同节点上运行的并行程序动态插桩,必需对加以扩展,提供进程标识、安全认证和事件响应支持。是在基础上开发的并行插桩框架,具有良好的可扩展性和安全性,能够较好支持并行程序动态二进制代码修改。基于菇ǖ牟⑿谐绦蛐阅芊治龉ぞ甙括虳】等。动态性能监控通常需要在线收集目标应用程序的运行时性能数据,大规模并行程序的性能数据采集对笱в实验室联合开发的面向并行工具的可定制、高吞吐率的通信软件包,目的是为构建工具程序提供可扩展通信基础架构。捎枚嗖闶餍谓峁梗供灵活可扩展的数据聚合处理、高带宽通信和可扩展组播,可有效提高动态性能监控工具的可扩展性和可靠性。为了实现灵活、高效的动态二进制代码修改,引入以下基本概念:与是在程序运行过程中允许插入监控代码的位置,可以是函数/子程序的入口点、出口点,特定代码块的起始、终止点等。