999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

嵌入式軟件性能量化分析技術

2023-08-18 05:01:27王嘎李路野韓文俊
中國新通信 2023年12期
關鍵詞:優化分析信息

王嘎?李路野?韓文俊

摘要:嵌入式系統軟件對實時性指標要求較高,為了盡可能提高軟件的運行效率,嵌入式開發人員迫切需要能夠有效輔助嵌入式軟件開發的工具和性能分析的方法。本文提出了一種針對嵌入式系統軟件的性能量化分析框架,該框架通過系統采樣的方法采集硬件資源并利用信息,建立性能評價指標表征應用性能,通過對性能指標進行量化分析評估軟件性能,定位問題并提出優化建議。為了驗證該框架的有效性,在Intel服務器Linux操作系統,對通用矩陣乘法進行了性能分析和優化,計算資源利用率平均提升10%左右,軟件代碼性能提升65%。

關鍵字:嵌入式系統;量化分析;評價指標

自微處理器X86架構出現的30年里,最初階段的性能提升主要來源于提升處理器的時鐘周期。時鐘周期的提升不可避免地帶來了功耗的增加和散熱問題,后期的處理器主要通過增加處理器的核心數量來提升性能。單個處理器的應用程序和多核處理器的應用程序在軟件設計過程區別較大。嵌入式平臺主要以多核處理器作為計算,由于嵌入式系統對軟件性能和穩定性要求較高,同時又與硬件平臺緊密耦合,因此必須充分發揮硬件資源。尤其是并行程序設計,必須對應用軟件進行性能分析和調試優化,要以分析工具為輔助,對應用軟件的CPU、內存、網絡等資源的使用率以及高速緩存的利用率進行采樣并跟蹤定位,找到軟件的性能瓶頸,優化關鍵算法,從而在資源有限的情況下,提高軟件性能和可靠性。

一、相關工作

Gprof[1-3]是Linux操作系統的開源性能分析工具,可以統計函數的調用次數和耗時分析,主要采用插樁的方式,而采樣會帶來額外的開銷且不夠精確,對網絡等資源沒有統計在內,不是理想的性能分析工具。

Perf[4]和Oprofile[5]也是開源性能分析工具,與Gprof不同的是,Perf和Oprofile還可以獲取底層的信息,并且不是插樁方式,而是非侵入式的,因此不會帶來額外的開銷,尤其是對高速緩存的分析能幫助快速定位熱點。

CodeTEST[6]是AMC公司開發的性能分析工具,基于自動插樁的方式,與Gprof不同的是,CodeTEST的插樁是在匯編級語言,信息更準確,但是靈活性較差。

PAPI[7]是由美國田納西大學創新計算實驗室開發的,以硬件性能計數器為基礎的性能分析工具,基于事件的采樣從而對Cache命中率、分支預測的事件獲取,能精準分析硬件利用信息,更好地定位問題。

TAU[8](Tune and Analysis Utilities)是一個針對C、C++、Java等并行程序的性能分析工具,將性能信息可視化展示,更好地實現人機交互。

Likwid[2]也是Linux的性能分析工具,包含多個工具包,主要用來分析計算機拓撲結構,獲取硬件信息,性能基準測試可用性強。

2018年,國防科技大學在飛騰1500A處理器中開發了一款性能分析工具[2],主要實現了拓撲信息獲取硬件性能監測等。

2019年,Intel發布了針對X86架構的并行程序性能優化分析工具Intel Parallel Studio,其中Vtune[9]能夠訪問處理器的硬件計數器收集、分析性能信息和定位熱點。

二、性能量化分析技術

針對嵌入式軟件難以充分發揮硬件資源的問題,本文主要建立了一種軟件性能量化分析技術,通過全系統采樣技術進行硬件信息采集,建立性能評價指標,并對性能指標針進行優化,提升嵌入式軟件的性能,以支持高性能高可靠度的軟件開發。主要的功能包括:

(一)軟件性能量化分析框架

對于嵌入式軟件硬件資源利用不高,實時性低下的問題,設計一個框架:通過硬件信息采集、獲取、計算資源利用率,同時建立性能評價指標,將性能信息數據可視化,分析量化的指標,同時快速定位到軟件的問題。

(二)硬件信息采集

通過插樁、時間采樣和事件采樣,獲取軟件運行過程和硬件微體系性能事件的特征,通過中斷測量和函數測量的方式獲取底層信息;

(三)性能評價指標

影響程序性能的因素主要包括算法、指令執行流水、高速緩存、內存讀寫等,依據這些因素定義關鍵性能評價指標,而這些關鍵性能指標能夠確定軟件是否充分發揮硬件性能。

(四)性能量化分析

根據性能信息采集獲取的關鍵性能數據,以及最優化的指標值的區間范圍完成性能量化評估。

三、軟件性能量化分析框架

軟件性能量化分析框架主要包括:硬件信息采集、性能評價指標、性能量化分析。如圖1所示,硬件信息采集軟件包含采樣數據驅動程序技術、中斷和采樣技術,采集CPU、Cache、內存、高速緩存等硬件資源利用率;性能評價指標將關鍵性能指標數據可視化,包括CPU利用率、Cache命中率、CPU流水線等指標;性能量化分析對最優化的指標進行置信區間量化分析,評估是否最大限度利用計算資源并定位問題,快速進行代碼優化。

(一) 硬件信息采集

硬件信息采集主要由性能分析工具完成,采集過程主要通過基于時間和事件的采樣等技術途徑,收集CPU、內存、高速緩存、網絡、磁盤等使用信息。

大多數多核處理器集成了性能計數器,對于沒有集成性能計數器,則使用基于時間的采樣。這種采樣方式是基于中斷機制的,每次時鐘中斷系統就會采樣一次。

(二)性能評價指標

影響程序性能的因素主要包括算法、指令執行流水、高速緩存、內存讀寫等,在眾多性能指標中,選擇關鍵指標:算法復雜度、CPU流水線效率、高速緩存命中率、CPI(指令周期數)、向量化效率。定義關鍵性能評價指標,并能夠依據這些關鍵性能指標確定軟件是否充分發揮硬件性能。

(三)性能量化分析

對關鍵性能評價指標的實際測試值和理想最優化值在一個區間上進行比較,確定程序的熱點和瓶頸。如果在某個區間上,則可以認為該項指標不是軟件性能的瓶頸;如果不在某個區間上,則說明該項指標肯定是性能的瓶頸,隨后具體分析該指標所對應的硬件或者程序是否需要優化;如果只有一部分在區間上,則說明該項指標也會影響性能,但不是最最終因素,此時需要對最關鍵指標的影響進行排序,從影響最大的入手分析。

(四)實驗測試

通用矩陣的矩陣乘法在嵌入式系統的應用軟件開發領域應用最為廣泛,本文就以1024×1024的方陣矩陣乘法為實驗測試對象,驗證軟件性能量化分析技術的有效性,計算平臺是Intel E5,操作系統是Centos,編譯器采用gcc。

如表2所示,對性能評價指標進行分析:

①CPU流水線效率。該指標分析CPU在執行過程中的指令流水效率、指令并行能力,優化前完全流水執行的是35.4%,優化后是51.2%,提升了15.8%。

②高速緩存命中率。該指標表示程序中的數據和指令是否都在硬件的Cache中,命中率高的程序,緩存優化更好,構件性能更優,優化前命中率是92%,優化后命中率是98%,提升了6%。

③向量化效率。處理器的向量處理單元利用率影響程序的向量化效率,將可以矢量處理的計算轉換為向量化,性能會更優;優化前是25%,優化后是30%,提升了5%。

④CPI。該指標表示指令并行度,優化前完全流水執行的是0.830,優化后是0.547,指令并行度提升了0.283。

⑤處理時間優化前是46ms,優化后是16ms,性能提升了65%。

四、結束語

本文在嵌入式系統軟件開發領域提出了一種軟件性能量化分析方法,通過建立時間采集、時間采集等硬件信息采集,將影響軟件性能的因素提煉抽象,定義了CPU流水線效率、高速緩存命中率、向量化效率等性能評價指標,并對指標進行了量化分析,依據分析結果定位問題和優化代碼,最終達到充分發揮計算資源,提升嵌入式軟件性能的目的,實驗結果顯示,利用本文提出的軟件性能量化分析框架,通用矩陣乘算法性能提升了65%。

作者單位:王嘎 李路野 韓文俊

南京電子技術研究所

參? 考? 文? 獻

[1] http://sourceware.org/binutils/docs/gprof

[2] 彭林,方建濱,杜其琦,等.飛騰1500A處理器性能分析工具Likwid研究,計算機工程與科學,2018,40(7),.

[3] Gprof sites[EB/OL].[2018-01-15].https://en.wikipedia.org/wiki/Gprof.

[4] Perf sites[EB/OL].[2018-01-15].https://www.brendangregg.com/perf.html

[5] Oprofile sites[EB/OL].[2018-01-15].https://oprofile.sourceforge.net.

[6] Metrowerks.CodeTEST software analysis tools introduction[M].Metrowerks Press, 2003.

[7] PAPI sites[EB/OL].[2018-01-15].https://icl.cs.utk.edu/.

[8] Tau sites[EB/OL].[2018-01-15].https://www.cs.uoregon.

[9] Intel VTune sites[EB/OL].[2018-01-15].https://software.intel.com/en-us/intel-Vtune-amplifier-xe.

[10] 徐恒陽.龍芯多核平臺上性能分析工具的設計與實現[D].中國科學技術大學. 2011

[11] 張惠臻,王超,陳雁.嵌入式軟件性能分析方法研究與工具設計.計算機應用與軟件.

猜你喜歡
優化分析信息
超限高層建筑結構設計與優化思考
房地產導刊(2022年5期)2022-06-01 06:20:14
民用建筑防煙排煙設計優化探討
關于優化消防安全告知承諾的一些思考
一道優化題的幾何解法
隱蔽失效適航要求符合性驗證分析
電力系統不平衡分析
電子制作(2018年18期)2018-11-14 01:48:24
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
電力系統及其自動化發展趨勢分析
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
主站蜘蛛池模板: 精品视频福利| 亚洲v日韩v欧美在线观看| 国产人人射| 九色视频一区| 亚洲水蜜桃久久综合网站 | 亚洲国产精品一区二区高清无码久久 | 91年精品国产福利线观看久久| 在线播放国产一区| 国产精品免费福利久久播放| 成人免费视频一区| 日本高清免费不卡视频| 欧美视频在线不卡| 小说区 亚洲 自拍 另类| 国产农村精品一级毛片视频| 日本人妻丰满熟妇区| 国产美女主播一级成人毛片| 国产精品13页| 国产一区在线视频观看| 呦女亚洲一区精品| 国产高清在线观看| 精品夜恋影院亚洲欧洲| 少妇极品熟妇人妻专区视频| 久久综合五月| 国产激情无码一区二区免费| 欧美一级99在线观看国产| 中文字幕在线一区二区在线| 亚洲精品免费网站| 国产一区二区免费播放| 呦女精品网站| 亚洲最大福利网站| 国产成人精彩在线视频50| 国产在线精品人成导航| 免费一极毛片| 欧美国产日本高清不卡| 中文字幕调教一区二区视频| 国产精品久久国产精麻豆99网站| 99人体免费视频| 日韩一二三区视频精品| 日本午夜精品一本在线观看| 欧美综合区自拍亚洲综合绿色 | 精品人妻无码中字系列| 精品無碼一區在線觀看 | 激情无码字幕综合| 国产美女主播一级成人毛片| 最新亚洲人成无码网站欣赏网| 蜜芽国产尤物av尤物在线看| 精品自拍视频在线观看| 久99久热只有精品国产15| 91色在线视频| 老色鬼欧美精品| 国产精品亚洲专区一区| 国产成人综合网在线观看| 亚洲人成网18禁| 色婷婷亚洲十月十月色天| 伊人久久精品无码麻豆精品| 一级毛片视频免费| 谁有在线观看日韩亚洲最新视频| 国产精品九九视频| 国产日产欧美精品| 国产高清免费午夜在线视频| 亚洲男人的天堂在线| 亚洲色图在线观看| 日韩在线永久免费播放| 国产区免费精品视频| 美女无遮挡拍拍拍免费视频| 国产美女精品人人做人人爽| 国产裸舞福利在线视频合集| 久久国产精品77777| 久久综合九色综合97网| 亚洲欧美激情小说另类| 免费观看国产小粉嫩喷水| 国产香蕉97碰碰视频VA碰碰看 | 免费观看国产小粉嫩喷水| 激情无码字幕综合| 国产特级毛片| 日韩第九页| 久久国产毛片| 色综合中文综合网| 亚洲人成日本在线观看| 国产在线专区| 强奷白丝美女在线观看 | 日韩国产亚洲一区二区在线观看 |