[發明專利]利用應用程序檢測計算機系統性能變化的方法和系統有效
| 申請號: | 201810154569.1 | 申請日: | 2018-02-23 |
| 公開(公告)號: | CN108415836B | 公開(公告)日: | 2020-12-01 |
| 發明(設計)人: | 湯雄超;翟季冬;陳文光 | 申請(專利權)人: | 清華大學 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京睿邦知識產權代理事務所(普通合伙) 11481 | 代理人: | 徐丁峰 |
| 地址: | 10008*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 利用 應用程序 檢測 計算機系統 性能 變化 方法 系統 | ||
提供了利用應用程序檢測系統性能變化的方法、計算裝置和計算機存儲介質。在應用程序的源程序中定位探針代碼段,探針代碼是在一段時間內被多次執行,且每次執行時的工作量固定不變的代碼;在定位的探針代碼段前后插入自定義的代碼,這些插入的代碼將在運行時采集性能數據。在源程序中定位探針代碼段包括:將源程序的源代碼編譯成中間碼;識別中間碼中的探針代碼;基于識別得到的中間碼中的探針代碼,在源程序中定位探針代碼段。本發明的系統性能變化檢測技術能夠低開銷地在程序運行中及時檢測并定位系統的性能變化。
技術領域
本發明總體地涉及高性能計算系統,特別是涉及檢測計算機系統性能變 化的方法和系統。
背景技術
在當前的高性能計算(HPC)系統中,性能變化是一個非常嚴重的問題。 在當前的大規模HPC系統上,由于受到系統性能變化的影響,程序不同次運 行的時間可能會差別很大。在大型計算機上,這種情況是很常見的。
無論是普通的用戶還是專業的程序開發者都會受到這種性能變化的不良 影響。性別變化會影響不可預測的性能下降,這會耗費更多的時間和資源, 甚至無法滿足用戶對性能的要求。此外,對于不同應用程序的性能比較也變 得更為困難。而對于程序開發者而言,新加入的優化產生的效果可能會被系 統的性能變化所掩蓋。根據前人的研究,有許多原因都可以引起性能變化, 包括硬件故障,網絡擁堵,僵尸進程,操作系統調度,等等。取決于具體的 原因,有一些種類的性能變化是可以避免的;但另一些種類卻無法避免。例 如,如果性能變化是由壞結點造成的,那只要換一個好的就可以了。但是, 如果是由網絡擁堵造成的,因為網絡是一個多用戶共享的資源,單一的用戶 很難去阻止或規避網絡擁堵。因此,在抱怨系統或者重新提交作業之前,我 們需要先回答兩個問題:(1)性能變化有多大;(2)性能變化的原因是什么。 因此對于系統性能變化進行快速有效的檢測非常重要。
截至目前,檢測和處理性能變化的方法大致可以分為四類,但它們無一 能夠很好地回答上面的兩個問題。這四類方法是:(1)重跑。這是一種非常 簡單的檢測性能變化的方法,只要重復運行多次并比較它們的運行時間,就 能發現性能的變化。顯而易見的是,這種方法將會耗費大量的時間和系統資 源,運行時間長的程序尤甚。(2)性能模型。如果有一個準確的性能模型, 我們就能準確預測程序的運行時間。這樣當實測時間與預測時間不符時,就 檢測到了性能變化。然而大多數性能模型都著眼于預測程序整體的運行時間, 而無法確定性能變化來自何方。此外,性能模型通常需要針對具體程序具體 平臺進行構建,這使得這種方法的可移植性較差。(3)Profile和Trace。在 程序運行過程中通過某些手段收集性能數據,并在程序結束后進行分析。這 種方法最大的不足之處在于,如果采集過多數據,將會使得程序性能下降, 并對存儲系統產生巨大壓力;反之,如果采集的數據太少,又無法獲得足夠 的細節來檢測和定位系統性能變化。(4)基準測試。通過在計算機系統上運行一系列精心設計的基準測試程序,可以檢測出系統的性能變化。但是這種 方法因為是專門的一個測試,所以無法在系統上已經運行著應用程序的時候 進行,否則將極大影響應用程序的性能。總而言之,如何低開銷地在程序運 行中及時檢測并定位系統的性能變化,仍是一個尚未解決的問題。
發明內容
鑒于上述情況,提出了本發明。
根據本發明的一個方面,提出了一種利用應用程序檢測系統性能變化的 方法,包括:在應用程序的源程序中定位探針代碼段,探針代碼是在一段時 間內被多次執行,且每次執行時的工作量固定不變的代碼;在定位的探針代 碼段前后插入自定義的代碼,這些插入的代碼將在運行時采集性能數據。
進一步地,在源程序中定位探針代碼段可以包括:將源程序的源代碼編 譯成中間碼;識別中間碼中的探針代碼;基于識別得到的中間碼中的探針代 碼,在源程序中定位探針代碼段。
進一步地,識別中間碼中的探針代碼可以包括:識別位于循環內部的工 作量固定的子循環或函數調用作為探針代碼。
進一步地,探針代碼的工作量不受相關聯的控制語句和/或函數參數影 響。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于清華大學,未經清華大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810154569.1/2.html,轉載請聲明來源鉆瓜專利網。





