[發(fā)明專利]一種動態(tài)探針方法及其在嵌入式系統(tǒng)中的應(yīng)用無效
| 申請?zhí)枺?/td> | 200710028580.5 | 申請日: | 2007-06-14 |
| 公開(公告)號: | CN101067798A | 公開(公告)日: | 2007-11-07 |
| 發(fā)明(設(shè)計)人: | 劉發(fā)貴;宋瀟豫;吳慶波 | 申請(專利權(quán))人: | 華南理工大學(xué);廣東美泰科技有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 廣州粵高專利代理有限公司 | 代理人: | 何淑珍 |
| 地址: | 510640廣東*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 動態(tài) 探針 方法 及其 嵌入式 系統(tǒng) 中的 應(yīng)用 | ||
?????????????????????????????????技術(shù)領(lǐng)域
本發(fā)明屬于計算機性能分析技術(shù)。具體地說,本發(fā)明涉及一種基于動態(tài)探測技術(shù)的動態(tài)探針實現(xiàn)方法,以及動態(tài)探針在嵌入式系統(tǒng)中的應(yīng)用,以動態(tài)收集嵌入式系統(tǒng)的性能信息。
?????????????????????????????????技術(shù)背景
隨著嵌入式技術(shù)的發(fā)展,嵌入式應(yīng)用的不斷增長以及嵌入式系統(tǒng)復(fù)雜性不斷提高,導(dǎo)致嵌入式軟件的規(guī)模和復(fù)雜性也不斷提高,有限的硬件資源和功能越來越強的需求依然是嵌入式軟件開發(fā)領(lǐng)域的主要矛盾,嵌入式軟件必須做到精簡高效、穩(wěn)定可靠。嵌入式軟件的質(zhì)量和開發(fā)周期對產(chǎn)品的最終質(zhì)量和上市時間起到?jīng)Q定性的影響,這使得嵌入式軟件的開發(fā)、分析與測試成為了研究的熱點,而上述問題的基礎(chǔ)在于對嵌入式系統(tǒng)性能信息的探測和收集。如何設(shè)計和實現(xiàn)一種新的性能信息探測和收集方法,完整準(zhǔn)確高效收集嵌入式系統(tǒng)的性能信息已經(jīng)迫在眉梢。
從性能數(shù)據(jù)的收集方式的角度來分類,可將目前主流的性能數(shù)據(jù)收集方式分成兩大類,采樣技術(shù)和探測技術(shù)。其中探測技術(shù)又分為靜態(tài)探測技術(shù)和動態(tài)探測技術(shù)。
使用采樣技術(shù)測量系統(tǒng)性能,首先需要周期性中斷應(yīng)用程序,獲取當(dāng)前程序計數(shù)器的值,累計一段時間之后,通過統(tǒng)計分析就可以得到有關(guān)性能的精確結(jié)果,從而知道程序的熱點所在。這種性能測量的方法很簡單,不需要增加額外的探測代碼,而且對系統(tǒng)的性能干擾很少。目前市場上覆蓋測試工具gcov,性能分析工具gprof、VTune等工具都是系統(tǒng)級或者用戶級的采樣工具。采樣技術(shù)實現(xiàn)簡單,但是存在一定的缺陷。首先,采樣技術(shù)建立在中斷機制的基礎(chǔ)之上,不精確的中斷機制將會導(dǎo)致不能正確分配指令引起的事件,導(dǎo)致采樣失真;其次,采樣的量度是固定的,使得采樣受限制于采樣點,僅僅適合于針對某一特殊目的的有限的性能分析;采樣的時間標(biāo)準(zhǔn)受限制,因而只能反映采樣進(jìn)程活躍的時間,當(dāng)發(fā)生了進(jìn)程切換的時候,時間記錄有可能被誤記。采樣是定時執(zhí)行的,需要額外訪問系統(tǒng)的定時器,且頻繁使用中斷,開銷較大。采樣只能描述統(tǒng)計信息,提供系統(tǒng)快照,無法刻畫進(jìn)程間交互信息,不能理解和觀測系統(tǒng)動態(tài)狀況。
靜態(tài)探測技術(shù)通常是直接在程序源代碼中的特定位置插入顯式的測量代碼,以生成性能信息。使用這種方法獲取性能信息時,需要重新對程序的源代碼進(jìn)行編譯,然后運行新編譯的源程序。在程序性能分析的過程中,靜態(tài)探測方式首先將用于性能分析的補丁代碼添加進(jìn)應(yīng)用程序源代碼,然后重新配置編譯源碼,之后運行編譯生成的可執(zhí)行程序,程序運行之后就可獲得性能分析信息。著名的內(nèi)核探測工具LTT(Linux?Trace?Toolkit)就是采用靜態(tài)探測技術(shù)實現(xiàn)的。靜態(tài)探測技術(shù)通常是生成永久保存的性能信息文件以搜集性能數(shù)據(jù),方便和利用其他的數(shù)據(jù)分析工具進(jìn)行分析。但是靜態(tài)探測技術(shù)存在一些問題。首先,添加增量代碼添加了代碼開銷和執(zhí)行開銷,當(dāng)探測不斷需要精確化的時候,總是需要重新編譯和運行應(yīng)用程序。而且為了避免開銷過大,不適宜定義過多的探測點。因此記錄事件的范圍收到了限制,記錄信息的全面性和詳細(xì)性都有所欠缺,不能完全反應(yīng)系統(tǒng)行為。靜態(tài)探測的方法在靈活性上也有所缺乏,他探測的需求變化的時候,需要對探測操作進(jìn)行重新定義。
與靜態(tài)探測技術(shù)不同,采用動態(tài)探測方式對系統(tǒng)性能數(shù)據(jù)進(jìn)行采集的時候不需要對程序的源代碼預(yù)先修改,編寫應(yīng)用程序的時候不需要考慮將來做性能分析時是否要插入動態(tài)探測點,即探測點的定義、插入和刪除等等的操作和應(yīng)用程序源碼的編寫完全無關(guān)。在進(jìn)行性能分析的時候,使用某種方式記錄需要插入探測點的地址以及對應(yīng)該探測點所定義的處理方式,程序源代碼不需要做任何的改動。只有當(dāng)被測試程序調(diào)入系統(tǒng)內(nèi)存中準(zhǔn)備運行的時候,才利用相關(guān)的技術(shù),動態(tài)修改代碼,從而達(dá)到收集相關(guān)信息的目的。IBM的Dprobes技術(shù)就是采用動態(tài)探測技術(shù),在執(zhí)行代碼的模塊中動態(tài)插入軟件探針以收集相關(guān)信息。動態(tài)探測技術(shù)克服了靜態(tài)探測技術(shù)的缺點,但是完全采用動態(tài)探測機制時,激活大量的探測點需要很大的開銷,而且動態(tài)探測機制對正確性的要求很高,一旦誤用,會導(dǎo)致系統(tǒng)的崩潰。
而對于嵌入式系統(tǒng)的性能分析技術(shù)上,目前嵌入式性能分析大多采用采樣方式或者靜態(tài)探測的方法收集性能數(shù)據(jù)。
?????????????????????????????????發(fā)明內(nèi)容
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種動態(tài)探針的方法,提高數(shù)據(jù)收集的正確性、精確性以及完備性,使之能高效、穩(wěn)定地運行目標(biāo)機平臺。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于華南理工大學(xué);廣東美泰科技有限公司,未經(jīng)華南理工大學(xué);廣東美泰科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200710028580.5/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:導(dǎo)熱介質(zhì)保護(hù)蓋
- 下一篇:顯示屏的移動裝置





