《華為:2024鯤鵬原生開發技術白皮書(112頁).PDF》由會員分享,可在線閱讀,更多相關《華為:2024鯤鵬原生開發技術白皮書(112頁).PDF(112頁珍藏版)》請在三個皮匠報告上搜索。
1、鯤鵬原生開發技術白皮書01鯤鵬原生開發的機遇和挑戰 0102鯤鵬原生開發的核心技術理念 0303鯤鵬原生開發能力介紹 053.1 代碼開發階段 063.1.1 代碼開發 063.1.2 代碼優化 283.1.3 編譯 303.1.4 調試 323.1.5 調優 373.2 流水線階段 613.2.1 門禁檢查 613.2.2 編譯構建 663.2.3 調優 673.2.4 測試 683.2.5 版本發布 693.3 OS底座(openEuler系操作系統)703.3.1 openEuler簡介 703.3.2 openEuler基礎能力 713.3.3 openEuler工具和社區服務 750
2、4行業案例 804.1 金融 814.1.1 恒生電子:基于鯤鵬原生開發經紀場外業務系統,讓證券數據處理更高效 814.1.2 宇信科技:基于鯤鵬原生開發金融軟件,讓金融信息處理更高效 834.2 電信 864.2.1 浩瀚深度:鯤鵬原生賦能 DPI 采集系統,網絡數據可視化處理更加高效 864.2.2 恒安嘉新:基于鯤鵬原生開發安全采集分析平臺,保障企業信息系統安全穩定運行 894.3 政府 914.3.1 超圖軟件:基于鯤鵬原生開發地理信息系統,讓自燃資源評估更高效 914.3.2 深圳防災減災技術研究院:鯤鵬原生助力地震觀測數據高效處理 934.4 電力 954.4.1 廣州海頤:基于鯤
3、鵬原生開發高性能、高可靠電力系統軟件,加速電網數字化轉型 954.4.2 國能信控:基于鯤鵬原生開發新能源計算平臺,為電力系統提供高效算力支撐 974.5 醫療 994.5.1 衛寧健康:基于鯤鵬原生開發新一代醫療信息系統WiNEX,讓醫療服務更便利 994.5.2 東華軟件:構建鯤鵬原生醫療經營管理系統,讓醫院運作更有序 1014.6 水平軟件 1034.6.1 星環科技:基于鯤鵬原生大數據基礎軟件,讓企業數據流轉更快捷 1034.6.2 深信服:聯合鯤鵬共同推進企業級分布式存儲EDS原生開發創新實踐,讓數據管理更可靠 10501鯤鵬原生開發的機遇和挑戰鯤鵬計算產業聚焦計算架構創新和開源基礎
4、軟件的研發,致力于推動鯤鵬生態發展。通過戰略性、長期性的研發投入,吸納全球計算產業的優秀人才和先進技術,持續推進全棧計算技術的創新發展,加快構筑面向多樣化計算的全球開源體系與產業標準?;凇坝布_放、軟件開源、使能伙伴、發展人才”的策略推動鯤鵬計算產業發展。目前,鯤鵬軟硬件聯合創新已覆蓋國計民生核心場景,主流伙伴核心應用已遷移到鯤鵬,鯤鵬生態進入快速發展期。當前階段,鯤鵬和 x86 多平臺版本并行迭代成為主要需求,由于兩個架構開發生態的差異,如果采用兩套流水線分別開發兩套代碼,則會帶來很多重復開發驗證的工作,并且兩個版本分別開發、構建和維護效率低。因此,鯤鵬創新性的提出鯤鵬原生開發:基于鯤鵬硬
5、件+openEuler+鯤鵬 DevKit+鯤鵬BoostKit,實現 1 套代碼+1 條流水線+多平臺版本,助力伙伴持續且首發性能領先的商用版本。03/鯤鵬原生開發技術白皮書鯤鵬原生開發的核心技術理念02鯤鵬原生開發的核心技術理念鯤鵬原生開發技術白皮書/04鯤鵬原生開發的核心技術理念鯤鵬原生開發包含代碼開發階段和流水線階段:代碼開發階段:通過鯤鵬 DevKit、BoostKit 開發代碼,充分應用鯤鵬架構優勢,性能更優。流水線階段:鯤鵬 DevKit 以命令行方式 1 小時接入 CI/CD,便捷發布多平臺版本。極簡融入&高效發布:DevKit 原生開發插件 1 小時接入兩大主流(Jenkin
6、s、GitLab)CI/CD 流水線,高效提升鯤鵬流水線搭建及版本發布效率。鯤鵬親和&極致性能:鯤鵬流水線使能鯤鵬親和分析工具、編譯器、性能工具等,實現應用性能提升。多架構兼容:1 套流水線同時支持多樣性算力版本構建及測試。鯤鵬原生開發的核心技術理念:基于鯤鵬硬件+openEuler+鯤鵬開發套件 DevKit+鯤鵬應用使能套件 BoostKit,實現 1 套代碼+1 條流水線構建多平臺版本,效率更高、性能更優。圖 2-1 核心技術理念代碼開發階段代碼開發代碼優化編譯調試調優 場景化 SDK 啟發式編程 BoostKit 應用使能 鯤鵬親和分析 畢昇編譯器 畢昇 JDK GCC for ope
7、nEuler 鯤鵬調試器 系統性能分析 Java 性能分析 系統診斷流水線階段門禁檢查鯤鵬版本編譯構建X86 版本編譯構建鯤鵬平臺調優X86 平臺調優鯤鵬平臺測試X86 平臺測試鯤鵬版本發布X86 版本發布 應用遷移 親和分析 編碼規范檢查 畢昇編譯器 畢昇 JDK GCC for openEuler 自動反饋優化 測試框架 測試工具 測試樣例 病毒掃描鯤鵬兼容&親和,性能 5%CFGO/LTO/自動向量化/指令流水優化,性能 10%應用編譯調試,性能 5%10%多樣性算力測試套件,效率 20%病毒掃描,效率 5%05/鯤鵬原生開發技術白皮書鯤鵬原生開發能力介紹03鯤鵬原生開發能力介紹鯤鵬原生
8、開發技術白皮書/06鯤鵬原生開發能力介紹3.1代碼開發階段圖 3-1 代碼開發階段代碼開發代碼優化編譯調試調優 場景化 SDK 啟發式編程 BoostKit 應用使能 鯤鵬親和分析 畢昇編譯器 畢昇 JDK GCC for openEuler 鯤鵬調試器 系統性能分析 Java 性能分析 系統診斷通過鯤鵬 DevKit/BoostKit 開發代碼:充分應用鯤鵬架構優勢,性能更優3.1.1.2 應用開發工具應用開發工具支持創建鯤鵬應用工程,支持C/C+開發語言,編碼時能夠自動匹配鯤鵬加速庫函數字典、智能提示、高亮、聯想字典中可以替換的庫和函數。支持以下功能:鯤鵬應用工程:只需要在創建鯤鵬應用工程
9、頁面進行簡單的輸入和選擇,便可以實現自動化構建鯤鵬應用工程,包括空工程、通用計算應用工程、安全計算應用工程、高性能計算應用工程、DPAK應用工程和數據IO應用工程。字典管理:支持加速庫函數字典管理,可線上(自動)和線下更新。編程輔助:支持鯤鵬加速庫函數的懸浮提示、函數搜索,支持 Coding 時自動聯想和高亮鯤鵬加速庫優化后的相關函數。應用開發工具,詳細介紹與最新內容請參見鯤鵬社區 鯤鵬開發套件 DevKit 開發,詳情可掃描下方二維碼。3.1.1.1 代碼開發介紹鯤鵬原生開發在代碼開發階段提供了 DevKit 應用開發工具和 BoostKit 應用使能套件,可通過啟發式編程及多場景化 SDK
10、 提供的示例 Demo 和文檔,有效提升鯤鵬原生開發效率。3.1.1代碼開發07/鯤鵬原生開發技術白皮書鯤鵬原生開發能力介紹鯤鵬應用工程提供場景化的鯤鵬應用工程模板,快速輔助工程環境構建、配置檢查、依賴下載、構建文件生成等。步驟 1 創建鯤鵬應用工程(通用計算應用工程,界面截圖以 VS Code 環境為例)。圖 3-2 創建工程步驟 2 部署 SDK。圖 3-3 部署 SDK鯤鵬原生開發技術白皮書/08鯤鵬原生開發能力介紹步驟 3 工程創建成功后,展示結果。圖 3-4 工程創建成功-結束步驟 4 單擊“打開工程”,查看工程樣例代碼。圖 3-5 查看樣例代碼09/鯤鵬原生開發技術白皮書鯤鵬原生開
11、發能力介紹步驟 2 開啟加速庫提示,開啟后,用戶編碼過程中將會自動聯想、補齊與字典中匹配的庫和函數,方便用戶下載使用。圖 3-7 開啟加速庫提示步驟 3 開啟編譯選項智能聯想,開啟后,工具將會根據用戶選擇的編譯器版本進行智能聯想,可在編譯器版本下拉列表中選擇合適的編譯器版本。圖 3-8 開啟編譯選項智能聯想說明用戶構建腳本時,工具將會根據用戶選擇的 GCC 版本或 BiSheng Compiler 版本進行智能聯想,BiSheng Compiler 版本范圍在 2.1.04.0.0,GCC 版本范圍在 4.8.510.3.1。字典管理支持加速庫函數字典管理,可線上(自動)和線下更新。步驟 1
12、當用戶實際網絡環境無法連接外網時,可上傳本地字典文件。鼠標移動到“字典導入”旁的 ,單擊“下載”下載字典文件并在本地字典文件框內上傳。圖 3-6 上傳本地字典文件?鯤鵬原生開發技術白皮書/10鯤鵬原生開發能力介紹步驟 4 設置跳過證書驗證的網站,設置后的網站無需進行證書驗證。單擊“添加網站”,在彈框中輸入網站地址。圖 3-9 添加網站圖 3-10 輸入網站地址-結束編程輔助支持鯤鵬加速庫函數的懸浮提示、函數搜索,支持編碼時智能聯想和高亮鯤鵬加速庫優化后的相關函數。步驟 1 在代碼編輯區輸入代碼,工具會根據輸入的內容自動聯想函數或補全代碼。圖 3-11 自動聯想函數11/鯤鵬原生開發技術白皮書鯤
13、鵬原生開發能力介紹3.1.1.3 鯤鵬 BoostKit 應用使能套件1)鯤鵬 BoostKit 應用使能套件簡介鯤鵬 BoostKit 應用使能套件,基于鯤鵬硬件、基礎軟件和應用軟件的全棧優化,提供高性能開源組件、基礎加速軟件包和應用加速軟件包,使能應用極致性能,其針對大數據、分布式存儲、數據庫、虛擬化和 ARM 原生等場景進行了深度優化鯤鵬架構特性,如內存管理、計算調度等方面的技術優勢,通過預置的高性能庫和框架,賦能開發者輕松構建適應鯤鵬架構的高性能應用。在同一個構建流程中,當集成 BoostKit 后,基于鯤鵬架構的目標軟件包能夠獲益較大的性能提升。-結束步驟 2 通過代碼編輯區右上角的
14、 (放大鏡),在搜索框輸入關鍵字,可實現函數搜索。圖 3-12 函數搜索鯤鵬原生開發技術白皮書/12鯤鵬原生開發能力介紹獲取最新的鯤鵬 BoostKit 應用使能套件和詳細的用戶指南,請參見鯤鵬應用使能套件 BoostKit,詳情可掃描下方二維碼。圖 3-13 鯤鵬 BoostKit 應用使能套件簡介鯤鵬應用使能套件 BoostKit,極致性能,使能鯤鵬“好用”BoostKit:加速軟件包+高性能開源組件+參考實現數據親和:數據全處理流程負載優化大數據算法加速庫OmniRuntime 特性分布式存儲智能預取自研壓縮算法數據庫可插拔在線向量化分析引擎機密計算TrustZone 套件BoostKi
15、t場景化應用應用加速軟件包參考實現基礎加速軟件包高性能開源組件基礎軟件鯤鵬硬件全棧優化大數據分布式存儲數據庫虛擬化ARM 原生機密計算Web/CDNHPC八大場景軟硬協同優化,使能鯤鵬好用SQL 執行效率 30%11 大類 40+算法性能最高 20 x IOPS 性能 1.5x 壓縮率 25%TPCH 查詢性能 4X 自研安全 OS 內核性能最高 8x 就近計算算法加速并行化處理全生命周期安全13/鯤鵬原生開發技術白皮書鯤鵬原生開發能力介紹圖 3-15 鯤鵬 BoostKit 場景化應用加速能力介紹2)鯤鵬 BoostKit 應用加速鯤鵬 BoostKit 提供性能倍增的應用加速軟件包,使能數
16、據處理極致性能、數據訪問極致高效和云手機極致體驗。鯤鵬 BoostKit 應用加速軟件包,詳細介紹與最新內容請參見鯤鵬應用使能套件BoostKit 應用加速軟件包,詳情可掃描右方二維碼。圖 3-14 鯤鵬 BoostKit 場景化基礎加速能力介紹BoostKit 場景化基礎加速特性全景圖大數據分布式存儲數據庫虛擬化ARM 原生Web/CDNopenEuler 和畢昇 JDK性能優化壓縮算法NVMe SSD 原子寫KAE RSA 加解密OVS 流表歸一化虛擬化調度優化ExaGear AArch32指令翻譯軟件Gazelle 網絡優化OVS 流表網卡加速vKAE鯤鵬 GCC CFGO反饋優化高性能
17、云盤優化vCPU 熱插拔KAEzip壓縮解壓縮優化虛擬化 DPU 卸載MPAM 插件存儲算法加速庫存儲維護工具庫KAE 使能 SPDK場景化基礎加速特性BoostKit 應用加速組件全景圖大數據分布式存儲數據庫虛擬化ARM 原生HPCEC TurboMySQL 可插拔在線向量化分析引擎Kbox 云手機容器多瑙調度器負載感知加速系統智能寫 CacheCRC32 指令優化視頻流引擎多瑙調度平臺圖分析算法IO 直通MySQL NUMA調度優化指令流引擎機器學習算法數據壓緊MySQL 可插拔線程池元數據加速MySQL 并行查詢優化Ucache 智能讀緩存MySQL 細粒度鎖優化BoostIOMySQL
18、 無鎖優化RDMA 網絡加速OmniRuntimeBoostKit 應用加速:提供性能倍增的應用加速能力鯤鵬原生開發技術白皮書/14鯤鵬原生開發能力介紹ARM 原生鯤鵬 BoostKit ARM 原生利用 ARM 指令集同構優勢,支持移動應用無損上云,同時將多年技術積累濃縮到 Kbox云手機容器、指令流引擎、視頻流引擎核心能力等組件,形成了云手機 Turbo 套件,降低了開發難度,提升整機的密度,降低云手機單路成本,其中 HostOS 支持 Ubuntu 和 openEuler,GuestOS 支持 android-9.0.0_r55 和android-11.0.0_r48,用戶可以基于云手機
19、 Turbo 套件進行二次開發,從而實現云手機極致的性能和業務體驗。圖 3-16 鯤鵬 BoostKit ARM 原生云手機整體架構ExaGear AArch32 指令翻譯軟件ExaGear AArch32 指令翻譯軟件為鯤鵬服務器提供 AArch32 特性,基于鯤鵬服務器在 ARM 原生場景下能夠完全兼容 AArch32 的應用,保障 AArch32 V8.0 指令應用 100%兼容。同時也支持 pre-translator 特性,優化翻譯后的APP 啟動時間,提升客戶體驗。Kbox 云手機容器Kbox 云手機容器提供了軟件定義手機的基礎能力,其基于鯤鵬服務器,在 Docker 容器技術和
20、Android 開源項目(AOSP)基礎上,實現了將 GPU 設備直通到容器的輕量級設備仿真層架構方案,提供了基于 Android 系統的云手機容器參考方案??蓪崿F在鯤鵬服務器支持 100 路 720p30fps 的 Kbox 云手機容器高并發(以托管場景為例,云手機并發密度取決于客戶云手機實際應用),具有高密度、高兼容性等商業價值。云游戲/云手機 APK端云協同引擎(手機端 SDK)云手機 Turbo 套件指令流引擎云手機 Turbo 套件視頻流引擎端云協同引擎(服務端 SDK)云手機 Turbo 套件指令流引擎基礎云手機云手機 Turbo 套件 KboxExaGear AArch32 指令
21、翻譯軟件Ubuntu/openEulerAndroid 9.0/11.0鯤鵬服務器GPU編碼卡云手機 Turbo 套件視頻流引擎云手機管理系統Guest OSHost OS硬件平臺虛擬化ExaGear華為交付開源&第三方客戶&ISV 開發15/鯤鵬原生開發技術白皮書鯤鵬原生開發能力介紹視頻流引擎視頻流云手機方案基于視頻流的端云協同引擎,提供了低時延的云手機畫面同步能力,支持H.264和H.265硬編碼,在畫質相當的情況下,可實現 H.265 編碼帶寬減少 30%+,其實現原理是利用云端強大的能力將應用和游戲的運行、渲染成最終的畫面,并進行視頻的壓縮流化后,發送到終端播放顯示。視頻流引擎支持視頻
22、編碼能力、視頻解碼播放能力、云手機圖像截屏能力、觸控和音頻抓取/播放能力等核心功能,客戶可以基于這些引擎進行二次開發,實現在移動終端上進行操控應用和游戲等操作。云端采用專業顯卡進行渲染,可以獲取高畫質的業務體驗;對終端的要求極低,只要求有視頻解碼能力即可;提供統一 API,降低二次開發難度,易集成。指令流引擎指令流云手機方案采用業界獨創的端云分離渲染技術,可實現云側免 GPU 部署,整機硬件成本下降 10%,其實現原理是云手機利用云端強大的算力,通過引擎實現云端復制應用和游戲的渲染指令,并進行渲染指令和紋理數據壓縮流化,在端側使用手機終端的 GPU 把這些指令渲染出來圖像。指令流引擎,支持機指
23、令分離渲染、紋理數據視頻流化、觸控和音頻抓取/放能力等核心功能,客戶可以基于這些引擎進行二次開發,實現在移動終端上進行操控應用和游戲等操作。通過指令流引擎技術,可以支持云手機全系統渲染,并提供近乎無損的畫質,在1080P/2k/4k 分辨率下均不影響傳輸帶寬,并通過資源緩存技術,有效降低網絡帶寬 50%+;突破云端 GPU 能力限制,實現無 GPU 高密運行機制,單路硬件成本降低 40%,支持圖形渲染狀態機的本地執行與遠端同步,實現1080P 30FPS 低響應時延的用戶體驗。大數據鯤鵬 BoostKit 大數據聚焦大數據查詢效率低、性能優化難等挑戰,提供大數據組件的開源使能和調優、OmniR
24、untime、機器學習和圖分析算法加速庫等應用加速軟件包,提升大數據分析效率。圖 3-17 大數據應用加速軟件包介紹openEuler 和畢昇 JDK 性能優化適用 Hive 2.X/3.X、Spark 2.X,openEuler 操作系統基于大數據核心組件 Hive、Spark 通過磁盤 IO、網絡 IO 的調度策略優化、Neon 指令優化等實現大數據計算性能提升。畢昇 JDK 性能優化基于鯤鵬處理器構建開源 JDK 社區,通過 AppCDS、GC 算法優化、編譯優化等提升大數據核心組件 Hive、Spark 的計算性能。Hive 性能提升 2%25%,Spark 性能提升 3%25%。Om
25、niRuntime大 數 據 OmniRuntime 是 鯤 鵬 BoostKit 大 數 據 面 向 應 用 加 速 推 出 的 一 系 列 特 性,包 括 OmniData 算 子 下推、OmniOperator 算 子 加 速、OmniShuffle Shuffle 加 速、OmniMV 物 化 視 圖、OmniAdvisor 參 數 調 優 和OmniHBaseGSI 全局二級索引,旨在通過插件化的形式,端到端提升數據加載、數據計算和數據交換的性能,從大數據加速底座 OmniRuntimeOmniData算子下推OmniMV 物化視圖OmniOperator 算子加速OmniAdvis
26、or 參數調優OmniShuffleShuffle 加速OmniHBaseGSI 全局二級索引算法加速庫機器學習算法加速庫圖算法加速庫鯤鵬原生開發技術白皮書/16鯤鵬原生開發能力介紹而提升大數據分析的性能。Spark 使用 OmniRuntime 加速特性執行 SQL 計算,相比原生性能提升 20%40%,具體包括組件如下:OmniData 算子下推適用于存算分離場景或大規模存算融合場景,支持 Spark 3.0.0/3.1.1、Hive 3.1.0(Tez 0.10.0),是一種將大數據引擎的算子下推到存儲節點或卸載節點的服務,從而實現了近數據計算,減少了網絡帶寬,將該特性集成到 Spark
27、 后,基于 TPC-H 測試用例 12 條算子下推的 SQL 性能平均提升 40%。集成到 Hive 后,基于 TPC-H 測試用例 4 條算子下推 SQL 性能平均提升 20%。OmniOperator 算子加速適用于虛擬化場景,支持 Spark 3.1.1、Spark 3.3.1、Hive 3.1.0 版本,其采用 Native Code(C/C+)實現大數據 SQL 算子來提高查詢性能的特性,通過列式存儲和向量化執行技術,同時利用鯤鵬加速庫,提升算子的執行效率,將該特性集成到 Spark 后,基于 TPC-DS 99 條 SQL 驗證,可實現 Spark 性能提升 30%。OmniShu
28、ffle Shuffle 加速適用于虛擬化場景,支持 RDMA 和 TCP 兩種網絡模式,支持 Spark 3.1.1、Spark 3.3.1、Hive 3.1.0 版本,其基于 TCP/RDMA 等網絡介質,優化數據分析過程中跨節點的數據寫入、傳輸和讀取流程,提升 Shuffle 性能,支持數據分析過程性能提升,將該特性及算子加速特性集成到 Spark 后,基于 TPC-DS 99 條 SQL 驗證,可實現Spark 性能提升 40%。OmniMV 物化視圖適用于虛擬化場景,支持 Spark 3.1.1 版本,支持 ClickHouse 22.3.6.5 版本,其通過 AI 算法從歷史 SQ
29、L 查詢中推薦出最優物化視圖,并在 Spark 中自動對用戶 SQL 進行物化視圖匹配,將匹配成功的物化視圖替換用戶執行計劃的部分 SQL,大幅減少重復計算,提升查詢性能,在將該特性集成到 Spark 后,基于 TPC-DS 基準測試用例實現了 Spark 組件計算性能平均提升 30%,集成到 ClickHouse 后,基于 Star Schema BenchMark 實現ClickHouse 計算性能平均提升數倍。OmniAdvisor 參數調優適用于虛擬機場景,支持 Spark 3.1.1 和 Hive 3.1.0(只支持 Hive on Tez 模式),因 Spark/Hive 引擎參數
30、眾多,取值范圍大,人工調優存在調優效率低,調優效果不佳,OmniAdvisor 旨在通過 AI 的方式,實現參數的自動推薦,從而提升調優效率和調優效果。集成該特性后,基于 TPC-DS 10 條 SQL 可實現 Spark 性能提升 10%。OmniHBaseGSI 全局二級索引適用于虛擬機場景,支持 HBase 2.4.14 版本,因 HBase 原生提供了主鍵索引,但若使用非 Rowkey 進行查詢,則需要進行全表掃描,不僅耗費大量資源,查詢時延也很長,OmniHBaseGSI 全局二級索引,可以在非Rowkey 列上創建全局二級索引,從而極大加速非 Rowkey 列的查詢性能,集成該特性
31、后,可實現在 100 并發下,平均時延小于 30ms,P99 時延小于 300ms。機器學習和圖分析算法兼容 Spark 原生機器學習和圖分析算法的 API 接口,支持適配 Spark 2.3.2、Spark 2.4.5、Spark 2.4.6 版本,部分算法支持 Spark 3.1.1 和 Spark 3.3.1 版本,基于算法原理和芯片特征針對機器學習和圖分析算法進行深入優化,從而可以大幅提升大數據算法場景的計算性能。鯤鵬的機器學習&圖分析算法加速庫相比業界 Spark 原生 MLlib和 GraphX,相同精度下計算性能提升 20%以上。17/鯤鵬原生開發技術白皮書鯤鵬原生開發能力介紹分
32、布式存儲鯤鵬 BoostKit 分布式存儲使能套件聚焦開源 Ceph 存儲的性能低、成本高等關鍵挑戰,通過存儲算法加速庫和存儲 Ceph 加速庫等特性提升系統性能和降低存儲成本,充分發揮鯤鵬算力優勢,提供高性價比存儲方案。壓縮算法適用于塊存儲服務數據壓縮和對象存儲服務數據壓縮,與主流開源壓縮算法相比,壓縮率可提升 25%,帶寬性能提升 10%。存儲算法加速庫支持 Ceph 14.2.8 版本,其采用鯤鵬優化的算法代替主流開源算法,提升存儲性能。當前包括 EC 算法、CRC16 T10DIF 算法和 CRC32C 算法,具體介紹如下:EC 算法適用于塊存儲或對象存儲場景,支持 K+1、K+2、K
33、+3、K+4(2K25)和 28+3 配比,其他配比暫不支持,其采用向量化 EC 編解碼方案,以低階二元 XOR 操作替代傳統標量編碼的高階有限域乘法,配合編碼調度,復用中間計算結果減少操作數,與主流開源算法相比,EC 算法編碼性能提升 1 倍以上。CRC16 T10DIF 算法和 CRC32C 算法通過大數求余算法和配合鯤鵬向量化指令實現編碼加速,與主流開源算法相比,CRC16 T10DIF 算法 4K 性能提升 100%,CRC32C 算法 4K 性能提升 20%。存儲維護工具庫存儲維護工具庫(KSML)是華為自研的存儲維護工具庫,包括 HDD/SSD 故障預測與 HDD/SSD 慢盤檢測
34、功能,基于機器學習算法,通過收集 SMART 數據訓練模型,預測與識別存儲集群潛在故障盤,通過采集系統磁盤的svctm 完成慢盤檢測。鯤鵬原生開發技術白皮書/18鯤鵬原生開發能力介紹KAE 使能 SPDKSPDK 的 BDEV 設備作為虛擬設備層對接底層多種設備類型(虛擬設備、物理設備),通過在 BDEV 設備中使能壓縮和加解密能夠支持所有 SPDK 設備。鯤鵬 KAE 通過 Zlib 和 Openssl 提供壓縮和加解密,通過在 BDEV 設備中支持 Zlib 和 OpenSSL 的 KAE 加速實現對應能力的硬件卸載。EC Turbo支持 Ceph 14.2.8 版本,適用于使用塊存儲或對
35、象存儲服務場景,不支持 Bcache,該特性是針對開源 Ceph 的 EC流程進行優化,降低了數據讀寫流程中的 IO 放大比例,從而使得整體性能更高。相對于 Ceph 開源 EC,在均衡型配置下,對于塊存儲服務,EC Turbo 性能可達到 x86 三副本 80%以上,存儲成本降低 50%;對于對象存儲服務,ECTurbo(4+2)性能達到 x86 三副本 80%以上,大 IO 存儲成本比三副本降低 50%,小 IO 成本與三副本持平。智能寫 Cache支持 Ceph 14.2.8 版本,適用于塊存儲和對象存儲服務寫場景,其支持通過 IO 直通、QoS 控制策略、Writeback控制策略以及
36、 GC 控制策略,提升 Bcache 場景下的 Ceph 集群寫性能。在塊存儲隨機寫場景下,IOPS 性能可提升20%以上。IO 直通IO 直通工具是針對 Ceph 均衡型場景下的一個流程優化工具,可以自動對 Ceph 集群進行性能優化。在均衡型配置場景下,使用 IO 直通特性可提升存儲性能 15%以上。數據壓緊通過消除補零對齊操作帶來的數據浪費問題,結合壓緊封裝、空間計數分配、粒度分流、聚合提交、批量回調等手段提升數據縮減率并提升系統整體 IOPS,實現成本性能雙收益。數據壓緊可將數據壓縮率再提高 20%以上,對系統性能無損失。元數據加速元數據加速特性在 RocksDB 的基礎上,結合華為自
37、研算法進行了性能加速優化,在使能鯤鵬加速特性時可以獲取更佳的性能。較開源 RocksDB,混合讀寫場景性能提升超過 30%。Ucache 智能讀緩存智能讀緩存通過 IO 智能預取精準識別熱點請求并針對順序、間隔等 IO 流進行 IO 預取,將 IO 提前載入讀緩存,同時讀緩存通過 LRU 算法淘汰冷數據,從而提高緩存的 IO 命中率,提升讀性能。Ucache 智能讀緩存可提高讀請求 IO 命中率以提升讀性能。熱點、順序、間隔等 IO 流下性能提升 100%。BoostIO在存算分離架構下,BoostIO 利用計算側的內存和磁盤資源構建分布式多級緩存,寫緩存通過 RDMA 高速通信、緩存親和策略
38、、副本冗余和線性布局等特性提升業務寫性能,提高數據可靠性;讀緩存通過數據預取提前將熱點數據加載緩存磁盤中,通過 LRU 淘汰策略和冷熱識別提高讀緩存命中率,從而提升業務讀性能。RDMA 網絡加速通過在Ceph網絡框架AsyncMessage中新增插件支持UCX網絡框架,實現Ceph全閃存場景支持網絡全RDMA化。UCX 通信處理層主要包含 ceph 與 UCX 接口適配,并根據 RNDV 協議的特點,實現了零拷貝,提升大塊寫的性能。19/鯤鵬原生開發技術白皮書鯤鵬原生開發能力介紹機密計算鯤鵬 BoostKit 機密計算 TrustZone 套件是基于 ARM TrustZone 技術的一個機密
39、計算軟件套件,包含華為自研 TEE(Trusted Execution Environment,可信執行環境)安全操作系統,鯤鵬服務器 BMC 和 BIOS 等,結合開源的操作系統驅動以及 SDK,旨在幫助伙伴更便捷地為行業客戶構建機密計算解決方案,從而為用戶的關鍵數據提供完整性、機密性保護和可信使用。普通鯤鵬服務器默認不帶有機密計算 TrustZone 完整套件,需要在購買鯤鵬服務器時明確帶有 TEE 功能,支持TEE 功能的服務器會在出廠階段完成 TrustZone 套件預置安裝。iTrustee 基于 TrustZone 技術實現了整套安全解決方案,包含正常模式的客戶端應用(Client
40、 Application,CA)、安全模式的可信應用(Trusted Application,TA)、安全模式下的可信操作系統。iTrustee 應用于金融大數據數據挖掘場景,可保證數據處理過程中的機密性??蓱糜谝惑w化大數據中心場景,確保數據可信交易,同樣也可用于行業隱私計算認證場景,確保計算過程中避免泄漏個人隱私信息。iTrustee 安全可靠,其基于華為自研的微內核實現,安全 OS 已在手機側商用近 10 年,用戶數已過億,同時安全性獲得 CC EAL4+認證,兼容性獲得 GlobalPlatform 認證。在規格方面也較為靈活,其中 TEE 側安全內存支持按需配置,最大可配 512GB
41、,可支持大數據、AI 等大型應用運行。圖 3-18 機密計算 TEE SDK:提供機密計算 REE(Rich Execution Environment,富執行環境)側和 TEE 的接口、TA/CA 加密和簽名工具、參考代碼和接口說明等,方便用戶快速構建應用。REE Patch:操作系統的驅動,包括內核模塊以及用戶接口庫。TEE OS:華為自研安全操作系統,為可信應用提供加解密、安全存儲等服務,并確保 TA 的完整性和機密性。閉源開源應用大數據機密計算AI 模型和數據保護硬件密碼機替代.TEE SDKGP APITEE POSIX加解密安全存儲簽名度量和證明等REETEE Linux OSBI
42、OSTEE OSBMCPatch鯤鵬原生開發技術白皮書/20鯤鵬原生開發能力介紹 BIOS:完成對 TEE OS 的解密以及驗證,確保 TEE OS 的機密性以及完整性。BMC:支持對 TEE OS 的升級維護。數據庫鯤鵬 BoostKit 數據庫對開源 MySQL OLAP 查詢效率低、OLTP 場景高并發下鎖導致的性能問題等關鍵挑戰,提供MySQL 可插拔向量化分析引擎、MySQL 無鎖優化、MySQL 可插拔線程池和 CRC32 指令優化等加速軟件包,深度優化了 OLAP 查詢分析效率和 OLTP 在線交易事務處理能力,充分發揮多核算力極致性能。提供主流開源和商業數據庫最佳實踐,幫助開發
43、者高效完成開源組件遷移和調優。NVMe SSD 原子寫適用 MySQL 各版本,通過 SSD 硬件原子寫特性消除 Doublewrite 雙寫軟件冗余提升數據庫的性能,通過 SSD 硬件原子寫特性密集寫場景性能預計提升 15%。Gazelle 網絡優化適用 MySQL 各版本,基于 DPDK 在用戶態直接讀寫網卡報文,共享大頁內存傳遞報文,使用輕量級 LwIP 協議棧。能夠大幅提高應用的網絡 IO 吞吐能力,通過 Gazelle 網絡優化,TPC-C 綜合性能預計提升 10%。鯤鵬 GCC CFGO 反饋優化適用 MySQL 各版本,采用多模態(源代碼、匯編碼、二進制)、全生命周期(編譯、鏈接
44、、后鏈接)的持續優化手段,獲取性能更優的目標程序。使數據庫 TPC-C 綜合性能提升 10%。KAEzip 壓縮解壓縮優化支持使用 zlib 進行壓縮和解壓的 Greenplum 版本,使用鯤鵬硬加速模塊實現壓縮、解壓縮算法,結合無損用戶態驅動框架從而提升查詢性能。采用 KAEzip 可以在到達硬件瓶頸之前,在同一時間只處理一個請求、IO 占比多的場景下,端到端的性能提升 10%。MySQL 并行查詢優化支持 MySQL 8.0.20、MySQL 8.0.25 版本,MySQL 單 SQL 查詢只能調度單線程,多核 CPU 無法使用,單查詢性能查詢差難于滿足查詢場景的性能要求,通過并行查詢優化
45、提升查詢性能??蓪崿F查詢性能提升 1 倍(性能提升與并行度有關)。MySQL 無鎖優化支持 MySQL 8.0.20 版本,在 MySQL OLTP 場景下 DML 語句(Insert、Update、Delete)大量并發操作 trx_sys全局結構體中的關鍵數據結構,造成臨界區的競爭和同步瓶頸。MySQL 無鎖優化改造后使用無鎖哈希表維護事務單元,減少鎖沖突,提升并發度,可實現 Sysbench 寫場景下性能提升 20%。MySQL 細粒度鎖優化支持 MySQL 8.0.20 版本,在 MySQ LOLTP 場景下 DML 語句(Insert,Update,Delete)大量并發操作訪問 l
46、ock_sys-mutex 全局鎖保護的關鍵數據結構,造成鎖競爭嚴重導致性能下降。替換成細粒度 hash 桶鎖。減少鎖沖突,提升并發度??蓪崿F TPC-C 綜合性能預計提升 10%。21/鯤鵬原生開發技術白皮書鯤鵬原生開發能力介紹MySQL NUMA 調度優化支持 MySQL 8.0.20、MySQL 8.0.25 版本,在 MySQL OLTP 場景下高并發下系統默認的線程調度使得線程頻繁跨 NUMA 的訪問,這種情況導致 CPU 開銷增大,性能提升受限制,需要對用戶處理線程做動態綁定固定 NUMA CPU 減少跨 NUMA 訪問,同時需要保證 CPU 訪問的負載必須均衡,后臺線程靜態綁定固
47、定 NUMA CPU 減少跨NUMA 訪問,提升后臺線程效率??蓪崿F OLTP 場景性能提升 10%。MySQL 可插拔線程池支持 MySQL 5.7.27、8.0.20、8.0.25、8.0.30 和 8.0.35 版本,僅基于 MySQL 8.0.25、8.0.30 和 8.0.35 的線程池特性支持可插拔動態加載。在MySQL OLTP場景下,高并發下線程數過多,CPU消耗在無效的資源競爭和頻繁切換上,線程池方案通過隊列方式管理任務,所有的任務先放入等待執行隊列,按系統執行能力取出任務隊列讓 CPU 執行,每個 CPU 同時處理任務個數是有限的,一般 25 個最優,從而保持穩定的業務處理
48、能力??蓪崿F OLTP TPC-C 場景性能 10000 并發性能下降到最優的 10%左右,開啟線程池功能,性能可維持在 85%。CRC32 指令優化提供支持 MySQL 8.0.25 版本的補丁包,該特性采用鯤鵬 CRC32 硬件指令替換 CRC32 算法的軟件實現,從而提高系統業務的性能。通過 CRC32 指令優化特性,MySQL Sysbench 寫場景性能有 5%的提升。MySQL 可插拔在線向量化分析引擎支持 MySQL 8.0.25 版本,該特性是 MySQL 預留接口第二執行引擎(Secondary Engine)的一種輕量實現,通過執行計劃的并行計算,充分發揮鯤鵬 CPU 多核
49、的優勢,使 OLAP 性能倍級提升,且具有可插拔性,支持動態加載。采用并行加速技術,可將 OLAP 查詢性能提升到 3 倍以上。鯤鵬原生開發技術白皮書/22鯤鵬原生開發能力介紹虛擬化鯤鵬 BoostKit 虛擬化使能套件聚焦虛擬化輕載性能低、網絡損耗大、資源碎片嚴重及開源生態可用性等關鍵痛點,提供了OVS流表網卡加速等特性提升系統性能,充分發揮鯤鵬多核架構、核間完全隔離的優勢,釋放鯤鵬極致算力。負載感知加速系統負載感知加速系統(以下簡稱WAAS)能夠基于每個計算任務深度調優,啟用最優的加速庫,自動配置全棧最佳參數。通過收集應用負載信息自動感知業務的應用類型、任務特征、OS 特征和微架構特征,對
50、各層性能特征進行分析,生成調優策略,通過加速庫加速、任務調優、OS 調優和 CPU 微架構調優對 SQL 任務進行全棧深度優化,動態調整達到業務實時最佳。OVS 流表歸一化在 OVS+DPDK 的基礎上,提出流表歸一化的方案,進一步加速云計算中的數據包轉發性能,其典型場景為VXLAN+CT 組網。卸載場景較不卸載場景網絡轉發性能提升 30%以上。OVS 流表網卡加速在虛擬化場景下,將 OVS 轉發流表卸載到網卡硬件上,利用硬件的查表能力來提升流表的查找速度,提高虛擬化網絡的處理能力,可實現虛擬化網絡的轉發性能提升 10 倍。高性能云盤優化通過 BoostKit 提供的 SPDK+Ceph 的方
51、案來對虛擬化場景下的 Ceph 存儲客戶端進行加速,以提升存儲場景的 IO讀寫能力。存儲 IOPS 性能提升 30%以上。虛擬化 DPU 卸載虛擬化 DPU 卸載支持虛擬化場景下網絡和存儲的加速,其可以將本來運行在物理機上的軟件(如:OVS-DPDK、SPDK 等)卸載到 DPU 卡上運行,節省了物理機的 CPU 負載,從而提高虛擬機密度,同時 DPU 卡支持 VirtIO-net和 VirtIO-blk 等協議,其作為 VirtIO 設備后端,可提高虛擬化網絡和存儲性能。虛擬化調度優化:鯤鵬虛擬化通過軟硬協同方案,加速虛擬機中應用對 CPU 的調度效率。通過 NUMA 感知和 cluster
52、 感知特性,將關于 CPU 的拓撲結構直通到虛擬機,虛擬機 OS 內核可通過 cluster任務調度優化選項,加速多線程進程調用效率。優化了搶占過程中的鎖機制,提升虛擬機在超分場景下的性能。增加硬件死鎖的機制,有效防止硬件死鎖導致的虛擬機卡住而無法恢復的情況。vKAE:鯤鵬加速引擎 KAE(Kunpeng Accelerator Engine)是基于鯤鵬處理器提供的硬件加速解決方案,包含了 KAE 加解密和 KAEzip。vKAE 也可以在虛擬機或者容器中使用 KAE 能力。23/鯤鵬原生開發技術白皮書鯤鵬原生開發能力介紹Web/CDN鯤鵬 BoostKit CDN 使能套件聚焦 CDN 開源
53、組件可用性和 CDN 緩存節點吞吐量低、時延大等問題,通過使能鯤鵬處理器內置的 RSA 加速引擎,對 RSA2048 算法進行硬件卸載,同時提供了 NUMA 優化等手段,以便充分發揮鯤鵬處理器多核優勢,助力 CDN 緩存節點提供更大吞吐量,實現更低時延。鯤鵬 BoostKit Web 使能套件聚焦 Web 應用 HTTPS 連接性能和 Web 開源組件可用性等關鍵問題,通過使能鯤鵬處理器內置的 RSA 加速引擎,提升 Web 網站的安全性,并實現用戶 HTTPS 訪問的極致體驗。KAE RSA 加解密非對稱加密算法RSA,支持同步異步模式,支持Key Sizes1024/2048/3072/4
54、096。在使用Nginx處理HTTPS請求時,可通過配置開啟 SSL 模塊,使能鯤鵬 RSA 加速引擎對 HTTPS 請求處理中 SSL/TLS 握手時的 RSA 非對稱加解密運算進行加速。相比 x86 SSL 加速卡方案,鯤鵬 RSA 加速方案性能高 35%。HPCHPC 聚焦資源調度效率低、應用性能優化難等關鍵挑戰,通過全棧架構創新、軟硬件自研、基礎軟件優化和行業應用性能調優等技術構建全棧高性能計算基礎平臺,幫助客戶釋放平臺算力,縮短產品上市周期,提升企業產品競爭力。vCPU 熱插拔:虛擬機 vCPU 依照 ACPI 規范,模擬 ACPI GED 設備。在 vCPU 調整時,通過中斷和處理
55、函數方式,動態模擬 CPU上下電。MPAM 插件:通過限制離線業務對內存帶寬和 L3 緩存容量的占用,避免離線業務干擾實時業務的性能:每個計算節點上部署 MPAM 插件,YAML 文件中配置資源組,每個資源組可指定內存帶寬和 L3 緩存容量。部署離線業務時,在 YAML 文件中指定該業務歸屬的資源組。MPAM 插件偵聽到部署任務后,將容器中業務的進程 ID 配置到對應的資源組中(限制信息會通過 OS 配置到硬件芯片上)。說明MPAM 涉及的共享資源包括:L2 Cache、L3 Cache 和 DMC 帶寬。鯤鵬原生開發技術白皮書/24鯤鵬原生開發能力介紹多瑙管理平臺通過可視化界面為用戶提供了便
56、捷的 HPC 集群系統數據管理和軟硬件資源管理功能,串聯整個工作流程,幫助用戶合理地進行作業調度和資源分配,提升集群系統計算能力利用率。多瑙調度器提供大規模集群下的高資源利用率、高吞吐量的作業調度能力:超大規模調度:最大支持 3000 節點/38 萬核超大規模集群調度。高吞吐量作業:端到端吞吐量高,達到每小時 400 萬+個作業。高資源分配率:高效靈活的調度框架,資源分配率達到 90%+。鯤鵬 BoostKit HPC 應用使能套件,加速尖端科研創新和行業數字化HPC 場景多樣化,對 HPC 管理與調度提出了更高的要求HPC 多瑙套件,允許用戶方便快捷提交作業,管理運維集群算力需求持續增長資源
57、理由率提升高吞吐量便捷操作&運維 數據爆炸式增長,需要更快更高的算力性能 應用及場景的多樣化,要求算力的多樣性 系統規模倍增,應具備高效資源調度能力 應用在多樣算力資源池間須實現資源共享 海量作業、海量資源,要求更高 IO 性能 作業既要寫得快,又要查得快 簡化 HPC 業務流程,提升效率 流程可視化管理,降低專業性要求21.8%90%天氣預報準確率60月24月新車研發時間5000天 100天新藥研發鑒定13年 1天基因測序時長多瑙套件基礎設施應用場景硬 件基礎軟件計算存儲網絡通信庫 Hyper MPI數學庫 KML畢昇 編譯器操作系統 OpenEuler數據中心液冷多瑙管理平臺多瑙調度器能源
58、鯤鵬/昇騰OceanStor Pacific智能網卡&RoCE交換機制造生命科學半導體材料氣象天文25/鯤鵬原生開發技術白皮書鯤鵬原生開發能力介紹3)鯤鵬 BoostKit 基礎加速鯤鵬 BoostKit 加速庫提供基于 ARM 指令深度優化和基于鯤鵬 KAE(鯤鵬硬件加速引擎)開發的加速庫,覆蓋系統庫、壓縮、加解密、媒體、數學庫、存儲、網絡和 AI 庫等 8 類加速庫,為大數據加解密、分布式存儲壓縮、視頻轉碼等應用場景提供高性能加速。鯤鵬 BoostKit 基礎加速軟件包,詳細介紹和最新內容請參見鯤鵬應用使能套件 BoostKit 基礎加速軟件包,詳情可掃描右方二維碼。圖 3-19 鯤鵬 B
59、oostKit 基礎加速軟件包系統庫鯤鵬 BoostKit 系統庫包括如下組件:Glibc-patch:主要對內存、字符串、鎖等接口基于華為鯤鵬微架構特點進行了加速優化。微架構特點進行了加速優化。Hyperscan:一款高性能的正則表達式匹配庫,增加鯤鵬計算平臺分支,且完全兼容 armv8-a,通過使用NEON 指令、內聯匯編、數據對齊、指令對齊、內存數據預取、靜態分支預測、代碼結構優化等方法,實現在鯤鵬計算平臺的性能提升。AVX2KI:一款接口集合庫,將傳統平臺的 Intrinsic 接口集合使用鯤鵬指令重新實現,并封裝為獨立的接口模塊(C 語言頭文件方式),以減少大量遷移項目重復開發的工作
60、量。KQMalloc:鯤鵬高性能內存庫,是專為鯤鵬設計的內存分配器。此分配器分為單線程和多線程應用場景,最大限度地減少內部緩存占用空間,最大限度地減少內部緩存未命中,可極大地提升應用性能。BoostKit 場景化基礎加速特性全景圖GKL(基因測序)AVX2Neon系統庫Web 中間件 Nginx 秘鑰協商 RSA 計算壓縮分布式存儲 Ceph 壓縮&MD5加解密大數據 Hadoop 數據加解密&壓縮媒體視頻轉碼x265/HW265數學庫網絡OS 集成基礎庫 Glibc&Gzip&OpenSSL存儲AI 庫KML_FFT傅里葉變換Glibc指令加速Gzip指令加速HMPP超媒體性能庫Smart
61、Prefetch智能預取XPFOVS 流表加速庫KAIL_DNN深度神經網絡算子庫KAE 加解密OpenSSLSM3/SM4/RSA/AES/MD5KQMalloc高性能內存庫KAEzip壓縮硬加速KVSIP鯤鵬矢量信號處理庫KML_MATH基礎數學函數庫Hyperscan指令加速ZSTD指令加速x265開源 H.265 視頻轉碼SPDKSSD 用戶態驅動DPDK用戶態網絡驅動KAIL DNN EXT深度神經網絡算子擴展庫KML_BLAS線性代數KSL_ASN1編解碼庫KML_LAPACK線性代數運算AVX2KI異構生態遷移Snappy指令加速x264H.264 視頻編解碼ISA-L存儲加速庫
62、KML_SPBLAS稀疏矩陣KML_SOLVER 求解器HTL輕量級線程庫LZ4指令加速硬加速庫軟加速庫KML_VML向量運算KML_JAVAKML_SVML短向量運算HAF同構加速框架畢昇 JDK 加速庫 BiShengJDK_AccLibKML_NUMPYKML_VSL向量統計庫KML_EIGENSOLVER特征值求解庫KML_IPL插值庫典型應用8 類.鯤鵬原生開發技術白皮書/26鯤鵬原生開發能力介紹壓縮鯤鵬 BoostKit 壓縮庫包括如下組件:Gzip:Gzip(GUN zip)通過數據預取、循環展開、CRC 指令替換等方法,來提升其在鯤鵬計算平臺上的壓縮和解壓縮速率,尤其對文本類型
63、文件的壓縮及解壓具有更明顯的性能優勢。ZSTD:Zstandard,即 ZSTD 壓縮庫。通過使用 NEON 指令、內聯匯編、代碼結構調整、內存預取、指令流水線排布優化等方法,實現 ZSTD 在鯤鵬計算平臺上壓縮和解壓性能的提升。Snappy:利用內聯匯編、寬位指令、優化 CPU 流水線、內存預取等方法,實現 Snappy 在鯤鵬計算平臺上的壓縮和解壓速率提升。KAEzip:鯤鵬加速引擎的壓縮模塊,使用鯤鵬硬加速模塊實現 deflate 算法,結合無損用戶態驅動框架,提供高性能 Gzip/zlib 格式壓縮接口。LZ4:快速壓縮庫,它能夠以極高的速度對數據進行壓縮和解壓縮。該壓縮算法非??焖俸?/p>
64、高效,適用于各種類型的數據壓縮。LZ4 庫可以被廣泛應用于數據存儲、網絡傳輸和實時數據處理等領域,為用戶提供了快速且可靠的數據壓縮解決方案。其官網發布的 1.9.3 Release 優化版本,利用 NEON 指令、內聯匯編、代碼結構調整、內存預取、指令流水線排布優化等方法,實現 LZ4 在鯤鵬計算平臺上壓縮性能的提高。加解密KAE 加解密是鯤鵬加速引擎的加解密模塊,使用鯤鵬硬加速模塊實現 RSA/SM3/SM4/DH/MD5/AES 算法,結合無損用戶態驅動框架,提供高性能對稱加解密、非對稱加解密算法能力,兼容 OpenSSL 1.1.1a 及其之后版本,支持同步&異步機制。媒體鯤鵬 Boos
65、tKit 媒體庫包括如下組件:HMPP:鯤鵬超媒體性能庫(Hyper Media Performance Primitives,HMPP),包括向量緩沖區的分配與釋放、向量初始化、向量數學運算與統計學運算、向量采樣與向量變換、濾波函數、變換函數(快速傅里葉變換),支持 IEEE 754 浮點數運算標準。HTL:輕量級線程庫(Hyper Thread Library,HTL)是構建在內核態線程之上的用戶級線程庫。用于解決內核級線程大量使用時,應用性能下降、系統資源不足的問題,尤其解決嵌套并行場景下性能極低的問題。在保障減少資源使用的情況下,提升并發度,改善性能。KSL_ASN1:ASN.1(Ab
66、stract Syntax Notation One)是定義抽象數據類型規格形式的一套標準,是描述數據的表示、編碼、傳輸、解碼的靈活的一種記法。KSL_ASN1 可替代開源 ASN.1 軟件,目前支持 PER(Packed Encoding Rules)和 BER(Basic Encoding Rules)格式,性能相較開源軟件 asn1c 有較大的提升。HAF:同構加速框架(Homogeneous Acceleration Framework,HAF),提供用戶友好的編程方式和 API,快速、有效、安全地使能用戶業務程序指定加速片段卸載推送至卸載節點執行,帶來用戶預期的卸載優化效果。畢昇 J
67、DK 加速庫:畢昇 JDK 是基于 OpenJDK 開發的 Huawei JDK 開源版本,基于鯤鵬處理器提供了一些加速能力,如堆轉儲增強、JBooster 特性的加速。堆轉儲增強特性:屏蔽轉儲堆文件中的敏感信息,保護數據安全與隱私。JBooster 特性:提升應用啟動速度、降低 CPU 占用、加快彈性伸縮的響應速度、降低云應用部署成本。其中,堆轉儲增強特性支持畢昇 JDK 8 和 17 版本;JBooster 特性僅支持畢昇 JDK 17 版本。27/鯤鵬原生開發技術白皮書鯤鵬原生開發能力介紹數學庫鯤鵬數學庫(Kunpeng Math Library,KML)是華為提供的基于鯤鵬平臺優化的高
68、性能數學函數庫,主要完成標量、矢量、矩陣上的數學計算,包括基本的四則運算、三角函數、對數函數、指數函數、線性代數計算等,數學庫所有接口由 C/C+、匯編語言實現,部分接口兼容 Fortran 語言調用,部分提供 Java 語言封裝的接口。網絡鯤鵬 BoostKit 網絡庫包括如下組件:XPF:XPF(Extensible Packet Framework)在 OVS(Open vSwitch)軟件內部實現了一個智能卸載引擎模塊,該模塊用于跟蹤數據報文在 OVS 軟件中所經歷的所有流表和 CT 表,將執行的 CT 行為和所有流表行為項進行綜合編排成一條綜合行為項并結合統一匹配項生成一條集成流表項
69、。后續的數據報文在進入 OVS 后,若匹配命中該集成流表,則直接執行綜合行為,相比開源的處理流程,查詢次數將減少,性能將大幅度提升。DPDK:數據平面開發工具包(Data Plane Development Kit,DPDK),為用戶空間高效的數據包處理提供數據平面開發工具集,包括庫函數和驅動。AI 庫 KAIL_DNN:深度神經網絡算子庫(Deep Neural Network Library),結合鯤鵬處理器微架構特性,通過向量化、匯編、算法優化等手段,提升 DNN 核心算子性能,并通過插件化形式對接開源 oneDNN 庫提供完整能力。KAIL_DNN_EXT:深度神經網絡算子拓展庫(De
70、ep Neural Network Extension Library),旨在作為 KAIL_DNN 的拓展庫,深度優化 softmax、random_choice 等算子,為 AI 特定場景封裝為 Python 語言接口庫直接提供給用戶調用。存儲鯤鵬 BoostKit 存儲庫包括如下組件:Smart Prefetch:創新性地采用高速緩存盤配合高效的預取算法,提升系統存儲 IO 性能,進而提升上述解決方案中存儲 IO 密集型場景的整體性能。SPDK:高性能存儲開發包(Storage Performance Development Kit,SPDK)通過使用網絡技術、處理技術和存儲技術來提升效
71、率和性能。通過運行為硬件設計的軟件,SPDK 已經證明很容易達到每秒鐘數百萬次 IO 讀取,通過使用許多處理器核心和許多 NVMe 驅動去存儲,而不需要額外卸載硬件。ISA-L:ISA-L(Intelligent Storage Acceleration Library)提供 RAID、糾刪碼、循環冗余檢查、密碼散列和壓縮的高度優化的函數。x265:針對 FFmpeg 視頻轉碼場景,對 X265 的轉碼底層算子使用鯤鵬向量指令進行加速優化,提高整體性能。x264:采用 GPL 授權的視頻編碼免費軟件,主要功能實現 H.264/MPEG-4 AVC 的視頻編碼。KVSIP:鯤鵬矢量信號處理庫,提
72、供了高性能計算接口,包括向量基礎運算、矩陣基礎運算和快速傅里葉運算功能。鯤鵬原生開發技術白皮書/28鯤鵬原生開發能力介紹3.1.2.1 代碼優化介紹鯤鵬原生開發在代碼優化階段提供了 DevKit 親和分析工具,可實現鯤鵬親和代碼優化建議,幫助開發者寫出更適配鯤鵬平臺的代碼。3.1.2.2 親和分析工具親和分析工具是針對鯤鵬平臺的開發者、用戶和 ISV 開發者的應用、源碼分析工具。親和分析工具屬于鯤鵬DevKit 的擴展工具之一,支持在鯤鵬平臺運行。支持以下功能:64 位運行模式檢查:將原 32 位平臺上的軟件遷移到 64 位平臺上,進行遷移檢查并給出修改建議。字節對齊檢查:在需要考慮字節對齊時
73、,檢查源碼中結構體類型變量的字節對齊情況。緩存行對齊檢查:對 C/C+源碼中結構體變量進行 128 字節對齊檢查,提升訪存性能。內存一致性靜態檢查:在鯤鵬平臺上,分析、修復用戶軟件中的內存一致性問題。向量化檢查:在鯤鵬平臺上檢查可向量化片段并提供修改建議。矩陣化檢查:在鯤鵬平臺上檢查可矩陣化片段并提供修改建議。構建親和:分析 makefile、CMakeLists.txt 中可以替換成鯤鵬加速庫的內容,并提供替換建議和功能修復。計算精度分析:精度分析工具對應用函數插樁后,分別在 x86 平臺和鯤鵬平臺運行,最終通過對比輸出結果,分析平臺計算精度差異。圖 3-20 代碼優化階段代碼開發代碼優化編
74、譯調試調優 場景化 SDK 啟發式編程 BoostKit 應用使能 鯤鵬親和分析 畢昇編譯器 畢昇 JDK GCC for openEuler 鯤鵬調試器 系統性能分析 Java 性能分析 系統診斷通過鯤鵬 DevKit/BoostKit 開發代碼:充分應用鯤鵬架構優勢,性能更優3.1.2代碼優化快速集成效率提示性能倍增支持 Jenkins、Gitlab 等業界主流流水線工具,快速集成 CI/CD 流水線IDE 插件快速安裝,提供開發態源碼分析報告以及一鍵替換問題的能力親和鯤鵬硬件架構,全場景提升訪存性能、計算精度親和分析工具詳細介紹請參見參見鯤鵬社區 鯤鵬開發條件 DevKit 應用遷移 有
75、源碼遷移 親和分析,詳情可掃描右方二維碼。29/鯤鵬原生開發技術白皮書鯤鵬原生開發能力介紹向量化檢查向量化檢查功能用于對可向量化片段進行檢查,并提供向量化修改建議。步驟 1 創建向量化檢查分析任務。圖 3-21 向量化檢查(VS Code)用戶需要上傳源碼及編譯生成的 BC 文件,BC 文件生成指導請參見聯機幫助。步驟 2 查看向量化檢查分析結果。圖 3-22 向量化檢查分析結果鯤鵬原生開發技術白皮書/30鯤鵬原生開發能力介紹圖 3-23 源碼修改建議-結束3.1.3.1 編譯介紹鯤鵬原生開發在編譯構建階段提供了畢昇編譯器、畢昇 JDK、GCC for openEuler。通過上述鯤鵬親和編譯
76、器,在不修改用戶應用源碼的情況下,提供鯤鵬平臺的應用性能提升。鯤鵬親和編譯器,詳細介紹與最新內容請參見鯤鵬社區 鯤鵬開發套件 DevKit 編譯,詳情可掃描下方二維碼。圖 3-20 代碼優化階段代碼開發調試調優 場景化 SDK 啟發式編程 BoostKit 應用使能 鯤鵬調試器 系統性能分析 Java 性能分析 系統診斷通過鯤鵬 DevKit/BoostKit 開發代碼:充分應用鯤鵬架構優勢,性能更優代碼優化 鯤鵬親和分析編譯 畢昇編譯器 畢昇 JDK GCC for openEuler3.1.3編譯31/鯤鵬原生開發技術白皮書鯤鵬原生開發能力介紹3.1.3.2 畢昇編譯器畢昇編譯器是華為編譯
77、器實驗室針對通用處理器架構構建,增強和引入了多種編譯優化技術,致力于打造高性能、高可信及易擴展的編譯器工具鏈。支持 C11、C+14/17、Fortran 語言標準,OpenMP 4.5/5.0 API 標準。高性能編譯算法,基于鯤鵬架構深度調優,內存優化、循環優化、自動向量化等多種編譯增強。支持安全/高效編碼工具集,包括靜態檢查工具、重構工具等。3.1.3.3 畢昇 JDK畢昇 JDK 基于 OpenJDK 開發,是一款高性能、可用于生產環境的 OpenJDK 發行版;畢昇 JDK 已應用于華為內部多個產品上,解決了業務實際運行中遇到的多個疑難問題;在 GC、鯤鵬后端代碼生成、類信息共享等方
78、面重點優化,在大數據等領域性能突出。畢昇 JDK 致力于為 JAVA 開發者提供一款穩定可靠、高性能、易調測的 JDK,也為用戶在鯤鵬架構上提供一個更好的選擇。支持 Java 版本:支持 Java 8、11、17、21 四個 LTS 版本。支持架構:Linux/AArch64、Linux/x86_64。支持操作系統:openEuler全系列操作系統、CentOS 7.6、Ubuntu 20.04、Ubuntu 22.04、麒麟V10、UOS 20等。3.1.3.4 GCC for openEulerGCC for openEuler 是基于開源 GCC 開發的編譯器工具鏈(包含編譯器、匯編器、
79、鏈接器),在 openEuler 社區開源發布。支持 C11、C+14/17、Fortran 2018 語言標準,OpenMP 4.5/5.0 API 標準。針對鯤鵬平臺進行質量加固,覆蓋開源+商業全量測試,多產品穩定商用。鯤鵬原生開發技術白皮書/32鯤鵬原生開發能力介紹3.1.4.1 調試介紹鯤鵬編譯調試工具支持在調試階段進行應用調試。支持 C/C+/Fortran 代碼調試能力、支持單機下 GPU 應用調試能力、支持 HPC 場景多節點應用并行調試能力。編譯調試工具,詳細介紹與最新內容請參見鯤鵬社區 鯤鵬開發套件 DevKit 調試,詳情可掃描右方二維碼。3.1.4.2 編譯調試工具編譯調
80、試工具能一鍵式部署鯤鵬編譯器,支持單機下 GPU 應用調試能力,通過統一調試界面調試 GPU 應用,實現 CUDA-GDB 調試能力;支持 HPC 場景多節點應用并行調試能力以及鯤鵬平臺遠程編譯調試能力。支持 C/C+/Fortran 代碼調試能力。支持以下功能:一鍵式部署鯤鵬編譯器(GCC for openEuler、畢昇編譯器、畢昇 JDK)??梢暬渲镁幾g調試參數,一鍵式編譯、運行、調試。遠程單步調試 C/C+代碼。編譯調試過程中信息實時交互。CUDA 支持調試源碼、匯編代碼。HPC 支持調試源碼、匯編代碼,支持歷史通信組詳細信息展示和堆棧切換。圖 3-26 編譯調試工具圖 3-25 調
81、試階段代碼開發代碼優化編譯調優 場景化 SDK 啟發式編程 BoostKit 應用使能 鯤鵬親和分析 畢昇編譯器 畢昇 JDK GCC for openEuler 系統性能分析 Java 性能分析 系統診斷通過鯤鵬 DevKit/BoostKit 開發代碼:充分應用鯤鵬架構優勢,性能更優調試 鯤鵬調試器3.1.4調試可視化場景全效率高源碼、數據結構變量、堆棧、斷點等可視化調試功能和程序運行變化圖形化展示支持單/多節點調試、異構算力調試、全局分級調試支持 C/C+/Fortran 語言、匯編代碼調試支持遠程調試,無須來回切換開發和調測工具,在 IDE 中一站式完成應用的開發與調試通用應用調試 提
82、供本地/遠程調試能力 顯示變量、監視、斷點和調用堆棧信息HPC 并行應用調試 MPI+OpenMP 多線程調試 復雜數據結構和通訊組功能顯示 大規模集群 2K MPI Rank 并行調試,支持 MPI dead-lock 檢測CUDA 應用調試 支持 GPU 和 CPU 同步調試,支持源碼/匯編語言調試 顯示 CUDA 線程、變量、堆棧等信息 Launch/Attach GPU 調試模式安全應用調試 Java 或 Pvthon 工程的安全應用調試 在 REE 側 獲 得 TEE 安 全 應 用 運 行Log,對 TEE 安全應用進行調試33/鯤鵬原生開發技術白皮書鯤鵬原生開發能力介紹通用應用調
83、試通用應用調試提供鯤鵬、飛騰平臺遠程調試能力,提供圖形化界面,大幅提升調試效率。步驟 1 通用應用調試參數配置,如圖 3-27 所示。圖 3-27 通用應用參數配置步驟 2 進行通用應用調試,如圖 3-28 所示。支持設置斷點、單步調試、變量/寄存器查看等通用調試能力。圖 3-28 通用應用調試-結束鯤鵬原生開發技術白皮書/34鯤鵬原生開發能力介紹HPC 并行應用調試提供 HPC 場景多節點并行調試能力,僅支持以 Launch 模式調試 MPI 應用。步驟 1 HPC 并行應用調試參數配置,如圖 3-29 所示。圖 3-29 HPC 并行應用參數配置步驟 2 進行 HPC 并行應用調試,如圖
84、3-30 所示。圖 3-30 HPC 并行應用調試35/鯤鵬原生開發技術白皮書鯤鵬原生開發能力介紹步驟 3 界面左下角呈現 RANK、通信組信息。單擊 按鈕,可查看通信子組變化概覽、變化詳情以及死鎖信息,如圖 3-31 所示。圖 3-31 查看詳情-結束CUDA 應用調試支持鯤鵬平臺調試 CUDA 程序,通過統一的調試界面使用 CUDA-GDB 調試 GPU 應用。步驟 1 CUDA 應用調試參數配置,如圖 3-32 所示。圖 3-32 CUDA 應用參數配置鯤鵬原生開發技術白皮書/36鯤鵬原生開發能力介紹-結束安全應用調試步驟 1 安全應用調試參數配置,如圖 3-34 所示。圖 3-34 安
85、全應用參數配置步驟 2 進行 CUDA 應用調試,如圖 3-33 所示。在源碼下方可查看 KERNEL THREADS 信息以及 INFO CUDA 信息。圖 3-33 CUDA 應用調試37/鯤鵬原生開發技術白皮書鯤鵬原生開發能力介紹步驟 2 通過查看 tee.log 查看調試結果,如圖 3-35 所示。圖 3-35 日志文件-結束3.1.5.1 調優介紹鯤鵬原生開發在調優階段提供了系統性能分析工具、Java 性能分析工具、系統診斷工具。通過通用性能調優和場景化性能調優,可實現應用性能提升 5%-10%。圖 3-36 調優階段代碼開發代碼優化編譯調試 場景化 SDK 啟發式編程 BoostK
86、it 應用使能 鯤鵬親和分析 畢昇編譯器 畢昇 JDK GCC for openEuler 鯤鵬調試器通過鯤鵬 DevKit/BoostKit 開發代碼:充分應用鯤鵬架構優勢,性能更優調優 系統性能分析 Java 性能分析 系統診斷性能調優工具,詳細介紹與最新內容請參見鯤鵬社區 鯤鵬開發套件 DevKit 調優&診斷,詳情可掃描下方二維碼。3.1.5調優鯤鵬原生開發技術白皮書/38鯤鵬原生開發能力介紹3.1.5.2 系統性能分析工具系統性能分析工具簡介系統性能分析是針對基于鯤鵬的服務器的性能分析工具,能收集服務器的處理器硬件、操作系統、進程/線程、函數等各層次的性能數據,分析出系統性能指標,定
87、位到系統瓶頸點及熱點函數,給出優化建議。該工具可以輔助用戶快速定位和處理軟件性能問題。調優助手是針對基于鯤鵬的服務器的調優工具,能系統化組織性能指標,引導用戶分析性能瓶頸,實現快速調優。圖 3-37 系統性能分析工具表 3-1 任務描述任務分類描述調優助手調優助手通過系統化組織和分析性能指標、熱點函數、系統配置等信息,形成系統資源消耗鏈條,引導用戶根據優化路徑分析性能瓶頸,并針對每條優化路徑給出優化建議和操作指導,以此實現快速調優。對比分析支持對同一種類型分析任務的結果,選擇同一節點或者不同節點間進行比較,從而快速獲得不同分析結果之間的差別,定位性能指標的變化,快速識別優化手段的效果。HPC
88、集群檢查通過對用戶指定的 MPI 集群進行硬件、軟件配置檢查,并給出集群中各節點軟硬件配置的一致度報告。檢查對象支持硬件領域的 CPU、GPU、互聯、內存、網卡、磁盤,軟件領域中的 OS、Kernel、環境變量、MPI、OpenMP、HPC 常用依賴庫等維度。對于不符合鯤鵬平臺最佳實踐的配置,工具會給出優化建議。HPC 應用分析HPC 應用分析通過采集系統的 PMU 事件并配合采集面向 OpenMP 和 MPI 應用的關鍵指標,從而幫助用戶精準獲得 Parallel region 及 Barrier-to-Barrier 的串行及并行時間,校準的 L2 層微架構指標,指令分布及 L3的利用率和
89、內存帶寬等信息。收集和分析軟硬件各層次的性能指標,定位到系統瓶頸點及熱點函數,給出優化建議通用分析系統部件分析專項分析系統性能分析全景分析微架構分析資源調度分析調優助手AI 調優場景化調優大數據數據庫HPC進程/線程分析訪存分析鎖與等待分析熱點函數分析I/O 分析Roofline 分析39/鯤鵬原生開發技術白皮書鯤鵬原生開發能力介紹任務分類描述全景分析通過采集系統軟硬件配置信息,以及系統 CPU、內存、存儲 IO、網絡 IO 資源的運行情況,獲得對應的使用率、飽和度、錯誤次數等指標,以此識別系統性能瓶頸。針對部分系統指標項,根據當前已有的基準值和優化經驗提供優化建議。微架構分析基于 ARM P
90、MU(Performance Monitor Unit)事件,獲得指令在 CPU 流水線上的運行情況,可以幫助用戶快速定位當前應用在CPU上的性能瓶頸,用戶可以有針對性地修改自己的程序,以充分利用當前的硬件資源。訪存分析基于 CPU 訪問緩存和內存的事件,分析訪存過程中可能的性能瓶頸,給出造成這些性能問題的可能原因及優化建議。訪存統計分析基于處理器訪問緩存和內存的 PMU 事件,分析存儲的訪問次數、命中率、帶寬等情況,具體包括:分析 L1C、L2C、L3C、TLB 的訪問命中率和帶寬。分析 HHA 訪問速率。分析 DDR 的訪問帶寬和次數。Miss 事件分析基于 ARM SPE(Statist
91、ical Profiling Extension)能力實現。SPE 針對指令進行采樣,同時記錄一些觸發事件的信息,包括精確的 PC 指針信息。利用 SPE 能力可以用于業務進行 LLC Miss,TLB Miss,Remote Access,Long Latency Load 等 Miss 類事件分析,并精確的關聯到造成該事件的代碼?;谶@些信息,用戶便可以有針對性地修改自己的程序,降低發生對應事件發生的幾率,提高程序處理性能。NUMA 精細化分析基于 ARM SPE(Statistical Profiling Extension)能力實現。SPE 針對指令進行采樣,同時記錄一些觸發事件的信息
92、,包括精確的PC指針信息。利用SPE能力可以用于收集系統中所有進程的NUMA性能,找到Top N(e.g.N=10)NUMA 性能最差的進程及這些進程中的內存熱區,各 NUMA 節點間內存訪問統計矩陣,識別節點間內存訪問不平衡狀態,并得到相關優化建議。I/O 分析分析存儲 IO 性能。以存儲塊設備為分析對象,分析得出塊設備的 I/O 操作次數、I/O 數據大小、I/O 隊列深度、I/O 操作時延等性能數據,并關聯到造成這些 I/O 性能數據的具體 I/O 操作事件、進程/線程、調用棧、應用層 I/O APIs 等信息。根據 I/O 性能數據分析給出進一步優化建議。進程/線程性能分析采集進程/線
93、程對 CPU、內存、存儲 IO 等資源的消耗情況,獲得對應的使用率、飽和度、錯誤次數等指標,以此識別進程/線程性能瓶頸。針對部分指標項,根據當前已有的基準值和優化經驗提供優化建議。針對單個進程,還支持分析它的系統調用情況。資源調度分析采集進程/線程的運行情況,獲得對應的冷火焰圖、鏈路切換次數和全局占比等指標,以此識別性能瓶頸。支持分析單個進程的系統調用情況。熱點函數分析分析 C/C+程序代碼,找出性能瓶頸點,獲得對應的熱點函數,支持通過火焰圖展示函數的調用關系,給出優化路徑。鎖與等待分析分析 glibc 和開源軟件(如 MySQL、Open MP)的鎖與等待函數(包括 sleep、usleep
94、、mutex、cond、spinlock、rwlock、semaphore等),關聯到其歸屬的進程和調用點,并根據當前已有的優化經驗給出優化建議。Roofline 分析幫助用戶在給定硬件平臺上,分析出應用程序的瓶頸點位置,從而有針對性的進行優化。AI 調優使用自研高性能 AI 調優方案,通過用戶自主選擇測試用例,對數據庫和大數據場景進行自動優化,自動調優后給予最優參數配置,提供復雜場景下參數配置的優化建議。鯤鵬原生開發技術白皮書/40鯤鵬原生開發能力介紹通用分析通用分析包含全景分析、進程/線程分析、熱點函數分析。步驟 1 創建通用分析任務。如圖 3-38 所示。圖 3-38 通用分析任務步驟
95、2 查看任務分析結果,如圖 3-39、圖 3-40 和圖 3-41 所示。圖 3-39 全景分析結果41/鯤鵬原生開發技術白皮書鯤鵬原生開發能力介紹圖 3-40 進程/線程分析結果圖 3-41 熱點函數分析結果-結束鯤鵬原生開發技術白皮書/42鯤鵬原生開發能力介紹系統部件分析系統部件分析包括微架構分析、訪存分析、I/O 分析。步驟 1 創建系統部件分析,如圖 3-42 所示。圖 3-42 系統部件分析步驟 2 查看分析結果,如圖 3-43、圖 3-44 和圖 3-45 所示。圖 3-43 微架構分析結果43/鯤鵬原生開發技術白皮書鯤鵬原生開發能力介紹圖 3-44 訪存分析結果圖 3-45 I/
96、O 分析結果-結束鯤鵬原生開發技術白皮書/44鯤鵬原生開發能力介紹專項分析專項分析包括資源調度分析、鎖與等待分析和 Roofline 分析。步驟 1 創建專項分析任務,如圖 3-46 所示。圖 3-46 專項分析步驟 2 查看分析結果,如圖 3-47、圖 3-48 和圖 3-49 所示。圖 3-47 資源調度分析結果45/鯤鵬原生開發技術白皮書鯤鵬原生開發能力介紹圖 3-48 鎖與等待分析結果圖 3-49 Roofline 分析結果-結束鯤鵬原生開發技術白皮書/46鯤鵬原生開發能力介紹調優助手步驟 1 創建調優助手分析任務,如圖 3-50 所示。圖 3-50 調優助手分析任務步驟 2 查看分析
97、結果,如圖 3-51、圖 3-52、圖 3-53 和圖 3-54 所示。圖 3-51 系統配置分析結果47/鯤鵬原生開發技術白皮書鯤鵬原生開發能力介紹圖 3-52 熱點函數分析結果圖 3-53 系統性能分析結果圖 3-54 進程/線程性能分析結果-結束鯤鵬原生開發技術白皮書/48鯤鵬原生開發能力介紹AI 調優步驟 1 創建 AI 調優任務,如圖 3-55 所示。圖 3-55 AI 調優任務49/鯤鵬原生開發技術白皮書鯤鵬原生開發能力介紹步驟 2 調優結束后,可通過單擊“下載優化后參數集”按鈕下載已調優的參數配置。圖 3-56 下載優化后參數集-結束鯤鵬原生開發技術白皮書/50鯤鵬原生開發能力介
98、紹場景化調優步驟 1 創建場景化調優任務,如圖 3-57 所示。圖 3-57 場景化調優任務圖 3-58 HPC 應用分析總覽51/鯤鵬原生開發技術白皮書鯤鵬原生開發能力介紹步驟 3 查看 MPI timeline,如圖 3-59 所示。圖 3-59 MPI timeline-結束3.1.5.3 Java 性能分析工具Java 性能分析工具簡介Java 性能分析工具是針對基于鯤鵬的服務器上運行的 Java 程序的性能分析和優化工具,能圖形化顯示 Java 程序的堆、線程、鎖、垃圾回收等信息,收集熱點函數、定位程序瓶頸點,幫助用戶采取針對性優化。圖 3-60 Java 性能分析工具在線分析目標
99、JVM 和 Java 程序的在線分析,精準度高采樣分析系統額外開銷小,適用于大型 Java 程序Java 性能分析熱點函數分析線程/鎖分析調用分析內存分析GC 分析IO 分析快照/對比業務熱點分析(HTTP/SQL/NoSQL)線程/鎖分析I/O 分析內存分析GC 分析熱點分析快照/對比數據報告離線導入云服務化鯤鵬原生開發技術白皮書/52鯤鵬原生開發能力介紹表 3-1 任務描述任務分類描述在線分析在線分析包含對于目標 JVM 和 Java 程序的雙重分析。包括 Java 虛擬機的內部狀態如 Heap,GC 活動,線程狀態及上層 Java 程序的性能分析,如調用鏈分析,熱點函數,鎖分析,程序線程
100、狀態及對象生成分布等。通過 Agent 的方式在線獲取 JVM 運行數據,進行精確分析。主要分析結果包含:1.概覽 在線顯示 Java 虛擬機系統狀態。在線顯示 JVM 的 Heap 大小、GC 活動、Thread 數量、Class 加載數量和 CPU 使用率。2.線程信息獲取當前 JVM 中實時的活動線程狀態和當前線程轉儲,圖形化顯示線程鎖定狀態,分析線程死鎖情況。3.內存信息 通過抓取堆快照,分析應用在某時刻堆的直方圖分布和支配調用關系,追溯堆內存中各 Java 存活對象到GC root 的引用關系鏈,幫助定位潛在的內存問題;對比分析不同時刻的堆快照,給出堆使用與分配變化,輔助用戶發現堆內
101、存在分配和使用過程中的異常情況。獲取 Java 堆中各個對象創建的數量及大小,顯示相關內存使用情況并實時刷新。4.熱點信息 通過工具分析的熱點方法,熱點方法以倒火焰圖形式呈現,不同層(如 Java 調用層、JNI 層、Native 層、內核層等)的熱點方法的以不同顏色區分。通過工具展開查看 Java 方法對應的字節碼(非必須)、經 JVM JIT 編譯器生成的機器指令,并查看這些指令的熱點分布;對于不能查看的字節碼的情形需要給出原因。對給定的入口方法進行調用鏈采集,收集采集期間的方法調用關系,方法耗時等數據;以樹形式展現。5.GC 信息用戶可以在線統計分析目標 JVM 進程中發生的 GC 事件
102、,分析 GC 原因、GC 階段分布、GC 內存回收效果、GC 暫停等因素,以定位潛在的 GC 相關的內存問題、性能瓶頸問題。6.IO 信息在線分析應用中的文件 IO、Socket IO 時延、消耗帶寬等數據,找出熱點 IO 操作。7.數據庫信息 監測和分析數據庫連接池。監測數據庫連接池連接的情況、幫助用戶定位潛在的連接泄露,對不合適的連接池配置給出優化建議。分析 JDBC 熱點 SQL 操作。記錄應用中的 SQL 調用時間、耗時和堆棧跟蹤,幫助用戶定位耗時最長的熱點 SQL 操作。分析 NoSQL 熱點操作。記錄應用中訪問/操作 NoSQL 數據庫調用時間、耗時和堆棧跟蹤,幫助用戶定位耗時最長
103、的熱點 NoSQL 操作。8.HTTP 信息記錄應用中的 HTTP 請求時間和耗時,找出熱點 HTTP 請求。9.快照信息支持在堆、IO、Workload 在線分析過程中生成快照,對快照進行比對,輔助用戶發現資源、業務相關指標的變化趨勢,定位潛在的資源泄露問題或性能指標惡化問題。53/鯤鵬原生開發技術白皮書鯤鵬原生開發能力介紹任務分類描述采樣分析通過采樣的方式,收集 JVM 的內部活動/性能事件,通過錄制及回放的方式來進行離線分析。這種方式對系統的額外開銷很小,對業務影響不大,適用于大型的 Java 程序。主要分析結果包括:1.概覽 顯示 Java 虛擬機系統狀態。通過采樣及回放的方式顯示 J
104、VM 的 Heap 使用情況、GC 活動、IO 消耗和 CPU 使用率。2.線程轉儲及鎖分析結果 分析程序線程狀態及鎖。獲取采樣時間內的線程的狀態變化和當前線程轉儲,根據線程轉儲圖形化地顯示線程鎖定狀態,分析線程死鎖情況。分析估計線程阻塞對象和阻塞時間。3.方法采樣分析結果 分析 Java 及 native 代碼中熱點函數 CPU Cycles 的占比及定位。支持通過火焰圖查看熱點函數及其調用棧。4.內存分析結果 Java 對象在 Heap 中的分配情況,快速定位消耗 Heap 最多或數量分配最多的對象,發現潛在問題;通過堆棧追蹤定位潛在的內存問題。通過對存留周期長的 Java 對象進行采樣分
105、析,發現潛在的堆內存泄漏點,定位潛在堆內存泄露問題。5.GC 分析結果用戶查看 Java 的 GC 配置,Heap 大小變化以及 GC 事件發生情況。通過觀察 Heap 變化,GC 活動頻率和暫停時間,分析和調整當前的 GC 策略。6.IO 分析結果用戶可分析目標 Java 應用中關于文件讀寫、Socket 流量使用情況,以發現 IO 使用瓶頸;分析應用對文件的讀寫統計信息:讀寫路徑、讀/寫頻次、讀/寫速率、讀/寫總量、堆棧跟蹤(可配)及隨時間變化圖。鯤鵬原生開發技術白皮書/54鯤鵬原生開發能力介紹在線分析在線分析包含對于目標 JVM 和 Java 程序的雙重分析。步驟 1 選擇 Java 進
106、程,如圖 3-61 所示。步驟 2 查看 Java 性能分析概覽,如圖 3-62 所示。圖 3-62 概覽-結束55/鯤鵬原生開發技術白皮書鯤鵬原生開發能力介紹采樣分析通過采樣的方式,收集 JVM 的內部活動/性能事件,通過錄制及回放的方式來進行離線分析。步驟 1 新建采樣分析記錄,如圖 3-63 所示。圖 3-63 新建采樣分析記錄步驟 2 查看采樣分析結果,如圖 3-64 所示。圖 3-64 查看采樣分析結果-結束鯤鵬原生開發技術白皮書/56鯤鵬原生開發能力介紹3.1.5.4 系統診斷工具系統診斷工具簡介系統診斷是針對基于鯤鵬的服務器的性能分析工具,通過分析系統運行指標,識別異常點,例如:
107、內存泄漏、內存越界、網絡丟包等,并給出優化建議,幫助用戶識別出源代碼中內存使用的問題點,提升程序的可靠性。圖 3-65 系統診斷工具表 3-3 任務描述任務分類描述內存使用診斷分析應用程序存在的內存泄漏點(包括內存未釋放和異常釋放),得出具體的泄漏信息,并支持關聯出調用棧信息和源碼。內存越界診斷分析應用程序的內存異常訪問點,給出異常訪問類型和內存訪問信息,并支持關聯出調用棧和源碼。網絡 IO 診斷壓測網絡,獲得網絡最大能力,為網絡 IO 性能優化提供基礎參考數據;診斷網絡,定位網絡疑難問題,解決因網絡配置和異常而導致的網絡 IO 性能問題。具體包括:網絡撥測、丟包診斷(RDMA 暫不支持)、網
108、絡抓包(RDMA 暫不支持)、系統負載監控。實現網絡數據流統計功能,對 IPv4/IPv6 協議簇中 UDP 和TCP 協議數據流、RDMA RoCEv2、IB 數據流進行分析,統計不同階段數據流在不同處理核上執行的情況。存儲 IO 診斷壓測存儲 IO,獲得存儲設備最大能力,為存儲 IO 性能優化提供基礎參考數據。支持存儲 IO 壓測,獲得存儲 IO 最大能力,包括:吞吐量、IOPS、時延。內存診斷網絡 IO 診斷存儲 IO 診斷提供內存診斷能力,幫助用戶識別應用程序中存在的內存使用的問題點,提升程序的可靠性。壓測網絡,為網絡 IO 性能優化提供基礎參考數據;定位網絡疑難問題,解決因網絡配置和
109、異常而導致的性能問題。支持 HPC 集群環境下的 RDMA 診斷。壓測存儲 IO,獲得存儲設備最大能力,為存儲 IO 性能優化提供基礎參考數據。支持HPC 集群環境下的 DPC 和 NFS 診斷。Call Tree 信息內存消耗源碼信息OOM 信息網絡撥測網絡抓包系統負載監控丟包診斷吞吐量時延IOPS系統負載靈活部署支持單臺/多臺服務器部署,及混合部署簡單易用與性能分析工具同一入口,圖形化界面簡單易用精準高效覆蓋 80%問題診斷場景、故障定位準確率 90%57/鯤鵬原生開發技術白皮書鯤鵬原生開發能力介紹內存診斷步驟 1 創建內存診斷任務,如圖 3-66、圖 3-67 所示。圖 3-66 內存使
110、用任務圖 3-67 內存越界任務鯤鵬原生開發技術白皮書/58鯤鵬原生開發能力介紹步驟 2 查看內存診斷任務結果,如圖 3-68、圖 3-69 所示。圖 3-68 內存使用任務結果圖 3-69 內存越界任務結果-結束59/鯤鵬原生開發技術白皮書鯤鵬原生開發能力介紹網絡 IO 診斷步驟 1 創建網絡 IO 診斷任務,如圖 3-70 所示。圖 3-70 網絡 IO 診斷任務步驟 2 查看網絡 IO 診斷任務分析結果,如圖 3-71 所示。圖 3-71 網絡 IO 診斷任務分析結果-結束鯤鵬原生開發技術白皮書/60鯤鵬原生開發能力介紹存儲 IO 診斷步驟 1 創建存儲 IO 診斷任務,如圖 3-72
111、所示。圖 3-72 存儲 IO 診斷任務步驟 2 查看存儲 IO 診斷任務分析結果,如圖 3-73 所示。圖 3-73 存儲 IO 診斷任務分析結果-結束61/鯤鵬原生開發技術白皮書鯤鵬原生開發能力介紹3.2.1.1 門禁檢查介紹鯤鵬原生開發在流水線門禁檢查階段提供了 DevKit 應用遷移工具、親和分析工具和編碼規范檢查,可攔截不適配鯤鵬服務器的代碼、提供鯤鵬親和代碼優化建議和編碼規范問題提示,把問題攔截在早期階段,提升鯤鵬原生開發效率。圖 3-74 門禁檢查3.2.1.2 應用遷移命令行應用遷移工具屬于鯤鵬 DevKit 的擴展工具之一,支持在 x86 和鯤鵬平臺運行,提供 VS Code
112、 插件、Web、命令行等多種使用形態,其中命令行工具支持以下功能:軟件遷移評估:自動掃描并分析軟件包(非源碼包)、已安裝的軟件,提供可遷移性評估報告。源碼遷移:檢查分析 C/C+/ASM/Fortran/解釋型語言等源碼文件,定位出需要遷移的代碼并給出遷移指導,支持遷移編輯及一鍵代碼替換功能。用戶可在 CI/CD 流水線中集成應用遷移工具命令行,實現不適配鯤鵬平臺代碼的門禁攔截能力。鯤鵬 DevKit 以命令方式 1 小時接入 CI/CD,便捷發布多平臺版本X86 版本編譯構建X86 平臺調優X86 平臺測試X86 版本發布鯤鵬版本編譯構建 畢昇編譯器 畢昇 JDK GCC for openE
113、ulerCFGO/LTO/自動向量化/指令流水優化,性能 10%鯤鵬平臺調優 自動反饋優化應用編譯調試,性能 5%10%鯤鵬平臺測試 測試框架 測試工具 測試樣例多樣性算力測試套件,效率 20%鯤鵬版本發布 病毒掃描病毒掃描,效率 5%門禁檢查 應用遷移 親和分析 編碼規范檢查鯤鵬兼容&親和,性能 5%3.2.1門禁檢查3.2流水線階段DevKit 原生開發插件支持 1 小時接入兩大主流(Jenkins、GitLab)CI/CD 流水線,用戶可以在流水線中高效使用鯤鵬遷移掃描、親和分析、編譯、測試、調優等能力,提升鯤鵬流水線搭建及版本發布效率的同時,性能開箱即優。鯤鵬 DevKit 快速接入流
114、水線的詳細介紹與操作指導請參見鯤鵬社區 鯤鵬原生開發 查看用戶指南 DevKit Pipeline 介紹,詳情可掃描右方二維碼。鯤鵬原生開發技術白皮書/62鯤鵬原生開發能力介紹軟件遷移評估軟件遷移評估幫助用戶分析用戶x86環境上軟件包安裝路徑中的SO庫文件,并檢查這些文件與鯤鵬平臺的兼容性。命令格式:devkit porting pkg-mig-i INPUT_PATH|-input INPUT_PATH-o OUTPUT_PATH|-output OUTPUT_PATH-r all,json,html,csv|-report-type all,json,html,csv-l 0,1,2,3|
115、-log-level 0,1,2,3-set-timeout TIMEOUT-t,-target-os target-os 源碼遷移源碼遷移功能分析用戶 C/C+/ASM/Fortran/Go/解釋型語言軟件的可遷移性。命令格式:devkit porting src-mig-i INPUT_PATH|-input INPUT_PATH-c command|-cmd command-s c|c+|asm|fortran|go|interpreted*|-source-type c|c+|asm|fortran|go|interpreted*-t targe_os|-target-os targe
116、_os-p compiler_version|-compiler compiler_version-f fortran-compiler-version|-fortran-compiler fortran-compiler-version-o OUTPUT_PATH|-output OUTPUT_PATH-b make,cmake,automake,go|-build-tool make,cmake,automake,go-r all,json,html,csv|-report-type all,json,html,csv-l 0,1,2,3|-log-level 0,1,2,3-set-ti
117、meout TIMEOUT-ignore ignore_file-macro MACRO-keep-going True,False應用遷移命令行詳細操作步驟請參見Kunpeng DevKit 用戶指南(命令行工作模式)中的應用遷移,詳情可掃描下方二維碼。63/鯤鵬原生開發技術白皮書鯤鵬原生開發能力介紹3.2.1.3 親和分析命令行親和分析工具屬于鯤鵬 DevKit 的擴展工具之一,支持鯤鵬平臺軟件代碼質量檢查,提升代碼質量、優化訪存性能,提供 VS Code 插件、Web、命令行等多種使用形態,其中命令行工具支持以下功能:64 位運行模式檢查:使用命令通過終端工具進行運行模式檢查。字節對齊檢
118、查:檢查源碼中結構體變量的字節對齊情況。內存一致性檢查:檢查源碼中存在的內存一致性問題。向量化檢查:對可向量化片段進行檢查。矩陣化檢查:對可矩陣化片段進行檢查。構建親和:對構建親和進行檢查。緩存行對齊檢查:對 C/C+源碼中結構體變量進行 128 字節對齊檢查。BC 文件生成:通過掃描源碼文件生成對應的 BC 文件。用戶可在 CI/CD 流水線中集成親和分析工具命令行,實現鯤鵬親和代碼的優化建議。親和分析命令行詳細操作步驟請參見Kunpeng DevKit 用戶指南(命令行工作模式)中的親和分析,詳情可掃描下方二維碼。64 位運行模式檢查4 位運行模式檢查就是將 GCC4.8.5 GCC10.
119、3.0 版本原 32 位的應用遷移到 64 位平臺上,進行遷移檢查并給出修改建議。命令格式:devkit advisor run-mode-i INPUT_PATH|-input INPUT_PATH-o OUTPUT_PATH|-output OUTPUT_PATH-l 0,1,2,3|-log-level 0,1,2,3-r all,json,html,csv|-report-type all,json,html,csv-set-timeout TIMEOUT鯤鵬原生開發技術白皮書/64鯤鵬原生開發能力介紹字節對齊檢查字節對齊檢查就是在需要考慮字節對齊時,檢查源碼中結構體類型變量的字節對齊
120、情況,提升內存訪問效率。命令格式:devkit advisor addr-align-i INPUT_PATH|-input INPUT_PATH-c COMMAND|-cmd COMMAND-o OUTPUT_PATH|-output OUTPUT_PATH -b make,cmake,automake|-build-tool make,cmake,automake-r all,json,html,csv|-report-type all,json,html,csv-l 0,1,2,3|-log-level 0,1,2,3-set-timeout TIMEOUT內存一致性檢查內存一致性檢查就
121、是檢查源碼遷移在鯤鵬平臺運行時可能存在的內存一致性問題,并提供插入內存屏障的建議。命令功能:devkit advisor mm-check-i INPUT_PATH|-input INPUT_PATH-f BC_PATH|-bc-file BC_PATH-autofix true,false -autofix-dir AUTOFIX_OUTPUT_PATH-o OUTPUT_PATH|-output OUTPUT_PATH -r all,json,html,csv|-report-type all,json,html,csv-l 0,1,2,3|-log-level 0,1,2,3 -set-
122、timeout TIMEOUT向量化檢查向量化檢查功能用于對可向量化片段進行檢查,并提供向量化修改建議,更好地發揮芯片性能。命令格式:devkit advisor vec-check-i INPUT_PATH|-input INPUT_PATH-f BC_PATH|-bc-file BC_PATH-c COMMAND|-cmd COMMAND-p clang,gcc|-compiler clang,gcc-o OUTPUT_PATH|-output OUTPUT_PATH -r all,json,html,csv|-report-type all,json,html,csv-l 0,1,2,3
123、|-log-level 0,1,2,3-set-timeout TIMEOUT-sve-enable true,false矩陣化檢查矩陣化檢查功能用于對可矩陣化片段進行檢查,并提供矩陣化修改建議,更好地發揮芯片性能。命令功能:devkit advisor matrix-check-i INPUT_PATH|-input INPUT_PATH-s scan_file_path|-scan-dir scan_file_path(-b make,cmake|-build-tool make,cmake)&(-c COMMAND|-cmd COMMAND)|-j COMPILE_JSON_PATH|-
124、compile-command-json COMPILE_JSON_PATH-o OUTPUT_PATH|-output OUTPUT_PATH-r all,json,html,csv|-report-type all,json,html,csv-l 0,1,2,3|-log-level 0,1,2,3-p sme,domain|-optimization sme,domain-m compute,memory_access,communication|-module compute,memory_access,communication-set-timeout TIMEOUT65/鯤鵬原生開
125、發技術白皮書鯤鵬原生開發能力介紹構建親和構建親和功能用于分析 makefile、CMakeLists.txt 中可以替換鯤鵬加速庫的內容,并提供替換建議和功能修復。命令功能:devkit advisor affi-check-i INPUT_PATH|-input INPUT_PATH-c COMMAND|-cmd COMMAND-o OUTPUT_PATH|-output OUTPUT_PATH-b make,cmake|-build-tool make,cmake-r all,json,html,csv|-report-type all,json,html,csv-l 0,1,2,3|-l
126、og-level 0,1,2,3-set-timeout TIMEOUT緩存行對齊檢查緩存行對齊檢查是對 C/C+源碼中結構體變量進行 128 字節對齊檢查,提升訪存性能。命令功能:devkit advisor cacheline-i INPUT_PATH|-input INPUT_PATH-o OUTPUT_PATH|-output OUTPUT_PATH-r all,json,html,csv|-report-type all,json,html,csv-l 0,1,2,3|-log-level 0,1,2,3-set-timeout TIMEOUTBC 文件生成BC 文件用于內存一致性檢
127、查和向量化檢查,簡化 BC 文件生成過程。命令功能:devkit advisor bc-gen-i INPUT_PATH|-input INPUT_PATH-c COMMAND|-cmd COMMAND-o OUTPUT_PATH|-output OUTPUT_PATH-l 0,1,2,3|-log-level 0,1,2,3-set-timeout TIMEOUT3.2.1.4 編碼規范檢查鯤鵬原生開發流水線使用 SonarQube 進行編碼規范檢查。SonarQube 是一個管理代碼質量的開放平臺,涵蓋了架構設計、注釋、編碼規范、潛在缺陷、代碼復雜度、重復代碼等多個維度的質量分析。幫助檢查
128、代碼缺陷、改善代碼質量以及提高開發速度,可以支持 Java、C、C+、JavaScript 等多種編程語言的代碼質量管理與檢測。包含七個代碼質量檢查維度:復雜度分布(complexity):代碼復雜度過高將難以理解。重復代碼(duplications):程序中包含大量復制、粘貼的代碼而導致代碼臃腫,SonarQube 可以展示源碼中重復嚴重的地方。單元測試統計(unit tests):統計并展示單元測試覆蓋率,開發或測試可以清楚測試代碼的覆蓋情況。鯤鵬原生開發技術白皮書/66鯤鵬原生開發能力介紹 代碼規則檢查(coding rules):通過 Findbugs、PMD、CheckStyle 等
129、檢查代碼是否符合規范。注釋率(comments):若代碼注釋過少,當有人員變動后,其他人比較難以接手;若代碼注釋過多,又不利于閱讀。潛在的 Bug(potential bugs):通過 Findbugs、PMD、CheckStyle 等檢測潛在的 bug。結構與設計(architecture&design):找出循環,展示包與包、類與類之間的依賴、檢查程序之間耦合度。圖 3-75 代碼缺陷檢查鯤鵬原生開發在流水線編譯構建階段提供了畢昇編譯器、畢昇JDK、GCC for openEuler。通過上述鯤鵬親和編譯器,在不修改用戶應用源碼的情況下,提供鯤鵬平臺的應用性能提升。詳細內容請參見 3.1.
130、3 編譯。圖 3-76 編譯構建鯤鵬 DevKit 以命令方式 1 小時接入 CI/CD,便捷發布多平臺版本X86 版本編譯構建X86 平臺調優X86 平臺測試X86 版本發布門禁檢查 應用遷移 親和分析 編碼規范檢查鯤鵬兼容&親和,性能 5%鯤鵬平臺調優 自動反饋優化應用編譯調試,性能 5%10%鯤鵬平臺測試 測試框架 測試工具 測試樣例多樣性算力測試套件,效率 20%鯤鵬版本發布 病毒掃描病毒掃描,效率 5%鯤鵬版本編譯構建 畢昇編譯器 畢昇 JDK GCC for openEulerCFGO/LTO/自動向量化/指令流水優化,性能 10%3.2.2編譯構建67/鯤鵬原生開發技術白皮書鯤鵬
131、原生開發能力介紹3.2.3.1 調優介紹鯤鵬原生開發在流水線調優階段提供了自動反饋優化功能,通過流水線自動觸發,實現應用編譯優化。圖 3-77 調優鯤鵬 DevKit 以命令方式 1 小時接入 CI/CD,便捷發布多平臺版本X86 版本編譯構建X86 平臺調優X86 平臺測試X86 版本發布門禁檢查 應用遷移 親和分析 編碼規范檢查鯤鵬兼容&親和,性能 5%鯤鵬版本編譯構建 畢昇編譯器 畢昇 JDK GCC for openEulerCFGO/LTO/自動向量化/指令流水優化,性能 10%鯤鵬平臺測試 測試框架 測試工具 測試樣例多樣性算力測試套件,效率 20%鯤鵬版本發布 病毒掃描病毒掃描,
132、效率 5%鯤鵬平臺調優 自動反饋優化應用編譯調試,性能 5%10%3.2.3調優3.2.3.2 自動反饋優化PGO(Profile Guided Optimization)是一種編譯器優化技術,通過編譯器插樁收集程序運行時信息進行優化決策。編譯器根據這些運行時信息指導各種編譯優化技術進行更準確的優化決策,生成更優的目標程序。A-FOT 是一款用于提升編譯器 GCC for openEuler 自動反饋優化特性的工具,支持以下三種模式:AutoFDO:PGO 的簡化部署版,使用 perf 替代插樁獲取程序運行 profile,受益優化點包括矢量化、循環展開、循環剝離等優化。AutoPrefetc
133、h:增強版預取優化,根據 Dcache 訪問、存取指令 Cache Miss 率,獲取數據訪問優化代碼塊并進行預取優化,同時優化預取提前量,建議和 AutoFDO 共同使用。AutoBOLT:鏈接后二進制優化,對控制流復雜的程序具有顯著的優化效果,主要優化包括 BB 重排、函數重排、冷熱分區等優化,與 AutoFDO、AutoPrefetch 部分沖突。A-FOT 安裝部署指導請參見鯤鵬原生開發 用戶指南中的安裝 A-FOT 工具,詳情可掃描下方二維碼。鯤鵬原生開發技術白皮書/68鯤鵬原生開發能力介紹3.2.4.1 測試介紹鯤鵬原生開發在流水線測試階段提供了兼容性測試工具和 Java 性能測試
134、工具,在鯤鵬服務器上對應用進行全方位測試。圖 3-78 測試鯤鵬 DevKit 以命令方式 1 小時接入 CI/CD,便捷發布多平臺版本X86 版本編譯構建X86 平臺調優X86 平臺測試X86 版本發布門禁檢查 應用遷移 親和分析 編碼規范檢查鯤鵬兼容&親和,性能 5%鯤鵬版本編譯構建 畢昇編譯器 畢昇 JDK GCC for openEulerCFGO/LTO/自動向量化/指令流水優化,性能 10%鯤鵬平臺調優 自動反饋優化應用編譯調試,性能 5%10%鯤鵬版本發布 病毒掃描病毒掃描,效率 5%鯤鵬平臺測試 測試框架 測試工具 測試樣例多樣性算力測試套件,效率 20%3.2.4測試3.2.
135、4.2 兼容性測試工具鯤鵬原生開發提供了一系列兼容測試用例集,實現了鯤鵬兼容測試自動化,保證應用實現鯤鵬兼容。測試用例集如表 3-4 所示。表 3-4 測試用例集說明任務分類描述兼容性測試通過待測試應用軟件在鯤鵬環境啟動前后資源波動異常檢測、驗證應用軟件啟動和停止,自動檢測應用軟件在鯤鵬平臺上的可運行性、兼容性問題??煽啃詼y試通過待測試應用軟件在穩定運行期間的系統資源內存的波動異常檢測、在異常終止測試場景檢測應用運行,自動評估應用軟件在鯤鵬平臺上的穩定性和可靠性。安全測試通過待測試應用軟件在運行情況下的端口掃描、病毒掃描和漏洞掃描,自動發現應用軟件可能存在的安全風險。鯤鵬原生開發兼容性測試工具
136、安裝部署詳細內容請參見鯤鵬原生開發 用戶指南中的單獨部署兼容性測試工具,詳情可掃描下方二維碼。69/鯤鵬原生開發技術白皮書鯤鵬原生開發能力介紹3.2.4.3 Java 性能測試工具鯤鵬原生開發在流水線測試階段提供了 Java 性能測試工具,結合 Jmeter,對目標程序進行壓測,采集目標進程的性能數據,生成壓測報告。鯤鵬原生開發 Java 性能測試工具安裝部署詳細內容請參見鯤鵬原生開發 用戶指南中的安裝工具到執行機,詳情可掃描下方二維碼。鯤鵬原生開發在版本發布階段提供了病毒掃描能力,實現了版本安全合規掃描自動化,版本發布效率提升。圖 3-79 版本發布鯤鵬原生開發病毒掃描使用開源病毒掃描工具
137、ClamAV,ClamAV 可檢測數百萬種病毒、蠕蟲、木馬和其他惡意軟件,包括 Microsoft Office 宏病毒、移動惡意軟件和其他威脅。鯤鵬 DevKit 以命令方式 1 小時接入 CI/CD,便捷發布多平臺版本X86 版本編譯構建X86 平臺調優X86 平臺測試X86 版本發布門禁檢查 應用遷移 親和分析 編碼規范檢查鯤鵬兼容&親和,性能 5%鯤鵬版本編譯構建 畢昇編譯器 畢昇 JDK GCC for openEulerCFGO/LTO/自動向量化/指令流水優化,性能 10%鯤鵬平臺調優 自動反饋優化應用編譯調試,性能 5%10%鯤鵬平臺測試 測試框架 測試工具 測試樣例多樣性算力
138、測試套件,效率 20%鯤鵬版本發布 病毒掃描病毒掃描,效率 5%3.2.5版本發布鯤鵬原生開發技術白皮書/70鯤鵬原生開發能力介紹 openEuler 是一個面向數字基礎設施的 AI 原生操作系統,支持服務器、云計算、邊緣計算、嵌入式等應用場景,支持多樣性計算,致力于提供安全、穩定、易用的操作系統。openEuler社區及其他第三方開發者共同提供了豐富易用的軟件包,在最新的版本中,軟件包總數已超過3.5萬。openEuler 社區版本使用者可以根據自己的需求配置不同的軟件倉庫。openEuler 從用戶場景出發,回溯梳理相應的軟件依賴關系,理清所有軟件包的上游社區地址、源碼和上游對應驗證。完成
139、構建驗證、分發、實現生命周期管理,提供可靠開源軟件供應鏈。目前,openEuler 社區積累超過 1800+的企業和合作伙伴,覆蓋了全產業鏈,發展了近萬名社區貢獻者,國內外主流操作系統廠商均推出基于歐拉的商業發行版。圖 3-80 openEuler 簡介獲取最新的 openEuler 版本和詳細的用戶指南,請參見 openEuler 社區(https:/www.openeuler.org/zh/)。3.3.1openEuler 簡介3.3OS底座(openEuler系操作系統)面向企業用戶,基于 openEuler 社區服務,快速獲取開源軟件的變更,漏洞,合規等演進信息面向社區開發者,基于 E
140、ulerPipeline 流水線,構建多架構,高質量的源碼及二進制倉庫openEuler:基于社區開發服務及流水線,構建開源軟件原生親和鯤鵬+歐拉底座源碼倉庫二進制倉庫高效率社區開發服務多架構高質量保障上游軟件的版本更新與特性演進,持續同步bugfix,提高企業水印效率代碼掃描服務 片段引用掃描 敏感信息排查 合規性掃描EulerPipeline源碼掃描內核Lib中間件APP構建部署License 掃描測試發布門禁服務 構建檢測 二進制檢測 ABI 檢測構建服務 單包構建 全量/增量構建 鏡像構建測試服務 安裝/卸載測試 功能測試 兼容性測試軟件包服務 上游變更感知 上游版本同步 上游補丁同步
141、漏洞管理服務 漏洞感知 漏洞檢測 漏洞修復支持多個架構的軟件包適配,保障鯤鵬架構的開發簡單高效鯤鵬親和的源碼與二進制倉庫,建設原生開發高質量底座x86_64 repoaarch64 repo71/鯤鵬原生開發技術白皮書鯤鵬原生開發能力介紹3.3.2.1 iSulad 輕量級容器引擎 iSulad 是一個由 C/C+編寫實現的輕量級容器引擎,具有輕、靈、巧、快的特點,不受硬件規格和架構限制,底噪開銷更小,可應用的領域更為廣泛。iSulad 是 openEuler 提供的新的容器引擎,其統一的架構設計能夠滿足 CT 和 IT 領域的不同需求。相比Golang 編寫的 Docker,iSulad 資
142、源占用更少,容器啟動更快,可應用范圍更廣。iSulad 容器引擎提供了與 Docker 類似的命令行,方便用戶操作使用。其北向支持 CRI 接口,可以對接Kubernetes,用戶可以使用 iSulad 作為底座,通過 Kubernetes 進行容器的編排調度。iSulad 南向支持OCIruntime 標準,能夠靈活對接 runc、lxc、kata、kuasar 等多種容器運行時,兼容容器生態。圖 3-81 iSuladiSulad 的核心能力包括容器服務,鏡像服務、卷服務以及網絡服務。容器服務:用來負責容器生命周期的管理。鏡像服務:負責提供對容器鏡像的操作。iSulad 支持符合 OCIi
143、mage 標準的鏡像格式,保證 iSulad 能夠支持業界主流鏡像。此外,iSulad 還支持用于系統容器場景的 externalrootfs 以及嵌入式場景的 embedded 鏡像格式。卷服務:為用戶提供容器數據卷管理的能力。網絡服務:可以與符合 CNI 標準的網絡插件一起,為容器提供網絡能力。3.3.2openEuler 基礎能力iSulad 軟件架構CLICRIiSuladcgroupnamespacekernel spacesyscalluser spaceruntimerunclxckataKuasarREST(light mode)/grpc(perf-mode)enginese
144、rvice executorcontainer serviceimage servicevolume servicenetwork servicemodulecontainerplugineventsruntimeimagespeclogvolume鯤鵬原生開發技術白皮書/72鯤鵬原生開發能力介紹iSulad 作為一款通用容器引擎,除了支持運行普通容器之外,還支持運行系統容器與安全容器。普通容器:傳統的應用容器。系統容器:在普通容器的基礎上進行功能擴展,相比于普通容器,系統容器具備 systemd 管理服務的能力,支持在容器運行時動態添加/釋放磁盤設備、網卡、路由以及卷。系統容器主要應用在重計
145、算、高性能、大并發的場景下,可以解決重型應用和業務云化的問題。安全容器:安全容器是虛擬化技術和容器技術的結合,相比于普通容器共用同一臺宿主機內核存在的安全隱患,安全容器通過虛擬化層實現容器間的強隔離,每個安全容器都有一個自己單獨的內核和輕量級虛擬機運行環境,保證同一個宿主機上不同安全容器的運行互相不受影響。3.3.2.2 StratoVirtStratoVirt 是一種基于 Linux 內核虛擬化(KVM)的開源輕量級虛擬化技術,在保持傳統虛擬化的隔離能力和安全能力的同時,降低了內存資源消耗,提高了虛擬機啟動速度。StratoVirt 可以應用于微服務或函數計算等Serverless 場景,保
146、留了相應接口和設計,用于快速導入更多特性,直至支持通用虛擬化。StratoVirt 的核心架構如圖 3-82 所示,從上到下分為三層。圖 3-82 StratoVirt 外部 API:StratoVirt 使用 QMP 協議與外部系統通信,兼容 OCI,同時支持對接 libvirt。bootloader:輕量化場景下使用簡單的 bootloader 加載內核鏡像實現快速啟動,而不像傳統的繁瑣的 BIOS 和Grub 引導方式;在通用虛擬化場景下,支持 UEFI 啟動。模擬主板 microvm:為了提高性能和減少攻擊面,StratoVirt 最小化了用戶態設備的模擬。模擬實現了 KVM 仿真設備
147、和半虛擬化設備,如 GIC、串行、RTC 和 virtio-mmio 設備。通用機型:提供 ACPI 表實現 UEFI 啟動,支持添加 virtio-pci 以及 VFIO 直通設備等,極大提高虛擬機的 I/O 性能。StratoVirt配合iSulad容器引擎和Kubernetes編排引擎可形成完整的容器解決方案,支持Serverless負載高效運行。StratoVirt 軟件架構StratoVirtQMP-Compatible-APIbootloaderCPUsystem busPCle businterrupt controllerlegacy devicesroot portvirti
148、o-pciVFIOvirtio-mmioPCle hostfwcfgpflash73/鯤鵬原生開發技術白皮書鯤鵬原生開發能力介紹3.3.2.3 openEuler AI 軟件棧openEuler 兼容 NVIDIA、Ascend 等主流算力平臺的軟件棧,為用戶提供高效的開發運行環境。通過將不同 AI 算力平臺的軟件棧進行容器化封裝,即可簡化用戶部署過程,提供開箱即用的體驗。同時,openEuler 也提供豐富的AI 框架,方便大家快速在 openEuler 上使用 AI 能力。功能描述:openEuler 已兼容 CANN、CUDA 等硬件 SDK,以及 TensorFlow、PyTorch、
149、MindSpore 等相應的 AI 框架軟件,支持 AI 應用在 openEuler 上高效開發與運行。openEuler AI 軟件棧容器化封裝優化環境部署過程,并面向不同場景提供以下三類容器鏡像:圖 3-83 容器鏡像 SDK 鏡像:以 openEuler 為基礎鏡像,安裝相應硬件平臺的 SDK,如 Ascend 平臺的 CANN 或 NVIDIA 的CUDA 軟件。AI 框架鏡像:以 SDK 鏡像為基礎,安裝 AI 框架軟件,如 PyTorch 或 TensorFlow。此外,通過此部分鏡像也可快速搭建 AI 分布式場景,如 Ray 等 AI 分布式框架。模型應用鏡像:在 AI 框架鏡像
150、的基礎上,包含完整的工具鏈和模型應用。相關使用方式請參見openEuler AI 容器鏡像用戶指南,詳情可掃描下方二維碼。SDK 鏡像AI 框架鏡像模型應用鏡像SDKSDKAI FrameworkSDKAI FrameworkToolsLLM鯤鵬原生開發技術白皮書/74鯤鵬原生開發能力介紹3.3.2.4 oeAware 智能調優框架oeAware 是在 openEuler 上實現低負載采集感知調優的框架,目標是在系統/業務運行時動態感知系統行為后智能使能系統調優特性。傳統調優特性都以獨立運行且靜態打開/關閉為主,oeAware 將調優拆分為采集、感知和調優三層,每層通過訂閱方式關聯,各層采用插
151、件式開發盡可能復用。oeAware 支持單機部署以及集群協同方式運行。在調優過程中通過規則+啟發的方式提升調優效率和場景自適應能力,并對業務場景透明。調優前后通過性能度量檢測是否存在負優化。并在問題發生后及時上報問題,第一時間回滾止損。圖 3-84 oeAware 調優框架oeAware 優勢&價值:oeAware 通過場景感知使能對應調優,支持調優推薦、一鍵使能以及動態回滾。oeAware 是 openEuler 調優的統一入口,提升調優管理效率,同時對調優一致性以及變更進行管理。管理面易用性提升:靜態調優隨著時間延續,不同場景的調優特性會逐漸散亂在系統中,無法高效對調優進行管理和審計。數據
152、面靈活性提升:一套靜態調優配置無法自動適用所有場景;部分調優無法實現靜態配置,如復雜場景下的調度策略;場景組合導致調優失效,人工分析成本高。應用場景openEuler 使能 AI,向用戶提供更多 OS 選擇?;?openEuler 的 AI 容器鏡像可以解決開發運行環境部署門檻高的問題,用戶根據自身需求選擇對應的容器鏡像即可一鍵部署,三類容器鏡像的應用場景如下:SDK 鏡像:提供對應硬件的計算加速工具包和開發環境,用戶可進行 Ascend CANN 或 NVIDIA CUDA 等應用的開發和調試。同時,可在該類容器中運行高性能計算任務,例如大規模數據處理、并行計算等。AI 框架鏡像:用戶可直
153、接在該類容器中進行 AI 模型開發、訓練及推理等任務。模型應用鏡像:已預置完整的 AI 軟件棧和特定的模型,用戶可根據自身需求選擇相應的模型應用鏡像來開展模型推理或微調任務。在線調優武器庫k8s集群管理算力低負載場景識別模型K8-OperatoroeAware APIoeAware SDK性能度量調優執行調優決策OS內存網絡/存儲系統75/鯤鵬原生開發技術白皮書鯤鵬原生開發能力介紹3.3.3.1 openEuler DevStation 開發者工作站openEuler DevStation 是 openEuler 首個面向開發者的開發者工作站,預裝 VSCODE,大幅提升開發者效率;在之后版本
154、,DevStation 更將推出 oeDeploy,開發插件等功能,并且將打通部署,編碼,編譯,構建,發布全流程,開發者可以方便的使用oeDeploy完成AI軟件棧,云原生軟件棧部署,使用oeDevPlugin插件進行一鍵拉取代碼倉,一鍵使用 AI4C 編譯器編譯,一鍵調用 EulerMaker,輕松使用 DevStation 開發者工作站在 openEuler 上進行軟件開發。3.3.3openEuler 工具和社區服務EulerMaker 構建系統EulerMaker 構建系統是一款軟件包構建系統,完成源碼到二進制軟件包的構建,并支持開發者通過搭積木方式,組裝和定制出適合自己需求的場景化
155、OS。主要提供增量/全量構建,分層定制與鏡像定制的能力。社區開發者及合作伙伴基于統一構建系統建設自己的用戶個人倉、OS 核心倉,定制出適合自己需求的場景化 OS。圖 3-86 EulerMaker 特性功能描述:增量/全量構建:基于軟件包變化并結合軟件包依賴關系,分析影響范圍,得到待構建軟件包列表,按照依賴順序下發并行構建任務。構建依賴關系:提供工程軟件包構建依賴表,支持篩選及統計軟件包依賴及被依賴的軟件包內容。分層定制:支持在構建工程中,基于 spec 或 yaml,疊加配置層模型,實現針對軟件包的版本、patch、構建依賴、安裝依賴、編譯選項及構建流程等內容的定制。web命令行config
156、 sapceapi 網關構建管理DAG 調度資源調度軟件倉軟件包簽名數據庫宏展開配置合并值校驗python 庫imageTailor api軟件包定制系統配置定制鏡像生成kiwi/createrepo/dnf分層定制物理機虛擬機容器包構建系統資源池鏡像定制鯤鵬原生開發技術白皮書/76鯤鵬原生開發能力介紹 鏡像定制:支持開發者通過配置repo源,生成iso、qcow2、容器等OS鏡像,并支持對鏡像進行軟件包列表定制。支持本地任務復現:通過命令行在本地復現構建任務,方便定位構建問題。一鍵工程創建:基于 yaml 配置實現一鍵工程創建,支持批量加包,大大簡化用戶操作。EulerTest 測試管理平臺
157、EulerTest 是 openEuler 社區孵化的用以承載社區全流程測試活動的管理平臺。EulerTest 核心為 web 端數據中臺,幫助社區版本測試高效運作,使能社區版本測試可跟蹤可追溯。具備支撐資源管理以及自動化測試功能的插件化服務,支持對接多元測試引擎。圖 3-87 EulerTest 測試管理平臺本地用例用戶注冊/登陸用戶管理任務管理任務執行任務報告任務進度(Cl 調度/個人使用)用例管理(文本用例寫作/自動化用例綁定)任務創建(版本/組織/團隊/個人)信息完善碼云賬號登陸Test reports(Cl 調度/個人使用)問題分析任務更新(版本/組織/團隊/個人)分組管理(管理員)
158、CLA 校驗分組權限校驗openOACompass-CIAPI調度部署資源池執行資源池worker-x86worker-Arm官方 repo于區號理基社賬管開務放力基任開能結果分析與歸檔部署&執行調度測試套/用例系統鏡像/repo測試套配置(環境)解析CI 調度CI 調度個人使用個人使用12功能描述:支持對物理機進行靜態資源管理,包括資源的密鑰修改、占用釋放和系統重裝。支持對虛擬機進行動態資源管理,提供網卡磁盤配置熱修改以及 web 控制臺等功能。支持文本用例的數據管理和版本用例基線的制定,具備用例評審功能。支持對產品和里程碑進行數據管理,支持和碼云企業倉進行數據同步管理,提供版本質量看板以支
159、撐質量看護,使能測試可信。支持管理測試任務數據,支持自動化測試觸發執行,以及支持手工測試執行 IT 化管理。具備日志按測試步驟分割和分析標注的功能。支持自動化從 openQA、Compass-CI 等平臺讀取執行結果矩陣,并基于社區既定模板整合為版本測試報告。77/鯤鵬原生開發技術白皮書鯤鵬原生開發能力介紹EulerPipeline 流水線面向社區開發者,基于 EulerPipeline 流水線,構建多架構、高質量的源碼及二進制倉庫。支持 Package-CI/Code-CI/Repo-CI/ISO-CI/單包 test-CI/版本 test-CI 6 類模板,實現模板+任務按需編排,提供 4
160、0+原子化 SaaS 服務,簡化社區開發者 OS&軟件包開發。支持流水線編排、矩陣測試、一鍵復現、結對聯調。圖 3-88 EulerPipeline功能描述:流水線編排:支持流水線自定義,DSL 語言編排。矩陣測試:一次聲明,多種組合并行運行;提供矩陣總覽視圖,多 OS、多架構運行結果一眼掌握。一鍵復現:通過 Web 控制臺登入復現環境調測,同時支持通過自有終端軟件利用公鑰登入復現環境調測。結對聯調:流水線服務提供的 web 控制臺支持多人共享終端,使能多用戶結對調測。Kernel-CI軟件包-CI版本 CI兼容性 CIrepo 倉更新repo 倉運維.門禁模板構建模板測試模板調測模板性能模板
161、熱補丁模板.工作流模板代碼開發統一構建測試服務精品倉庫平臺服務codecheck全量構建矩陣測試包倉庫環境復現SBOM 漏洞檢測可重復構建測試框架鏡像倉庫登錄調試Porting advisor鏡像構建測試套簽名服務git-mirror合規檢測epkg 構建測試報告epkg 倉庫問題定位原子任務流水線代碼檢測trigger構建trigger測試/調試trigger發布trigger部署trigger鯤鵬原生開發技術白皮書/78鯤鵬原生開發能力介紹CVE Manager 漏洞管理漏洞管理是 openEuler 社區對安全漏洞進行感知、收集、處理以及披露的流程、工具和機制的統稱。從合作漏洞感知系統獲
162、取公開漏洞感知信息,再通過機器人在碼云平臺對應項目軟件包倉創建并維護漏洞相關記錄,漏洞修復后進入通用版本構建發布以及安全公告發布流程。openEuler 使用 CVS Sv3 進行漏洞評分。為了保護 openEuler 用戶的安全,在進行調查、修復和發布安全公告之前,openEuler 社區不會公開披露、討論或確認 openEuler 產品的安全問題。圖 3-89 CVE Manager 漏洞管理合作漏洞感知系統CVE-Manager基礎數據碼云平臺漏洞庫軟件包和版本信息CVE-Manager過濾器新建CVEissue關閉CVEissue版本構建和發布自動生成SA和CVRF安全委員會評審SA和
163、CVRF發布SA和CVRF分析和修復CVE提交PR合入修復過濾器軟件包和CPE映射功能描述:發布安全公告:安全公告內容包括該漏洞的技術細節、CVE 編號、CVSS 安全評分、嚴重性等級以及受到該漏洞影響的版本和修復版本等信息。安全公告提供郵件訂閱功能:社區同時也提供 CVRF 格式的安全公告。3.3.3.2 操作系統遷移當操作系統生命周期即將 EOM,但是應用軟件或者產品的生命周期還未結束時,為了保障業務的連續性、安全性,急需將原操作系統遷移到新操作系統上。企業一方面需要做好操作系統選型(如持續演進、全場景支持、可靠、穩定等),支撐企業持續發展、產品創新、數字化轉型;另一方面需要有系統性的遷移
164、方案及工具,保障遷移無憂。針對企業遷移操作系統的需求,openEuler 助力企業簡單、平穩、高效進行操作系統遷移。x2openEuler 是一款將源操作系統遷移到目標操作系統的遷移工具套件,可以對 CentOS,Redhat,Ubuntu,SUSE 進行原地遷移,同時具有批量化原地升級能力,工具提供簡單易用的操作界面,可以批量添加待升級節點進行遷移分析,設計遷移方案并對兼容性問題進行遷移適配,最后對已適配的待升級節點批量升級,實現端到端的無感遷移;同時 x2openEuler 還支持對 Windows.NetFramework Web 場景進行業務無適配遷移,幫助客戶把應用程序迅速遷移至 o
165、penEuler 上?;?openEuler 的遷移方案,包括成立遷移保障組織、遷移分析、方案設計、移植適配、遷移實施和測試上線六個階段,如下圖所示。79/鯤鵬原生開發技術白皮書鯤鵬原生開發能力介紹3.3.3.3 openEuler 官方倉及擴展倉openEuler 生態提供超過 3 萬+源碼包、百萬級二進制軟件包,可為 CentOS、Fedora 等系統向 openEuler 遷移的開發者、OSV、企業等用戶提供一站式兼容性軟件包、文件查詢、下載、開源軟件包的使用風險感知服務。圖 3-91 openEuler 官方倉及擴展倉功能描述:面向創新場景開發者:提供快速的軟件包引入平臺,快速將上游
166、項目形成 RPM 包。面向廣大用戶:提供 openEuler 已兼容的軟件包查詢,支持軟件包、文件、命令查找。面向企業用戶:提供開源軟件風險一站式查詢平臺,感知軟件活躍度、合規性、漏洞信息。面向企業用戶:提供閉源軟件分發渠道,支持企業軟件直達用戶。openEuler 擴展倉。持續跟進操作系統開源社區或業界熱門(或趨勢)的開源軟件包,持續推進 openEuler 擴展倉內容?;?于 openEuler,對 二進制包進行適配度、可用性等方位的測試,確保 openEuler 可用。對目標包的安全評估是質量保障最重要的一環。嚴格控制風險因素,既是對 openEuler 用戶的保 障,也 是 openE
167、uler生態發展的重中之重。通過開源軟件供應鏈進行分析,對其可靠性及未來演進評估。來源可靠基礎驗證風險甄別可靠評估準入openEuler 官方倉有著更加嚴格的生命周期要求官方倉對比成立組織保護客戶主導,OSV/ISV 配合遷移分析客戶主導,OSV 配合方案設計客戶主導,OSV 配合遷移適配OSV,IHV,ISV遷移實施客戶主導,ISV/OSV 配合測試與上線客戶/ISV 主導,OSV 配合 客 戶 業 務 部 門、IT部 門、維 護 部 門、OSV、ISV、集成商 梳理當前業務部署的服務器、OS、使用軟件情況 評估軟件、配置、硬件兼容性 根據業務場景以及業務架構和自身特性,制定遷移策略 OS遷
168、移:軟件包引入、配置遷移 ISV 應用遷移:重新編譯或代碼適配 IHV 適配:整機板卡適配 適配遷移,重新部署業務同步配置:適用于業務不兼容需要適配的新建、擴容、存量替換場 原地升級,繼承配置無需重新部署業務:適用于業務兼容不需適配的存量替換場景工具支持工具支持工具支持工具支持 支持軟件接口、依賴關系兼容性掃描 支持配置差異掃描 支持硬件兼容性掃描 提供典型場景的遷移方案經驗,指導選擇遷移業務以及遷移順序 支持生成部分遷移腳本,包括兼容的依賴軟件安裝、配置同步、驅動安裝等功能 支持批量系統安裝 支持批量軟件安裝 支持批量配置同步 支持批量驅動安裝 支持批量一鍵遷移 對切換的業務進行測試,測試通
169、過進行上線圖 3-90 x2openEuler鯤鵬原生開發技術白皮書/80鯤鵬原生開發行業案例04鯤鵬原生開發行業案例81/鯤鵬原生開發技術白皮書鯤鵬原生開發行業案例恒生電子是聚焦金融行業,致力于為證券、期貨、基金、信托、保險、銀行、交易所、私募等機構提供整體 IT 解決方案和服務,包括財富管理、經紀業務等,連續 16 年入選 FinTech100 全球金融科技百強榜單,2023 年排名第22 位,位列亞洲上榜企業第一。4.1.1.1 業務背景數字化、智能化趨勢下,證券用戶的持續增長,交易數據處理量激增、交易響應速度要求達到微秒級,上一代系統在低延時、高吞吐、易擴展、安全方面已經無法滿足需求。
170、因此,證券企業也紛紛升級證券核心交易系統,以期為用戶提供極速,穩定,低延遲的交易體驗。4.1.1.2 鯤鵬原生方案考慮到鯤鵬平臺高吞吐、低時延、低能耗、高安全等優勢,能夠很好的滿足恒生在證券行業業務的要求,此外還提供完善的原生開發工具鏈生態快速完成面向鯤鵬的遷移、開發、編譯調試和性能優化;2024 年 3 月,恒生與鯤鵬達成了原生開發合作計劃,首批選擇新一代產品:經紀場外業務系統軟件,融合鯤鵬原生開發技術實現從開發-構建-測試-發布-運行的全流程優化。恒生將鯤鵬DevKit流水線技術棧融入自有的產品線管理、持續集成過程,形成新的構建集群。在恒生的流水線平臺中,增加本次經紀場外業務系統的鯤鵬構建
171、流程,基于鯤鵬服務器以及 openEuler 操作系統,搭建了持續集成節點。其中,在構建流程中主要接入了鯤鵬 DevKit 門禁掃描、畢昇編譯器、鯤鵬測試框架、性能分析工具等能力;在門禁掃描階段可以直接使用 DevKit 遷移掃描工具快速的提示不兼容代碼和軟件包,確保代碼在多樣性的算力平臺上兼容;在編譯構建階段,無感切換畢昇 JDK 優化編譯性能;自動化測試階段,通過 DevKit 提供的測試框架和樣例來提高測試效率和軟件質量,最后通過性能分析工具,進一步提升版本的性能。4.1.1恒生電子 基于鯤鵬原生開發經紀場外業務系統,讓證券數據處理更高效4.1金融鯤鵬原生開發技術白皮書/82鯤鵬原生開發
172、行業案例4.1.1.3 業務價值 原生高效率:流水線改造完成后,開發人員可以只開發一套代碼,有架構差異的代碼使用宏定義隔離,每天快速在門禁階段快速檢查增量代碼兼容性,并在不同平臺上構建出不同的版本,效率更高。恒生基于改造后的流水線迭代經紀場外業務系統,整體開發效率提升 30%以上 原生高性能:在編譯構建階段,流水線中能夠無感知的將編譯器替換為鯤鵬高性能編譯器畢昇 JDK;同時在調優階段,DevKit 提供的 Java 性能測試工具能夠對軟件運行性能進行采集和分析,通過分析智能合約運行容器JVM 中內存占用和 GC 回收等瓶頸問題,結合虛擬化平臺、數據庫調優等優化措施,實現整體接口性能提升,其中
173、產品查詢接口的 TPS 性能提升 20%圖 4-1 優化前后性能對比圖經過上述一系列的優化,場外經紀業務系統的產品信息查詢、產品定投流水、產品申購等業務接口的綜合性能均得到明顯提升,這些性能指標的優化,能夠精準高效的處理證券業務信息的計算需求,讓證券數據處理更加便捷和高效。產品查詢接口調優前34404135調優后83/鯤鵬原生開發技術白皮書鯤鵬原生開發行業案例北京宇信科技集團股份有限公司(簡稱:宇信科技)是國內金融科技的龍頭企業,為超 1000 家金融機構提供包括咨詢、產品、運營服務在內的一體化金融科技解決方案,在信貸操作系統、互聯網信貸、監管合規、網絡銀行等細分市場占有率位居行業第一。4.1
174、.2.1 業務背景隨著 AI、大數據、5G 通信等新一代信息技術的日新月異和飛速發展,對金融行業數字化建設提出了更高挑戰:包括大量個人信息、交易信息、系統狀態等數據的傳輸和存儲,對安全性和系統穩定性要求極高;大量線上業務常常產生高并發請求,處理能力如果達不到并發量要求,極易導致系統崩潰;各類監管報送模塊迫切需要一套穩定、性能好、可擴展的統一監管報送平臺。4.1.2.2 鯤鵬原生方案為了應對上述挑戰,宇信科技選擇攜手鯤鵬共同推進金融科技自主創新實踐。2024 年 2 月,宇信科技宣布啟動鯤鵬原生開發計劃,8 款核心軟件將基于鯤鵬原生開發:宇信科技 DevOps 平臺團隊基于現有云豹流水線深度集成
175、鯤鵬 DevKit,包括遷移掃描、親和分析、畢昇 JDK、調優工具和測試工具,通過設計和實施提交流水線、集成流水線和性能測試流水線,構建了一套全面的發布策略,確保代碼變更快速、安全地部署到生產環境中;提交流水線負責快速驗證每次代碼提交,集成流水線則確保不同組件能夠協同工作,而性能測試流水線則能夠及早發現并解決性能瓶頸。圖 4-2 改造后的流水線4.1.2宇信科技 基于鯤鵬原生開發金融軟件,讓金融信息處理更高效鯤鵬原生開發技術白皮書/84鯤鵬原生開發行業案例通過將鯤鵬 DevKit 原生開發與先進的 DevOps 實踐相結合,不僅提高了開發效率,還增強了軟件質量和可靠性,為鯤鵬平臺上的應用開發和
176、遷移設立了新的標準,為未來的創新和增長奠定了堅實的基礎。目前,統一監管報送平臺 V5.0、分布式企業網銀系統 V1.0、遠程經營服務平臺 V1.0 三款產品已完成鯤鵬原生開發,開發效率和產品性能均有顯著提升。圖 4-3 分布式企業網銀系統&遠程經營服務平臺 鯤鵬原生架構圖4.1.2.3 業務價值 原生高效率:改造之后的流水線使用率提升了 30%;同時在開發階段通過鯤鵬 DevKit IDE 自動處理項目中的庫依賴,包括版本沖突解決、依賴更新通知等,大大減輕了依賴庫管理和維護上的負擔;在測試階段,鯤鵬DevKit 會提供針對性能和兼容性的測試框架和用例,顯著提升測試效率。最后,經對比分析,常規需
177、求任務的開發效率提升了約 20%;原生高性能:通過無感知替換畢昇 JDK、以及通過 Java 性能測試工具分析和優化智能合約運行容器 JVM 中內存占用和 GC 回收等瓶頸問題,實現軟件整體性能提升:分布式企業網銀的會員服務切換畢昇 JDK 后應用啟動耗時從 25s 縮短到 20s;遠程經營服務平臺選取用戶登錄、數據字典查詢、公告查詢、新聞列表查詢、貸款數據查詢等場景,分別使用畢昇 JDK 以及 OpenJDK 啟動微服務集群開展壓力測試,相同時間內,部分高并發場景的業務吞吐量提升 23%客戶端開發工具(鯤鵬 DevKit)SLB業務系統中間件&數據庫軟硬件底座畢昇 JDK 編譯運行遷移掃描親
178、和分析性能分析測試鯤鵬服務器openEuler 22.03 LTS SP3OCA 用戶服務PCNginxMySQL用戶認證服務Plulgins微服務網關Redis公共服務Fox4.0 前端RabbitMQ序列號服務XXL-JOB85/鯤鵬原生開發技術白皮書鯤鵬原生開發行業案例圖 4-4 切換鯤鵬畢昇 JDK 前后編譯效率提升對比目前,宇信科技的分布式企業網銀系統和遠程經營服務平臺目前已在多個銀行落地實施,通過高效的信息整合和處理,顯著提升了企業信息處理和業務運營效率,讓銀行經營更高效,用戶服務更滿意。統一監管報送平臺的數據校核效率、報文生成性能、系統 TPS 均有 1025%的提升,這些指標的
179、提升讓銀行的監管報送更加高效;圖 4-5 統一監管報送平臺基于鯤鵬 DevKit 的優化效果遷移掃描畢昇 JDKJava 性能分析自動化測試用例數據檢核性能提升10%報文生成性能提升20%系統 TPS提升25%快速分析并輔助修改不兼容代碼,開發效率 20%鯤鵬版本性能和穩定性增強,編譯構建效率 33%實時分析系統監控,提供優化建議,性能 10%-25%提高自動測試效率,集成安全測試用例,安全提升 30%關鍵場景業務并發壓力測試(I0PS)數據字典查詢用戶登錄遠程經營服務平臺公告查詢新聞列表查詢帶寬數據查詢452600682780882961721902openJDK畢昇 JDK鯤鵬原生開發技術
180、白皮書/86鯤鵬原生開發行業案例北京浩瀚深度信息技術股份有限公司(以下簡稱“浩瀚深度”)深耕在互聯網流量和數據智能化領域,為運營商及政府提供采集存儲分析應用的垂直一體化服務,是網絡和數據智能化的領先企業。其高性能、高精度、高可靠的整體解決方案助力互聯網行業實現了網絡可視、資源優化、智能管控、安全防護及數據提升,推動了互聯網大數據普及與應用。4.2.1.1 業務背景數字化時代,互聯網流量與數據智能化已躍升為行業發展的核心驅動力,高效管理互聯網流量、確保數據安全無虞,并成功實現數據的智能化應用,已成為當前互聯網領域亟需攻克的重大課題。浩瀚深度的核心產品浩智睿一 DPI采集系統,采用多核分布式架構,
181、提供對流量數據進行協議解析、業務識別、流控和封堵等功能,應對日益嚴重的安全挑戰,實現流量及數據的智能化應用。隨著物聯網、移動互聯網、5G 等技術的快速發展,用戶對于網絡和數據智能化業務的并發量提出了新的訴求,特別在運營商場景下可產生千萬量級的高并發請求,會對處理能力低的系統造成沖擊。4.2.1.2 鯤鵬原生方案為了進一步優化系統性能、敏捷迭代版本以應對瞬息萬變的互聯網環境,浩瀚深度攜手鯤鵬共同推進網絡和數據智能化業務應用的鯤鵬原生創新轉型建設:基于鯤鵬硬件、openEuler OS、鯤鵬 DevKit、鯤鵬 BoostKit,實現 1套代碼+1 條流水線-多平臺版本,持續且首發性能領先的鯤鵬商
182、用版本,目前浩智睿一 DPI 采集系統 V3.7.0 版本已經完鯤鵬原生優化改造。4.2.1浩瀚深度 鯤鵬原生賦能 DPI 采集系統,網絡數據可視化處理更加高效4.2電信87/鯤鵬原生開發技術白皮書鯤鵬原生開發行業案例圖 4-6 浩智睿一 DPI 采集系統架構圖浩瀚深度將鯤鵬 DevKit 流水線技術棧融入自有的產品線管理、持續集成過程,在流水線中直接調用遷移掃描和親和檢查門禁、畢昇編譯器、鯤鵬測試框架、性能分析插件、版本漏洞掃描插件等 DevKit 工具能力,從而提升版本的性能、測試效率和質量;并基于鯤鵬服務器以及 openEuler 操作系統,搭建了持續集成節點,鯤鵬軟硬協同優化確保軟件高
183、性能運行。圖 4-7 浩瀚深度改造后的流水線信息 在代碼開發時使用鯤鵬 DevKit IDE 插件提供的場景化 SDK 快速完成應用的初始化、開發及部署,自動提示和補全鯤鵬的高性能函數,加快了代碼開發效率;門禁檢查階段,對增量代碼的鯤鵬兼容性和鯤鵬架構親和性進行自動檢查和快速優化,有架構差異的代碼使用宏定義隔離,加快代碼適配速度;編譯構建階段,將開源 GCC 切換為鯤鵬高性能編譯器 GCC for openEuler,以流量分發模塊為例,單核 PPS 從218 萬提升到 223 萬 測試階段,在流水線自動調用鯤鵬測試框架及測試用例,快速完成性能與兼容性的測試,測試效率提升 10%;調優階段,D
184、evKit 提供的性能測試工具對軟件運行性能進行采集和分析,對程序熱點瓶頸進行了分析和優化;基礎底座歐拉操作系統openEuler 20.03/22.03BC-linux Euler鯤鵬處理器其他處理器采集層多維實時統計并接封堵XDR 數據定制多協議內容還原同源同宿數據分發信令/數據深度解碼DPI 業務識別引擎元數據提取引擎賬號關聯策略匹配引擎多源數據匯聚傳輸日志輸出應用層維護中心資產管理配置管理性能管理故障管理告警閾值設置告警統計告警消除升級管理探針升級XDR 升級資源升級統計分析決策統計分析用戶流量分析策略管理鏡像策略封堵策略流控策略運維調優話單質量分析流量核對運行狀態監控鯤鵬原生開發技術
185、白皮書/88鯤鵬原生開發行業案例4.2.1.3 業務價值 原生高效率:經對比分析,常規需求任務的開發平均用時從 3 人日縮短至 2 人日,效率提升 30+%;原生高性能:鯤鵬原生改造后,浩瀚深度的浩智睿一 DPI 采集系統在業務識別、輸出流量日志、文件還原、封堵以及鏡像功能等方面實現了顯著的性能提升。其中,智能化采集業務的綜合數據處理能力提升 20%+,這些性能指標的優化,讓網絡數據可視化處理更加高效便捷。圖 4-8 智能化采集業務基于 DevKit 優化前后性能對比圖目前,該解決方案已廣泛服務于運營商、金融及政府部門等行業,不僅提供強大的數據支持能力,還能面向用戶的快速需求變化進行迭代,提高
186、應用的效率和質量,降低運維成本和復雜度,加速行業數字化轉型。整體處理性能優化(wpps)調優前22192729調優后提升20%+89/鯤鵬原生開發技術白皮書鯤鵬原生開發行業案例恒安嘉新(北京)科技股份公司(簡稱:恒安嘉新)專注于通信網和互聯網數據治理和安全防護,為行業用戶提供“云網邊端業數智安”綜合解決方案,致力于成為智慧城市數智基建搭建者和全連接服務運營者。4.2.2.1 業務背景恒安嘉新的核心產品之一安全采集分析平臺能夠實時捕獲惡意流量、集中分析研判,對公共互聯網中移動惡意程序進行監測發現、樣本還原、研判分析、處置防護等處理,解決移動核心網絡上多種類別的惡意程序傳播問題,消除網絡安全隱患,
187、降低網絡安全風險。隨著以“大流量”、“大連接”為特征的新一代通信技術的不斷發展和大規模應用,用戶對于流量監測產品提出了更高的訴求:高吞吐:應用的多樣化導致網絡數據激增,為了滿足流量實時采集、傳輸、存儲、分析等需求,迫切需要提升海量數據在線計算和分析的能力;高實時:未來的流量單位都是TBPS,為了提高響應速度,并發連接數不少于5000萬,新建連接不低于每秒160萬。4.2.2.2 鯤鵬原生方案為了實現上述目標,恒安嘉新選擇基于鯤鵬軟硬件平臺打造安全采集分析平臺一體機解決方案,結合鯤鵬天然的多核高并發、高安全等優勢進一步增強穩定性和可用性,同時,通過結合鯤鵬開發套件 DevKit,提升開發效率,優
188、化流量分析處理專項指標。圖 4-9 恒安嘉新安全采集分析平臺方案4.2.2恒安嘉新 基于鯤鵬原生開發安全采集分析平臺,保障企業信息系統安全穩定運行鯤鵬基礎加速軟件包鯤鵬 GCC for openEuler日志輸出模塊收發包驅動模塊Decode 解碼模塊信令面解碼模塊信令關聯模塊信令面解碼模塊鯤鵬硬件openEuler 22.03 LTS信令數據重組流標管理和分片重組HTTP(Gzip)ZTSD特性掃描(Hyperscan)信令協議解碼鯤鵬原生開發技術白皮書/90鯤鵬原生開發行業案例恒安嘉新在自有的 Gitlab 流水線中充分融入鯤鵬 DevKit 遷移掃描、編譯、調試、性能分析等能力,流水線改
189、造完成后,開發人員可以只開發一套代碼,有架構差異的代碼使用宏定義隔離,每天快速在門禁階段檢查代碼兼容性,并在不同平臺上構建出不同的版本,效率更高。在編譯過程中,由于 Linux 服務器一般不提供 GUI 界面,因此編譯和調試只能基于命令行,效率低、門檻高。鯤鵬 DevKit 可實現遠程圖形化的調試,一鍵完成本地代碼到遠程服務器的代碼同步以及編譯構建過程,降低了技術人員上手門檻。調優過程中,開發人員還使用了鯤鵬 DevKit 的調優助手和系統性能分析工具進行了相關調優:通過系統配置全景功能配合 PCIe 拓撲圖功能,幫助技術人員快速將硬件拓撲、BIOS、系統層面等調至最優狀態。同時,通過處理器微
190、架構分析幫助技術人員快速鎖定性能瓶頸點,定點突破。4.2.2.3 業務價值 原生高效率:流水線改造后,新版本開發效率提升 20%。原生高性能:經過鯤鵬 DevKit 提調優之后,安全采集分析平臺的系統配置功能整體性能提升了 39%圖 4-10 系統配置全景功能基于鯤鵬 DevKit 優化前后對比當前,恒安嘉新安全采集分析平臺一體機解決方案已廣泛應用于移動互聯網、城域網、數據中心、交換中心、直聯點等核心網絡節點。在運營商惡意程序系統、新型交換中心等多個項目中得到充分應用,幫助用戶在大流量、高并發場景下完成網絡流量的安全監測,有效降低運維成本和復雜度,加速實現數字化轉型。鯤鵬方案對比原方案新建會話
191、(萬 Cps)123167679325.735.6流量吞吐(Gbps)單位功耗效能比原方案鯤鵬方案91/鯤鵬原生開發技術白皮書鯤鵬原生開發行業案例北京超圖軟件股份有限公司(以下簡稱“超圖軟件”)是自然資源領域領先的解決方案供應商,聚焦地理信息軟件(Geographic Information Software,廣義 GIS)和空間智能(Geospatial Intelligence,GI)領域的基礎軟件與應用,其自主研發的 SuperMap 軟件是亞洲第一大、全球第二大 GIS 軟件,是數字中國、數字政府、企業數字化、數字孿生、元宇宙、智慧城市的重要技術底座。4.3.1.1 業務背景近年來全球
192、各地自然災害、地質災害頻發,GIS 能夠快速處理和分析海量空間、屬性數據。在災害應急救援過程中,全面深度分析各類地理信息、應急資源、災害現場數據,為災后救援提供有力支持。為確??茖W有效防災減災,SuperMap GIS 借助多源數據融合手段搭建應急管理數字底座,助力政府部門高效應急防范,在風險評估與情景模擬、突發事件快速響應、災后重建規劃等領域發揮積極作用。4.3.1.2 鯤鵬原生方案為了全面推進地理信息產業數字化的自主創新進程,打造高性能、可持續的解決方案,超圖軟件攜手鯤鵬針對SuperMap GIS 系列內五款核心產品進行了原生開發改造和優化:超圖服務器 GIS 軟件平臺 SuperMap
193、 iServer;超圖 GIS 門戶軟件平臺 SuperMap iPortal;超圖 GIS 邊緣軟件平臺 SuperMap iEdge;超圖組件式地理信息開發平臺(Spark 版)SuperMap iObjects for Spark;禹貢空間數據庫管理系統 SuperMap YukonDB。超圖軟件在自有 CI/CD 流水線中接入了鯤鵬 DevKit 代碼兼容性檢查門禁,編譯器從 openJDK 替換為畢昇 JDK,此外還接入鯤鵬性能分析插件、鯤鵬測試框架等,改造后的流水線可以持續發布鯤鵬版本,不需要手動驗證,可以在 CI 上自動運行檢查、發布程序安裝包,將 SuperMap GIS 在穩
194、定性、兼容性等方面提升到了新的高度,同時還能更加便捷的對應用程序進行性能優化,更好地滿足用戶在復雜場景下的應用需求。4.3.1超圖軟件 基于鯤鵬原生開發地理信息系統,讓自然資源評估更高效4.3政府鯤鵬原生開發技術白皮書/92鯤鵬原生開發行業案例圖 4-11 遷移掃描門禁檢查報告此外,在調優過程中開發人員還充分運用了鯤鵬DevKit性能分析工具對熱點函數、軟硬件配置參數等進行分析優化,運用 BoostKit 加速算法,包括 KAE 加速、NUMA 調度優化、加速指令優化等對數據庫進行調優?;邛H鵬原生開發的 SuperMap GIS 能夠更好的應對海量數據和復雜空間數據處理和分析的挑戰,尤其是在
195、面向資源調查、確權登記、規劃等應用領域中,用戶可以更快地進行數據處理、分析和決策,降低投入時間,在實時或近時分析場景上,軟件效率的提升可以確保用戶及時獲取結果,用戶體驗更佳。目前 SuperMap GIS V11(鯤鵬原生版本)已經在水利行業商用落地,實現水利空間業務數據管理、水利一張圖系統高性能、穩定運行;禹貢空間數據庫(鯤鵬原生版本)也已在自然資源行業商用落地,實現億級數據秒級檢索和十億級圖斑的實時統計分析。4.3.1.3 業務價值 原生高效率:基于鯤鵬原生開發改造后的流水線進行 SuperMap GIS 新版本迭代,整體開發效率提升 25%。原生高性能:以禹貢空間數據庫管理系統Yukon
196、DB 為例,經過 GCC for openEuler編譯優化,整體性能提升 30%+;其中,通過 DevKit 對硬件層面的 BIOS 設置優化,在 OLAP 場景 32 線程并發下,常用TOP3 GIS 空間分析功能(合并 union、交 集 intersection、差 集 different)TPS性能均有 20%以上的提升。圖 4-12 YukonDB 常用 TOP3 GIS 空間分析功能性能優化對比unionintersectiondifferent三種空間分析算法性能對比(TPS)優化前優化后14777.6212696.4818080.8113692.5415451.0816536
197、.9693/鯤鵬原生開發技術白皮書鯤鵬原生開發行業案例地震監測預警事業與國家經濟發展、社會穩定和國民的生命財產安全息息相關,自國家地震烈度速報與預警工程建設項目開展以來,已建設一萬五千多個地震監測臺站,可在震后 5-10 秒產出地震預警信息,而實時匯集傳輸和存儲管理這些臺站全天候產出的海量監測數據成為地震臺網的一項重要工作。4.3.2.1 業務背景深圳防災減災技術研究院聚焦預警工程定制軟件研發,致力于達到實時傳輸匯集、存儲處理近兩萬個地震臺站的海量實時數據,以及在震后幾秒內測定地震參數并向社會發布地震預警信息的目標。4.3.2.2 鯤鵬原生方案為了更好的支撐地震傳輸流服務和地震波形數據管理業務
198、,深圳防災減災技術研究院攜手鯤鵬原生開發地震數據傳輸流服務軟件 SeisWave-SSS 和地震波形數據存儲歸檔管理軟件 SeisWave-AWS:在現有 CICD 流程中增加本次地震業務軟件的鯤鵬構建流程,實現從開發-構建-測試-發布-運行的全流程優化。圖 4-13 SeisWave-SSS 和 SeisWave-AWS 鯤鵬原生架構圖4.3.2深圳防災減災技術研究院 鯤鵬原生助力地震觀測數據高效處理鯤鵬DevKit畢昇 JDK遷移掃描性能調優各類客戶端進行數據上傳客戶端地震數據傳輸流服務地震波形數據存儲歸檔管理業務系統BoostKit KAE 加速(可選)鯤鵬硬件Kylin/uos軟硬件系
199、統VastbasewildflyCassandraNginxMySQL業務系統鯤鵬原生開發技術白皮書/94鯤鵬原生開發行業案例開發人員基于鯤鵬服務器以及麒麟操作系統(openEuler 系),搭建了持續集成節點;在構建流程中融入了鯤鵬DevKit 流水線技術棧,包括流水線門禁、畢昇編譯器、鯤鵬測試框架、性能分析插件、版本漏洞掃描插件等能力,確保構建產物與鯤鵬架構的適配性,全面優化在鯤鵬架構上的開發及運行效率,還能進一步提升版本的性能、測試效率和質量。圖 4-14 改造后的流水線流水線優化改造后,開發人員只需開發一套代碼,有建構差異的代碼會使用宏進行定義隔離,在門禁階段可快速檢查代碼的兼容性和親
200、和性,并構建不同平臺版本,提升開發質量的同時保證代碼質量。4.3.2.3 業務價值 原生高效率:基于改造后的 Jenkins 流水線,開發人員只需提交開發好的代碼,流水線會自動進行門禁檢查、編譯構建、部署測試等工作,無需人工干預,大大節省了人力成本。經對比分析,開發效率提升了 50%以上。原生高性能:在編譯構建階段,流水線中會無無感切換為畢昇 JDK,該編譯器針對鯤鵬架構進行了多維度優化提升,基于 AppCDS 特性、快速序列化、NUMA-Aware 特性等特性,將進一步提升應用的運行效率。經測試,以傳輸時延持平為前提條件,鯤鵬服務器使用的 CPU 資源更少,理論上能夠提升 10%的吞吐率。目
201、前,SeisWave-SSS 和 SeisWave-AWS 已經在我國地震預警臺網廣泛應用,支撐我國地震預警網海量實時觀測數據的匯集傳輸和存儲管理,實現了基于鯤鵬+openEuler 系操作系統的自主創新改造和長期穩定運行,保障了我國地震觀測數據的安全。除了應用于地震預警監測之外,軟件還可以用于流動地震科學觀測、水庫地震安全監測、地震應急監測、石油勘探地球物理監測、建筑物振動監測、鐵路振動監測、橋梁振動監測、核爆及爆破監測等領域,有著廣泛的商業應用價值。95/鯤鵬原生開發技術白皮書鯤鵬原生開發行業案例廣州海頤軟件有限公司(簡稱“廣州海頤”)是一家面向全國提供企業及政府信息化解決方案與服務的公司
202、,通過打造全鏈條電力能源數字化解決方案,幫助行業實現業務流程化、管理精益化、運營可視化,助力國家能源轉型與數字經濟發展。4.4.1.1 業務背景5G、大數據、工業互聯網等技術與能源電力產業的加速融合,產生了大量數據要素,如何利用好這些數據為為政府、能源大企業、中小企業、用戶等打造信息互通、價值共享的平臺生態,并通過數字化創新手段來提升運營效率、降低能耗排放、優化資源配置、實現與綠色化市場的融合發展,成為能源電力企業數字化轉型進程中的迫切需求。4.4.1.2 鯤鵬原生方案為了打造高性能、高可靠電力系統軟件,加速電網數字化轉型,廣州海頤首選 5 款核心產品基于鯤鵬原生開發:購電全鏈路監控 V1.0
203、.2、綠色用能應用 V1.0.1、供電服務進社區 V1.2.1、營銷用電地址管理 V1.2.2。這些軟件聚焦完善、整合、管理政府、企業和社區范圍內的能源電力數據,更加精準地了解并滿足客戶需求,助力企業新業務精準推廣,實現電力設備管理可視化、用戶數據處理綠色化、政企服務流程規范化,激發行業應用與社會治理協同發展。4.4電力4.4.1廣州海頤 基于鯤鵬原生開發高性能、高可靠電力系統軟件,加速電網數字化轉型鯤鵬原生開發技術白皮書/96鯤鵬原生開發行業案例在原生開發過程中,海頤在自有 Jenkins 開發流水線中融入鯤鵬 DevKit 技術棧,包括源碼掃描門禁、畢昇 JDK、Java 性能分析、兼容性
204、測試等能力,確保構建產物與鯤鵬架構的兼容適配性,提升版本的性能、測試效率和質量。同時,基于鯤鵬硬件以及 openEuler 操作系統,搭建了持續集成節點,全面優化軟件在鯤鵬架構上的運行效率。圖 4-15 改造后的廣州海頤開發流水線4.4.1.3 業務價值5 款軟件基于改造后的流水線迭代新版本,兼容性、性能、開發效率等都得到優化提升:原生高效率:開發流水線進行軟件開發和優化,實現一套代碼多平臺產品發布能力,開發調試效率 25%以上的提升;原生高性能:通過 DevKit Java 性能分析功能對軟件運行性能進行采集和分析,以及操作系統參數調優等手段,應用在壓力負載下,軟件的接口容量和時延均有顯著提
205、升,其中接口時延平均縮短 40.2%;圖 4-16 5 款軟件原生開發改造后性能對比這些指標的提升,讓廣州海頤能更加快捷、精準的制定電力營銷策略,進一步優化電力資源配置,提升用電報裝效率、居民響應速度、電力營業廳運營管理效率等,讓企業服務流程更完善,居民供電服務更滿意。營銷用電地址管理供電服務進社區購電全鏈路監控營業廳服務一體化后臺管理系統綠色用能應用每分鐘接口的收發量(個)HTTP 請求時延(ms)HTTP 請求時延(ms)HTTP 請求時延(ms)檢索時延(ms)X86鯤鵬308132250143.8129.79273.95248.08845.97122.458.463.68提升 947%
206、縮短 9.7%縮短 9.4%縮短 85.5%縮短 56.5%97/鯤鵬原生開發技術白皮書鯤鵬原生開發行業案例國能信控技術股份有限公司(以下簡稱“國能信控”)深耕于新能源工控安全智能化建設領域,業務覆蓋新能源工控及配套系統、智慧能源綜合解決方案兩大板塊。新能源計算平臺作為國能信控的核心產品,承擔區域新能源指標計算業務,并為生產智能監控系統和報表系統提供數據支撐,實現新能源發電產業的數字化轉型和智能化升級。4.4.2.1 業務背景隨著能源行業向數智化、低碳化發展,其產業結構、技術體系架構和行業標準規范等發生深刻變革,加快構建清潔低碳、安全充裕、經濟高效、供需協同、靈活智能和自主創新的新型電力系統成
207、為能源行業轉型的當務之急。在物聯網、5G 通信、人工智能等新技術的大規模應用的背景下,新能源實時計算平臺正面臨著多重挑戰:海量數據處理:在線處理的實時數據正呈現出海量化、高頻化、異構化的特點,計算平臺的大數據處理能力,直接影響系統的業務容量和業務支撐范圍;高實時性計算:部分新能源業務場景下,要求數據計算任務的執行周期達到毫秒級,這項能力對于實現系統狀態實時監控以及高頻低延時下控功能起到關鍵作用;穩定運行:新能源發電具有間歇性、不穩定性等特點,部署場景也具有多樣性,給電力系統的安全穩定運行帶來更高要求。4.4.2.2 鯤鵬原生方案為應對上述挑戰,打造安全高效的指標計算業務核心產品,國能信控攜手鯤
208、鵬開啟新能源計算平臺的原生開發創新實踐。對自有流水線進行了優化改造:在開發-構建-測試-發布-運行的全流程中接入鯤鵬 DevKit 流水線門禁系統、畢昇編譯器、系統調優、測試框架等工具等能力,提升代碼質量和開發效率;并以鯤鵬服務器以及openEuler 操作系統為基礎,搭建了持續集成的環境,確保軟件高性能運行。圖 4-17 新能源計算平臺基于鯤鵬的原生開發框架4.4.2國能信控 基于鯤鵬原生開發新能源計算平臺,為電力系統提供高效算力支撐鯤鵬 DevKit計算 配置計算引擎鯤鵬平臺基礎管理鯤鵬服務器實時歷史數據庫關系型數據庫算子管理高性能計算引擎任務隊列管理線程池定時器關系型數據庫openEul
209、er 22.03 LTS設備管理GCC for openEuler/畢昇編譯器設備建模測點管理對點管理鯤鵬原生開發技術白皮書/98鯤鵬原生開發行業案例基于改造后的流水線,開發人員對新能源計算平臺 V2.0 進行新版本迭代:代碼開發階段,使用鯤鵬 DevKit IDE 插件提供的場景化 SDK 提升了編程的自動化、智能化水平,提高了研發效率;門禁檢查階段,流水線中的鯤鵬 DevKit 門禁檢查系統對存量代碼進行全面掃描,并根據提示信息進行修改和優化,有架構差異的代碼使用宏定義隔離,不僅減輕了開發人員的工作負擔,也讓代碼更加規范,執行更加高效;編譯階段,鯤鵬原生開發平臺支持從開源 GCC 到畢昇編
210、譯器的平滑切換,對 C+代碼進行編譯優化;調優階段,DevKit 提供的系統性能分析工具對軟件運行性能進行采集和分析,通過進線程分析,熱點函數分析,微架構分析,IO 分析,鎖與等待分析,內存診斷等瓶頸問題,實現整體性能的提升。4.4.2.3 業務價值 原生高效率:新能源計算平臺版本 V2.0 的開發效率對比原平臺提升了 10%以上。原生高性能:以高效計算引擎為例:使用原版本進行某項多線程計算任務時,平均耗時為 8.9006ms,而采用基于鯤鵬原生開發平臺開發且使用畢昇編譯器生成的版本,執行相同任務的平均耗時為 6.3521ms,平均耗時縮短近 30%。圖 4-18 高效計算引擎多線程計算任務平
211、均耗時對比目前,新能源計算平臺版本 V2.0 已獲得鯤鵬原生開發認證,并在多個新能源區域集控項目和新能源智慧場站項目中部署并使用,為生產監控平臺、報表系統等提供算力支撐。國能信控積極響應國家政策戰略導向及能源集團自主創新的號召,后續更會逐步安排其他相關產品在鯤鵬原生開發平臺上進行測試與應用,將鯤鵬平臺的優秀實踐推廣到更大的業務范圍和更多的應用場景中,全面推進新能源計算平臺的自主創新建設。多線程計算任務平均耗時原開發流程8.9006ms6.3521ms時間縮短29%鯤鵬原生開發99/鯤鵬原生開發技術白皮書鯤鵬原生開發行業案例衛寧健康科技集團股份有限公司(簡稱:衛寧健康)專注于醫療健康和衛生領域的
212、整體數字化解決方案與服務,業務覆蓋臨床診療、醫院管理、健康服務、醫學科研、公共衛生、互聯網醫療等,是國內領先的醫療健康信息化企業之一。4.5.1.1 業務背景醫療健康是公共服務領域的重要行業,關乎國計民生。隨著醫療衛生信息化的快速發展,醫院管理、醫療服務、診療方式與過程正發生著深刻變革,加快實現智慧醫療、醫療信息安全建設刻不容緩。4.5.1.2 鯤鵬原生方案衛寧健康攜手鯤鵬共同推進醫療核心應用的自主創新轉型建設,首批選擇新一代產品 WiNEX 中五個醫療核心系統:醫院業務管理、門診醫生站、住院醫生站、護士工作站、住院病歷管理軟件,基于鯤鵬原生應用開發進行技術改造。在衛寧健康自有 DevOps
213、平臺中,增加本次醫療核心應用的鯤鵬構建流程,基于鯤鵬服務器以及 openEuler 操作系統,搭建了持續集成節點。在構建流程中接入鯤鵬 Devkit 流水線門禁,通過該門禁進行應用親和性掃描以及代碼遷移掃描,確保構建產物與鯤鵬架構的適配性,全面優化在鯤鵬架構上的開發及運行效率。4.5.1衛寧健康 基于鯤鵬原生開發新一代醫療信息系統 WiNEX,讓醫療服務更便利4.5醫療鯤鵬原生開發技術白皮書/100鯤鵬原生開發行業案例圖 4-19 WiNEX 基于鯤鵬原生應用開發框架應用開發階段,使用鯤鵬 DevKit IDE 提供的場景化 SDK 和啟發式編程,提升了研發人員在初始化、開發及部署方面快速完成
214、需求的能力;在構建原生應用時,自動將任務調度至鯤鵬服務器節點,使用畢昇 JDK 進行程序構建;編譯完成后,調用鯤鵬 DevKit 流水線門禁檢查組件,進行鯤鵬親和性檢查分析;同時,集成鯤鵬的兼容測試工具,對構建結果自動進行啟停測試、安全檢測、資源使用檢測等,確保對鯤鵬環境的兼容性。4.5.1.3 業務價值 原生高效率:經對比分析,基于改造后的流水線常規需求任務的開發平均用時從 3 人日縮短至 2 人日,效率提升約 30%。原生高性能:在編譯構建時將 OpenJDK 無感替換為性能更優的畢昇 JDK,選取患者建檔、門診掛號、診斷開立、西藥、草藥、檢驗、檢查等醫囑開立及簽署等場景,針對兩款編譯器開
215、展壓力測試,相同時間內,部分高并發場景的業務吞吐量提升 33%。圖 4-20 固定時間內不同場景的壓力測試對比 衛寧健康將持續深化醫療核心業務鯤鵬原生應用開發,通過建立更穩定、更安全的醫療信息技術軟硬件基礎,推動醫療全棧生態體系建設,從而真正實現醫院核心業務的性能提升,讓其不僅“能用”,更要“好用”。OpenJDK(完成數)BiShengJDK(完成數)10009008007006005004003002001000患者建檔門診掛號門診收費診斷開立日志檢索醫囑簽署鯤鵬DevKit軟硬件系統鯤鵬硬件openEuler 2023 LTS桌面客戶端各類 plugin 業務組件混合框架Chrome 內
216、核中間件數據庫openGauss緩存數據庫服務治理組件檢索引擎消息隊列任務調度業務系統水平擴容門診醫生站編譯運行于畢昇 JDK住院醫生站住院護士站住院病歷醫院業務管理SLBNginxVUE-html微服務網關負載均衡NginxVUE-html微服務網關負載均衡101/鯤鵬原生開發技術白皮書鯤鵬原生開發行業案例東華軟件股份公司(簡稱:東華軟件)作為國家級高新技術軟件企業,以“科技呵護健康、孿生助力成功”為使命,專注于構建城市智慧醫療操作系統(CMOS)與醫院綜合業務操作系統(HOS),為大健康產業提供完整和閉環、線上和線下相結合的軟硬件解決方案。4.5.2.1 業務背景隨著醫院管理、規模及業務的
217、快速發展與變革,業務與管理復雜度與日俱增,包括醫院績效管理、跨機構互聯互通,以及臨床業務全流程閉環管理等需求,傳統醫療 IT 系統的產品化建設及更新迭代模式顯得力不從心,具體表現為:新功能上線周期長、迭代更新速度慢;開發維護成本變高、部署效率降低;技術兼容性差、生態不完善、安全風險無法把控等問題。4.5.2.2 鯤鵬原生方案東華軟件聯合鯤鵬共同推進醫療核心應用的自主創新建設,首選醫院綜合業務操作系統(HOS)開展原生開發技術改造。醫院綜合業務操作系統(HOS)作為整個醫院信息化系統的入口和展現平臺,精準映射醫院全域業務流程,HOS門戶系統支持按崗位定制工作頁面,確保核心模塊統一而次要模塊個性化
218、,推動醫院管理向智能化、高效化邁進。東華軟件在原有 DevOps 平臺中融合鯤鵬原生開發技術,開發人員將代碼提交流水線后,可直接調用鯤鵬 DevKit門禁檢查、編譯、調優、測試、版本安全檢查等能力。其中,在編譯構建階段,將編譯器替換為畢昇 JDK;調優過程中,使用了鯤鵬 DevKit 提供的系統性能分析和 Java 性能分析工具,優化服務器系統參數、JVM 內存和垃圾回收等相關配置;版本發布時,使用增量/版本級編碼掃描能力,對編碼規范、漏洞進行掃描,進一步保障版本的質量。4.5.2東華軟件 構建鯤鵬原生醫療經營管理系統,讓醫院運作更有序鯤鵬原生開發技術白皮書/102鯤鵬原生開發行業案例圖 4-
219、21 東華軟件基于鯤鵬原生應用開發框架4.5.2.3 業務價值 原生高效率:改造后的流水線在在整體開發、交付效率上提升約 25%原生高性能:HOS 門戶系統的初期服務啟動耗時從 60s 縮短至 45s,整體時間縮短 25%;門診醫生站、住院醫生站、護士站等工作站加載時間降低約 25%;統一認證、數據同步、授權、日志檢索等模塊的每秒查詢率QPS 整體提升了 15%。圖 4-22 調優前后典型場景性能對比測試東華軟件的智慧醫療解決方案已在醫療信息化領域得到廣泛應用,滿足了醫療行業用戶對于業務敏捷性、資源效率、系統復雜性管理、運維自動化以及技術多樣性的迫切需求,實現了醫療信息系統的快速迭代、彈性伸縮
220、以及高效運維。未來,東華軟件的醫療核心業務均將基于鯤鵬原生開發,促進整個醫療行業的技術創新與數字化轉型,為患者提供更加高效、安全的醫療服務體驗。統一認證數據同步授權日志檢索QPS831956740851763877804924調優前調優后服務治理服務監控基礎設施數據存儲服務網關數據服務集成服務業務應用SkyWalking鏈路追蹤Gateway畢昇 JDKserver Aserver Bserver Cserver Dserver Eserver N鯤鵬 DevKitGateway文件服務緩存服務索引服務BI 服務數據庫服務.流程引擎消息服務規則引擎調度服務服務總線.GatewayopenGau
221、ss緩存服務文件存儲消息服務.鯤鵬硬件openEuler 系統Nacos服務注冊Security服務安全Nacos統一配置ELK日志可視化Sentinel服務熔斷Prometheus監控預警Ribbon負載均衡103/鯤鵬原生開發技術白皮書鯤鵬原生開發行業案例4.6.1星環科技 基于鯤鵬原生大數據基礎軟件,讓企業數據流轉更快捷4.6水平軟件星環信息科技(上海)股份有限公司(簡稱:星環科技)是領先的企業級大數據和人工智能基礎軟件供應商,圍繞數據的集成、存儲、治理、建模、分析、挖掘和流通等數據全生命周期提供基礎軟件與服務。4.6.1.1 業務背景數字化時代,隨著業務的快速發展,企業處理的不再是單一
222、模態的數據,而是包含文本、圖像、音頻、視頻等不同類型的非結構化數據、結構化數據、實時數據等,如何通過技術創新解決不同模態的數據處理、數據流轉效率提升、業務響應時間縮短等問題是企業亟需解決的問題。4.6.1.2 鯤鵬原生方案星環科技攜手鯤鵬對五款核心產品進行鯤鵬原生優化和改造:星環科技大數據基礎平臺 TDH 中的搜索引擎 Scope、關系型分析引擎 Inceptor、圖數據庫 StellarDB、寬表數據庫 Hyperbase,以及分布式分析型數據ArgoDB。在原有 CICD 平臺中,增加本次五款產品的鯤鵬構建流程,基于鯤鵬服務器以及 openEuler 操作系統,搭建了持續集成節點;并將鯤鵬
223、 DevKit 流水線技術棧(包括遷移掃描、親和分析、畢昇編譯器、鯤鵬測試框架、性能分析插件、版本漏洞掃描插件)融入自有的產品線管理、持續集成過程,形成新的構建集群,全面優化在鯤鵬架構上的開發及運行效率,進一步提升版本的性能、測試效率和質量。鯤鵬原生開發技術白皮書/104鯤鵬原生開發行業案例圖 4-23 星環大數據基礎平臺 TDH 原生開發架構圖經過一系列優化,星環科技五款產品綜合性能均得到明顯提升,能夠精準高效的處理企業結構化和非結構化數據的鏈上計算需求,讓企業數據處理更加便捷和高效。代碼開發階段,使用鯤鵬 DevKit 快速創建場景化工程;在流水線構建過程中直接調用鯤鵬 DevKit 門禁
224、檢查組件,對代碼的鯤鵬兼容性和鯤鵬架構親和性進行檢查和優化;在編譯構建階段,通過腳本的配置,無感知自動從開源GCC 切換至 GCC for openEuler;構建完成后,在流水線中自動完成鯤鵬版本的調優、測試和發布,發布時通過增量/版本級編碼掃描能力,對編碼規范、病毒進行掃描,進一步保障版本的質量。4.6.1.3 業務價值 原生高效率:經對比分析,基于改造后的流水線進行新版本開發,平均用時從 3 人日縮短至 2 人日,效率提升約 30%;原生高性能:通過替換開源 GCC 為 GCC for OpenEuler,以 ArgoDB 產品為例,產品代碼編譯構建效率提高了27%;通過 Java 性能
225、測試工具分析智能合約運行容器 JVM 中內存占用和 GC 回收等瓶頸問題,實現整體性能的提升 20%。圖 4-24 鯤鵬原生開發方案開發效率及性能優化對比Devkit 集成前Devkit 集成后開發效率提升30%優化前優化后應用性能提升20%搜索引擎ScopeAudit關系型分析引擎Inceptor分析型數據庫ArgoDBAquila InsightopenEuler 系操作系統鯤鵬硬件Transwarp Cloud Operating System 星環云原生操作系統星環分布式文件系統星環分布式數據管理系統Bisheng JDKGCc for openEulerGuardian圖數據庫 St
226、ellarDB寬表數據庫 HyperBaseManagerDevKit 自動化測試平臺系統性能分析工具Java性能分析工具親和掃描工具遷移掃描工具105/鯤鵬原生開發技術白皮書鯤鵬原生開發行業案例深信服科技股份有限公司(以下簡稱“深信服”)是一家專注于企業級網絡安全、云計算、IT 基礎設施與物聯網的產品和服務供應商,承載十萬多家行業用戶數字化轉型過程中的基石性工作,致力于讓每個用戶的數字化更簡單、更安全。4.6.2.1 業務背景數據存儲的對企業數字化轉型至關重要,隨著大數據、云計算、人工智能等技術的飛速發展,數據量激增、數據類型更加豐富,如何構建一個高性能、高可靠、易擴展的數據存儲底座,成為企
227、業數字化轉型過程中的關鍵課題。4.6.2.2 鯤鵬原生方案深信服首選核心產品企業級分布式存儲 EDS V5.0.3,基于鯤鵬服務器+openEuler 操作系統+鯤鵬 DevKit+鯤鵬 BoostKit 進行原生開發創新實踐。該產品是深信服的新一代軟件定義存儲解決方案,底層引入鯤鵬服務器、openEuler 操作系統和硬盤組建可橫向擴展的存儲資源池,在這個基礎之上提供塊存儲、文件存儲,包括對象存儲,通過替換畢昇編譯器、引入鯤鵬 BoostKit 加速算法進一步提升產品性能,從而更好的承載上層的虛擬化數據庫、云原生、AI、HPC 等行業應用。圖 4-25 分布式存儲 EDS 的鯤鵬原生架構圖4
228、.6.2深信服 聯合鯤鵬共同推進企業級分布式存儲 EDS 原生開發創新實踐,讓數據管理更可靠鯤鵬硬件openEuler 20.03 LTS基礎管理行業應用硬件及操作系統分布式存軟件AI/HPC畢昇編譯器Kudu(KAE)小文件合并多活 MDS文件存儲數據縮減快照/克隆塊存儲智能分層異步復制對象存儲多存儲池增量備份加速算法(KSAL)虛擬化數據庫云原生測繪建模醫療 PACS視頻編輯鯤鵬原生開發技術白皮書/106鯤鵬原生開發行業案例研發人員將鯤鵬執行節點加入到現有流水線中,通過流水線腳本控制使用 x86 節點和鯤鵬節點,進行兩個版本的應用構建,不影響現有流水線的工作內容;同時在鯤鵬執行節點中集成鯤
229、鵬DevKit代碼掃描門禁、親和性分析門禁,安裝鯤鵬高性能編譯器、鯤鵬測試框架等,改造后的流水線已經應用到了深信服日常版本開發過程中,實現一套代碼持續構建多架構版本,而且鯤鵬的軟件版本出包的時候就是最優狀態。圖 4-26 改造后的流水線為了全面優化產品性能,EDS 存儲團隊聯合生態使能團隊結合鯤鵬軟硬件開展全棧深度優化實踐。通過 DevKit 系統性能分析快速識別出熱點函數,并基于優化建議進行了修改;其次,使用鯤鵬 DevKit 對元數據訪問進行全景分析,識別全路徑 I/O 不同階段時延損耗;針對損耗高環節進行優化,使用鯤鵬 BoostKit 提供的 SPDK 加速算法實現 NVME SSD
230、的高效訪問,降低 IO 時延。4.6.2.3 業務價值原生高性能:經過上述一系列優化,深信服企業級分布式存儲 EDS 性能顯著提升,并發場景下小文件隨機讀寫性能提升 35%,大文件吞吐型業務性能提升 25%;圖 4-27 鯤鵬優化前后性能對比對數字化轉型時代下數據類型的日益豐富和數據量的爆發式增長,深信服將持續深化鯤鵬原生創新實踐,包括進一步優化流水線的原生開發能力、在算法特性層面對產品的深度優化、以及安全等新特性的增強等方面,打造更高效、更安全的數據存儲與管理解決方案,助力企業數字化轉型。原解決方案Kunpeng 調優后4K 文件隨機讀4K 文件隨機寫小文件并發讀寫(單位:OPS)13357
231、21068588014453429267150提升 33.57%提升 36.67%讀吞吐寫吞吐大文件吞吐(單位:GB/S)986420提升 25.00%提升 22.22%原 X86 流水線新增鯤鵬執行節點遷移掃描門禁親和分析工具代碼開發代碼掃描代碼掃描克隆代碼克隆代碼編譯構建編譯構建服務啟動服務啟動依賴安裝依賴安裝測試驗證測試驗證上傳代碼到 gitlbPlatOS(基于 openEuler)畢昇編譯器鯤鵬測試平臺107/鯤鵬原生開發技術白皮書鯤鵬原生開發行業案例鯤鵬原生大連同方軟銀科技江蘇耐思捷智慧信息服務江蘇運時數據軟件股份沈陽雅譯網絡技術沈陽天騏軟件技術沈陽金日盛軟件科技沈陽宏景世紀軟件廣
232、西壯族自治區氣象信息中心(廣西壯族自治區氣象檔案館)萬達信息R鯤鵬原生開發技術白皮書/108鯤鵬原生開發行業案例力算未來百川偉業(天津)建筑上海翊客灣科技新迎順信息技術股份重慶眾康云科技聯通(上海)產業互聯網沈陽昂立信息技術.易睿德(武漢)新能源技術中移(蘇州)軟件技術遼寧星之火軟件博瑞得思迪信息華為技術有限公司深圳龍崗區坂田華為基地電話:+86 755 28780808郵編:免責聲明本文檔可能含有預測信息,包括但不限于有關未來的財務、運營、產品系列、新技術等信息。由于實踐中存在很多不確定因素,可能導致實際結果與預測信息有很大的差別。因此,本文檔信息僅供參考,不構成任何要約或承諾,華為不對您在本文檔基礎上做出的任何行為承擔責任。華為可能不經通知修改上述信息,恕不另行通知。版權所有 華為技術有限公司 2024。保留一切權利。非經華為技術有限公司書面同意,任何單位和個人不得擅自摘抄、復制本手冊內容的部分或全部,并不得以任何形式傳播。商標聲明 ,是華為技術有限公司商標或者注冊商標,在本手冊中以及本手冊描述的產品中,出現的其它商標,產品名稱,服務名稱以及公司名稱,由其各自的所有人擁有。