<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > Arm Neoverse CPU 的云上軟件分析

          Arm Neoverse CPU 的云上軟件分析

          作者: 時(shí)間:2024-08-28 來(lái)源:Arm 收藏

          作者: 開(kāi)發(fā)者平臺(tái)部技術(shù)產(chǎn)品總監(jiān) Peter Harris

          本文引用地址:http://www.ex-cimer.com/article/202408/462419.htm

          為云端的工作負(fù)載提供了兼具高性能與高能效的計(jì)算平臺(tái)。通過(guò)針對(duì)底層硬件進(jìn)行軟件調(diào)優(yōu),能夠大幅提高應(yīng)用性能。因此,來(lái)自硬件的高質(zhì)量性能數(shù)據(jù),以及用于采集和解析數(shù)據(jù)的性能分析工具必不可少。

          Streamline CLI Tools 是一套全新的免費(fèi)命令行工具,可以在運(yùn)行 Linux 的 服務(wù)器上直接對(duì)工作負(fù)載進(jìn)行分析。這些工具采用 Arm 自頂向下 (top-down) 的分析方法,僅需很少的用戶配置,即可提供清晰、可操作的性能數(shù)據(jù)。開(kāi)發(fā)者可以利用這些數(shù)據(jù),來(lái)優(yōu)化應(yīng)用軟件中頻繁使用的功能代碼。

          軟件性能

          為了便于理解軟件應(yīng)用的性能,可以使用這樣一個(gè)簡(jiǎn)單的公式:交付性能 = 利用率 × 效率。在這個(gè)公式中:

          “利用率”衡量的是處理器的執(zhí)行能力中有多少比例用于處理指令。

          “效率”衡量的是所使用的處理器執(zhí)行能力中有多少比例用于處理有用指令,而非浪費(fèi)在丟棄的推測(cè)執(zhí)行指令上。

          為了獲得理想的軟件性能,必須構(gòu)建高效的軟件算法,然后在運(yùn)行時(shí)讓處理器的利用率和執(zhí)行效率均達(dá)到較高的水平。

          自頂向下的 分析

          在自頂向下的分析方法中,現(xiàn)代 Arm CPU 的處理核心被表示為一個(gè)包含三個(gè)主要階段的抽象模型。

          自頂向下的方法定義了最大可用處理能力,即微操作 (micro-op) 發(fā)射槽位的總數(shù)乘以測(cè)量窗口中的時(shí)鐘周期數(shù)。這些工具使用 Arm CPU 性能計(jì)數(shù)器來(lái)計(jì)算一些指標(biāo)從而可將槽容量對(duì)應(yīng)于核心中特定行為。

          前端綁定:因指令獲取瓶頸而未使用以致?lián)p失的槽容量百分比。

          錯(cuò)誤推測(cè):由于錯(cuò)誤分支預(yù)測(cè)或錯(cuò)誤的推測(cè)執(zhí)行而損失的槽容量百分比。其中 錯(cuò)誤的推測(cè)執(zhí)行會(huì)使 CPU 取消在錯(cuò)誤的控制路徑上發(fā)出的微操作。

          后端綁定:由于后端處理或數(shù)據(jù)提取延時(shí)而未使用以致?lián)p失的槽容量百分比。

          執(zhí)行完成:為成功完成指令而用到的槽容量百分比。

          這四個(gè)基本指標(biāo)是自頂向下分支樹(shù)的根節(jié)點(diǎn),顯示了對(duì)高性能軟件非常重要的“利用率”和“效率”的基本指標(biāo)。每個(gè)基本節(jié)點(diǎn)下方還有進(jìn)一步的指標(biāo)層級(jí),提供了更詳細(xì)的細(xì)分,以便進(jìn)行因果分析。

          這種分層方法具有清晰的因果指標(biāo),便于直觀地發(fā)現(xiàn)和理解軟件中對(duì)微架構(gòu)敏感的性能問(wèn)題。通過(guò)這些信息,我們可以根據(jù)具體問(wèn)題采取特定糾正措施來(lái)提高性能。

          使用 Streamline CLI Tools 進(jìn)行分析


          Streamline CLI Tools 是一套 Arm 原生命令行工具,可完全在服務(wù)器上進(jìn)行性能分析。這個(gè)工作流程生成的總結(jié)性電子表格可以從服務(wù)器下載,以獲得可視化結(jié)果,但批量分析數(shù)據(jù)只能留存在云環(huán)境上。

          自頂向下指標(biāo)提供了一種識(shí)別軟件性能問(wèn)題的系統(tǒng)化方法,但只有當(dāng)指標(biāo)與所運(yùn)行程序中的特定位置相關(guān)聯(lián)時(shí),才能提供可操作的反饋。我們將在 Streamline CLI Tools 中引入新功能,可對(duì)自頂向下指標(biāo)進(jìn)行逐函數(shù)歸因分析。

          在下面的示例中,我們分析了在 Arm V1 上運(yùn)行的 Arm ASTC 紋理壓縮器。分析結(jié)果顯示 compute_avgs_and_dirs_3_comp_rgb () 函數(shù)是壓縮器中主要的熱點(diǎn)。該函數(shù)的指令執(zhí)行完成率較低,錯(cuò)誤推測(cè)水平較高。關(guān)于錯(cuò)誤推測(cè)的二級(jí)指標(biāo)表明,有很大比例的分支預(yù)測(cè)錯(cuò)誤,并且每千條指令中存在大量分支未命中 (MPKI)。這份易于理解的性能分析報(bào)告,為我們清楚地指明了需要優(yōu)化的環(huán)節(jié)和需要改進(jìn)的地方。

          在優(yōu)化此函數(shù)后,我們用 Neon 條件選擇替換了不可預(yù)測(cè)的數(shù)據(jù)驅(qū)動(dòng)分支,然后重新進(jìn)行分析。分析結(jié)果顯示,更改后實(shí)現(xiàn)了顯著的 10% 性能提升,并且此函數(shù)的錯(cuò)誤推測(cè)指標(biāo)回落到典型的基線水平。任務(wù)圓滿完成。

          免費(fèi)獲取 Streamline CLI Tools

          你可以通過(guò)閱讀教程 [1] ,開(kāi)始使用 Streamline CLI Tools。使用 wget 可以輕松下載工具并直接安裝到 Arm 服務(wù)器上,或者也可以訪問(wèn)我們的網(wǎng)站來(lái)下載軟件包 [2] 。

          歡迎告訴我們你希望在未來(lái)版本中看到哪些功能,或者你在使用工具時(shí)遇到的任何問(wèn)題。可以通過(guò) Streamline GitHub 報(bào)告問(wèn)題 [3] ,也可以發(fā)送電子郵件至 performancestudio@arm.com 聯(lián)系產(chǎn)品團(tuán)隊(duì)。



          關(guān)鍵詞: Arm Neoverse CPU

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();