[发明专利]一种动态探针方法及其在嵌入式系统中的应用无效
申请号: | 200710028580.5 | 申请日: | 2007-06-14 |
公开(公告)号: | CN101067798A | 公开(公告)日: | 2007-11-07 |
发明(设计)人: | 刘发贵;宋潇豫;吴庆波 | 申请(专利权)人: | 华南理工大学;广东美泰科技有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 广州粤高专利代理有限公司 | 代理人: | 何淑珍 |
地址: | 510640广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 动态 探针 方法 及其 嵌入式 系统 中的 应用 | ||
技术领域
本发明属于计算机性能分析技术。具体地说,本发明涉及一种基于动态探测技术的动态探针实现方法,以及动态探针在嵌入式系统中的应用,以动态收集嵌入式系统的性能信息。
技术背景
随着嵌入式技术的发展,嵌入式应用的不断增长以及嵌入式系统复杂性不断提高,导致嵌入式软件的规模和复杂性也不断提高,有限的硬件资源和功能越来越强的需求依然是嵌入式软件开发领域的主要矛盾,嵌入式软件必须做到精简高效、稳定可靠。嵌入式软件的质量和开发周期对产品的最终质量和上市时间起到决定性的影响,这使得嵌入式软件的开发、分析与测试成为了研究的热点,而上述问题的基础在于对嵌入式系统性能信息的探测和收集。如何设计和实现一种新的性能信息探测和收集方法,完整准确高效收集嵌入式系统的性能信息已经迫在眉梢。
从性能数据的收集方式的角度来分类,可将目前主流的性能数据收集方式分成两大类,采样技术和探测技术。其中探测技术又分为静态探测技术和动态探测技术。
使用采样技术测量系统性能,首先需要周期性中断应用程序,获取当前程序计数器的值,累计一段时间之后,通过统计分析就可以得到有关性能的精确结果,从而知道程序的热点所在。这种性能测量的方法很简单,不需要增加额外的探测代码,而且对系统的性能干扰很少。目前市场上覆盖测试工具gcov,性能分析工具gprof、VTune等工具都是系统级或者用户级的采样工具。采样技术实现简单,但是存在一定的缺陷。首先,采样技术建立在中断机制的基础之上,不精确的中断机制将会导致不能正确分配指令引起的事件,导致采样失真;其次,采样的量度是固定的,使得采样受限制于采样点,仅仅适合于针对某一特殊目的的有限的性能分析;采样的时间标准受限制,因而只能反映采样进程活跃的时间,当发生了进程切换的时候,时间记录有可能被误记。采样是定时执行的,需要额外访问系统的定时器,且频繁使用中断,开销较大。采样只能描述统计信息,提供系统快照,无法刻画进程间交互信息,不能理解和观测系统动态状况。
静态探测技术通常是直接在程序源代码中的特定位置插入显式的测量代码,以生成性能信息。使用这种方法获取性能信息时,需要重新对程序的源代码进行编译,然后运行新编译的源程序。在程序性能分析的过程中,静态探测方式首先将用于性能分析的补丁代码添加进应用程序源代码,然后重新配置编译源码,之后运行编译生成的可执行程序,程序运行之后就可获得性能分析信息。著名的内核探测工具LTT(Linux Trace Toolkit)就是采用静态探测技术实现的。静态探测技术通常是生成永久保存的性能信息文件以搜集性能数据,方便和利用其他的数据分析工具进行分析。但是静态探测技术存在一些问题。首先,添加增量代码添加了代码开销和执行开销,当探测不断需要精确化的时候,总是需要重新编译和运行应用程序。而且为了避免开销过大,不适宜定义过多的探测点。因此记录事件的范围收到了限制,记录信息的全面性和详细性都有所欠缺,不能完全反应系统行为。静态探测的方法在灵活性上也有所缺乏,他探测的需求变化的时候,需要对探测操作进行重新定义。
与静态探测技术不同,采用动态探测方式对系统性能数据进行采集的时候不需要对程序的源代码预先修改,编写应用程序的时候不需要考虑将来做性能分析时是否要插入动态探测点,即探测点的定义、插入和删除等等的操作和应用程序源码的编写完全无关。在进行性能分析的时候,使用某种方式记录需要插入探测点的地址以及对应该探测点所定义的处理方式,程序源代码不需要做任何的改动。只有当被测试程序调入系统内存中准备运行的时候,才利用相关的技术,动态修改代码,从而达到收集相关信息的目的。IBM的Dprobes技术就是采用动态探测技术,在执行代码的模块中动态插入软件探针以收集相关信息。动态探测技术克服了静态探测技术的缺点,但是完全采用动态探测机制时,激活大量的探测点需要很大的开销,而且动态探测机制对正确性的要求很高,一旦误用,会导致系统的崩溃。
而对于嵌入式系统的性能分析技术上,目前嵌入式性能分析大多采用采样方式或者静态探测的方法收集性能数据。
发明内容
本发明的目的在于克服现有技术的不足,提供一种动态探针的方法,提高数据收集的正确性、精确性以及完备性,使之能高效、稳定地运行目标机平台。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华南理工大学;广东美泰科技有限公司,未经华南理工大学;广东美泰科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710028580.5/2.html,转载请声明来源钻瓜专利网。