【華為雲技術分享】鯤鵬開發套件:讓應用軟件遷移調優So Easy


鯤鵬開發套件是提供給開發者面向鯤鵬處理器進行應用軟件遷移與調優的系列化工具。通過鯤鵬開發套件可實現對海量代碼進行快速掃描和分析,並提供專業的代碼移植指導,以及移植后全面的系統性能分析與可視化呈現,從而極大提升軟件開發者移植與調優效率。

  • 當前應用遷移面臨的挑戰

因處理器所支持的指令集不同,開發者可能需要對代碼進行跨處理器平台的移植,大量不可見的工作量的確難以下手。如果純粹依靠人工進行代碼遷移,不僅分析過程投入工作量大,周期長,需反復試錯定位,准確率也低下,而且要求移植人員專業技能高;移植到新處理器平台后的程序,容易出現程序性能問題,例如:CPU占用率過高,I/O吞吐率下降等性能問題,這就需要對程序進行優化。但傳統性能分析優化手段單一,依賴專家經驗,時間成本長,效果不佳,這些都超出了一般程序員的能力范圍。

  • 鯤鵬開發套件的誕生

為了應對這些挑戰,鯤鵬開發套件就應運而生了。鯤鵬開發套件是系列化的協助開發人員面向鯤鵬處理器快速進行應用軟件遷移與調優的工具集,當前包括Dependency Advisor(分析掃描工具)、Porting Advisor(代碼遷移工具)、Tuning Kit(性能優化工具)。它集成了華為代碼遷移與性能調優的專家經驗,能夠對海量代碼進行自動化掃描和分析,識別出需要移植的依賴庫文件,給出專業的移植報告與建議,並提供從系統、進程、函數到代碼的全景性能分析,為開發提供了從軟件評估、代碼移植到性能調優端到端的一站式服務套件。

  • Dependency Advisor(華為鯤鵬分析掃描工具)詳細介紹

華為鯤鵬分析掃描工具可安裝在x86服務器或者TaiShan服務器上,當客戶有軟件需要移植到鯤鵬計算平台(例如TaiShan服務器等使用鯤鵬處理器的服務器產品)時,可先用該工具分析可移植性和移植投入。該工具解決了客戶軟件移植評估分析過程中人工分析投入大、准確率低、整體效率低下的痛點,通過該工具能夠自動分析並輸出指導報告。

當前工具支持的功能如下:

  • 檢查用戶軟件資源包(RPM、DEB、TAR、ZIP、GZIP文件)中包含的SO(Shared Object)依賴庫和可執行文件,並評估SO依賴庫和可執行文件的可移植性和在安裝包中的相對路徑。
  • 檢查用戶Java類軟件包(JAR、WAR)中包含的SO依賴庫和二進制文件,並評估上述文件的可移植性。
  • 檢查指定的用戶軟件安裝路徑下的SO依賴庫和可執行文件,並評估SO依賴庫和可執行文件的可移植性。
  • 檢查用戶C/C++軟件構建工程文件,並評估該文件的可移植性。
  • 檢查用戶C/C++軟件源碼,並評估軟件源文件的可移植性。
  • 向用戶提供軟件移植報告,提供移植工作量評估。
  • 支持命令行方式和Web兩種工作模式。

  • Porting Advisor(華為鯤鵬代碼遷移工具)詳細介紹

華為鯤鵬代碼遷移工具是一款可以簡化客戶應用遷移到TaiShan服務器的過程的工具。當客戶有x86平台上源代碼的軟件要移植到鯤鵬計算平台上時,可用該工具自動分析出需修改的代碼內容,並指導用戶如何修改。該工具解決了用戶代碼兼容性人工排查困難、移植經驗欠缺、根據編譯錯誤定位為題反復修改等痛點。

當前工具支持三個應用中心,支持的功能特性分別如下:

  • 源碼移植掃描中心

− 檢查用戶C/C++軟件構建工程文件,並指導用戶如何移植該文件。

− 檢查用戶C/C++軟件構建工程文件使用的鏈接庫,並提供可移植性信息。

− 檢查用戶C/C++軟件源碼,並指導用戶如何移植源文件。

  • 軟件移植中心,基於華為豐富的軟件移植經驗,幫助用戶快速移植軟件。
  • 軟件分析構建中心,分析用戶x86軟件包構成,重構適用於鯤鵬平台軟件包。

  • Tuning Kit(華為鯤鵬性能優化工具)詳細介紹

華為鯤鵬性能優化工具是針對鯤鵬計算平台的性能分析和優化工具,能收集處理器硬件、操作系統、進程/線程、函數等各層次的性能數據,分析出系統性能指標,定位到系統瓶頸點及熱點函數。

當前工具支持的功能特性如下:

  • 系統配置全景分析,采集整個系統的軟硬件配置信息,分析並針對不合理項提供優化建議。
  • 系統性能全景分析,借鑒業界的USE(utilization、saturation、errors)方法,通過采集系統CPU、內存、存儲IO、網絡IO等資源的運行情況,獲得它們的使用率、飽和度、錯誤等指標,識別系統瓶頸。針對部分系統指標項,根據已有的基准值和優化經驗提供優化建議。
  • 系統資源調度分析,基於CPU調度事件分析CPU核、進程/線程在各時間點的運行狀態,進程/線程切換情況,給出相應的優化建議。
  • 進程/線程性能分析,借鑒業界的USE方法,采集進程/線程對CPU、內存、存儲IO等資源的消耗情況,獲得對應的使用率、飽和度、錯誤等指標,識別性能瓶頸。針對部分指標項,根據已有的基准值和優化經驗提供優化建議。
  • C/C++程序分析,支持分析C/C++程序代碼,找出性能瓶頸點,給出對應的熱點函數及其源碼和匯編指令;支持通過火焰圖展示函數的調用關系,給出優化路徑。
  • Java Mixed-Mode分析,支持分析JAVA程序代碼,找出性能瓶頸點,給出對應的熱點函數;支持通過火焰圖展示函數的調用關系,給出優化路徑。

  • 應用效果

在Hadoop大數據應用場景的業務遷移中,開發人員使用Dependency Advisor分析掃描和Porting Advisor構建中心一鍵打包功能特性,將原來x86平台上的25個RPM包快速遷移到鯤鵬服務器上,在分析環節、修改編譯選項、修復編譯問題、RPM打包等環節效率都有顯著提升,工作量由原來的7人天下降到2人天,效率提升了70% 。

更多關於華為鯤鵬開發套件信息,請訪問:

Dependency Advisor軟件:https://www.huaweicloud.com/kunpeng/software/dependencyadvisor.html

Porting Advisor軟件:https://www.huaweicloud.com/kunpeng/software/portingadvisor.html

Tuning Kit軟件:https://www.huaweicloud.com/kunpeng/software/tuningkit.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM