[發明專利]一種檢測應用程序執行過程中冗余零的方法有效
| 申請號: | 202110085463.2 | 申請日: | 2021-01-22 |
| 公開(公告)號: | CN112765027B | 公開(公告)日: | 2022-05-17 |
| 發明(設計)人: | 楊海龍;游心;欒鐘治;錢德沛 | 申請(專利權)人: | 北京航空航天大學 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京科迪生專利代理有限責任公司 11251 | 代理人: | 顧煒;安麗 |
| 地址: | 100191*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 檢測 應用程序 執行 過程 冗余 方法 | ||
本發明公開了一種檢測應用程序執行過程中冗余零的方法,包括:1)識別由于數據結構使用不當、數據寬度過大以及無用計算造成的冗余零;2)提示冗余零發生的源代碼行與執行上下文來提供直觀的優化指導;3)依據應用檢測出的冗余零信息進行針對性優化可以顯著提高應用的執行性能或能效。本發明充分挖掘了應用內部廣泛存在的冗余零現象,并能夠在有效識別應用軟件中存在的冗余零的同時,給出準確、直觀的優化指導建議來實現顯著的加速效果并降低執行應用程序來完成計算任務的總能耗。
技術領域
本發明涉及性能分析工具、高性能計算等領域,特別是涉及一種檢測應用程序執行過程中冗余零方法。
背景技術
在高性能計算領域,高性能應用軟件依賴于眾多第三方庫并擁有大量復雜的控制、數據流來處理應用數據。如此高的軟件復雜性帶來了不可預知的軟件低效行為,使得高性能應用軟件無法達到其所預期的最佳性能。應用軟件常常包含有冗余操作,例如重復地從內存加載相同的值,向內存寫入無用的值,向內存的同一位置上覆蓋不會用到的中間結果,或者重復地計算相同的數值。此外,還有一系列應用軟件會使用稀疏數據作為其輸入進行處理。倘若這些軟件使用稠密的數據結構存儲,甚至使用稠密的算法進行處理,則會浪費大量的資源去處理數據結構或者算法中引入的頻繁的、冗余的零值。
在當前,已經有大量的真實應用已經報告了大量冗余零的存在并對其進行了優化來達到更好的效果。例如在深度神經網絡領域,研究人員已經提出了軟件或者硬件的優化方法來實現對神經網絡中稀疏性的自動檢測以及特定的稀疏優化來達到更好的性能;在視頻編碼領域,研究人員提出了一些全零塊(all-zero block)檢測方法來跳過這些塊的計算來達到更高的性能。這些方法都是對于特定領域上的工作,并不能對其他領域的應用上提供對于冗余零的檢測或優化。目前,對于冗余計算,尤其是冗余零的自動檢測方法上,已有的解決方案主要分為以下兩個方面:
(1)硬件擴展或新型硬件
這方面的研究是通過開發硬件擴展或者新型硬件來檢測應用執行過程中的冗余零并對其進行針對性的優化。如有研究人員提出過零值內容增廣緩存(ZCA cache)以及解耦零值壓縮內存(DZC memory)來檢測、消除緩存以及內存中存在的冗余零;此外,eDRAM中存在的冗余零被利用來減少冗余的內存刷新從而降低內存的能耗;研究人員也提出了利用冗余零信息的零值感知緩存算法(Zero-Chunk)來提高冗余零的訪問速度并減少其資源消耗。但這些硬件方法都需要對現有計算機硬件系統進行擴展,并沒有融合進現有的商業服務器中,使得真實的應用軟件并不能直接使用這些硬件擴展或新型硬件。
(2)純軟件方法,例如編譯器優化,性能分析工具
這方面的研究是通過純軟件方法對應用執行過程中的冗余操作進行檢測或者進行針對性的優化。這方面研究主要包含兩類方法:編譯器優化和性能分析工具。對于編譯器優化,現有的研究已經應用了一系列冗余優化方法,包括值編號(value numbering)、公共子表達式消除、常量傳播等,但這些方法都受限于有限的優化范圍以及不準確的指針、同義評估。鏈接時優化(Link-time optimization)可以一定程度上擴大編譯器優化的范圍,但其優化后的性能提升有限。結合上述靜態編譯優化方法,研究人員也提出了性能側寫導向的編譯優化來結合性能數據與編譯優化,但這些技巧還沒有識別冗余零相關的內存、計算操作來進一步優化生成代碼。此外,現有的性能分析工具(例如Perf、HPCToolkit、VTune、gprof等)可以監測應用程序的執行過程并采集、報告應用執行過程中的性能數據來指導優化,包括CPU墻鐘時間,緩存命中率,計算密集度等。其他如RedSpy和LoadSpy等性能工具可以識別冗余的內存寫與讀,但上述工具都只能識別應用程序的熱點以及資源利用率,但并不能識別軟件中蘊含的冗余零相關的低效行為,也不能提供相關的優化指導。
綜上所述,現有的硬件或者軟件方法都不能識別深藏在軟件層層抽象下的冗余零導致的軟件低效行為。
發明內容
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京航空航天大學,未經北京航空航天大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110085463.2/2.html,轉載請聲明來源鉆瓜專利網。





