2025年鯤鵬一碼多芯、同轅開(kāi)發(fā)技術(shù)白皮書_第1頁(yè)
2025年鯤鵬一碼多芯、同轅開(kāi)發(fā)技術(shù)白皮書_第2頁(yè)
2025年鯤鵬一碼多芯、同轅開(kāi)發(fā)技術(shù)白皮書_第3頁(yè)
2025年鯤鵬一碼多芯、同轅開(kāi)發(fā)技術(shù)白皮書_第4頁(yè)
2025年鯤鵬一碼多芯、同轅開(kāi)發(fā)技術(shù)白皮書_第5頁(yè)
已閱讀5頁(yè),還剩86頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

技術(shù)白皮書鯤鵬一碼多芯、同轅開(kāi)發(fā)的機(jī)遇和挑戰(zhàn)01鯤鵬一碼多芯、同轅開(kāi)發(fā)的核心技術(shù)理念03鯤鵬一碼多芯、同轅開(kāi)發(fā)能力介紹053.1代碼開(kāi)發(fā)階段063.1.1代碼開(kāi)發(fā)063.1.2代碼優(yōu)化383.1.3編譯403.1.4調(diào)試423.1.5調(diào)優(yōu)473.2流水線階段653.2.1門禁檢查653.2.2編譯構(gòu)建713.2.3調(diào)優(yōu)723.2.4測(cè)試733.2.5版本發(fā)布743.3OS底座(openEuler系操作系統(tǒng))753.3.1openEuler簡(jiǎn)介753.3.2openEuler基礎(chǔ)能力763.3.3openEuler工具和社區(qū)服務(wù)80修訂記錄84機(jī)遇和挑戰(zhàn)機(jī)遇和挑戰(zhàn)鯤鵬計(jì)算產(chǎn)業(yè)聚焦計(jì)算架構(gòu)創(chuàng)新和開(kāi)源基礎(chǔ)軟件的研發(fā),致力于推動(dòng)鯤鵬生態(tài)發(fā)展。通過(guò)戰(zhàn)略性、長(zhǎng)期性的研發(fā)投入,吸納全球計(jì)算產(chǎn)業(yè)的優(yōu)秀人才和先進(jìn)技術(shù),持續(xù)推進(jìn)全棧計(jì)算技術(shù)的創(chuàng)新發(fā)展,加快構(gòu)筑面向多樣化計(jì)算的全球開(kāi)源體系與產(chǎn)業(yè)標(biāo)目前,鯤鵬軟硬件聯(lián)合創(chuàng)新已覆蓋國(guó)計(jì)民生核心場(chǎng)景,主流伙伴核心應(yīng)用已遷移到鯤鵬,鯤鵬生態(tài)進(jìn)入快速發(fā)展期。當(dāng)前階段,鯤鵬和x86多平臺(tái)版本并行迭代成為主要需求,由于兩個(gè)架構(gòu)開(kāi)發(fā)生態(tài)的差異,如果采用兩套流水線分別開(kāi)發(fā)兩套代碼,則會(huì)帶來(lái)很多重復(fù)開(kāi)發(fā)驗(yàn)證的工作,并且兩個(gè)版本分別開(kāi)發(fā)、構(gòu)建和維護(hù)效率低。因此,鯤鵬創(chuàng)新性的提出鯤鵬原生開(kāi)發(fā):基于鯤鵬硬件+openEuler+鯤鵬DevKit+鯤鵬BoostKit,實(shí)現(xiàn)1套代碼+1條流水線+多平鯤鵬碼多芯、同轅開(kāi)發(fā)的核心技術(shù)理念鯤鵬碼多芯、同轅開(kāi)發(fā)的核心技術(shù)理念核心技術(shù)理念核心技術(shù)理念鯤鵬碼多芯、同轅開(kāi)發(fā)技術(shù)白皮書鯤鵬同轅開(kāi)發(fā)的核心技術(shù)理念:鯤鵬同轅開(kāi)發(fā)的核心技術(shù)理念:基于鯤鵬硬件+openEuler+鯤鵬開(kāi)發(fā)套件DevKit+鯤鵬應(yīng)用使能套件BoostKit,實(shí)現(xiàn)1套代碼+1條流水線構(gòu)建多平臺(tái)版本,效率更高、性能更優(yōu)。鯤鵬同轅開(kāi)發(fā)包含代碼開(kāi)發(fā)階段和流水線階段:圖2-1核心技術(shù)理念代碼優(yōu)化代碼開(kāi)發(fā)代碼優(yōu)化代碼開(kāi)發(fā)?場(chǎng)景化SDK?畢昇編譯器?系統(tǒng)性能分析?啟發(fā)式編程?畢昇JDK?Java性能分析?BoostKit應(yīng)用使能?GCCforopenEuler?系統(tǒng)診斷?GCCforopenEulerCFGO/LTO/自動(dòng)向量化/指令流水優(yōu)化,性能10%↑?GCCforopenEulerCFGO/LTO/自動(dòng)向量化/指令流水優(yōu)化,性能10%↑鯤鵬版本編譯構(gòu)建鯤鵬平臺(tái)調(diào)優(yōu)鯤鵬平臺(tái)測(cè)試鯤鵬版本發(fā)布效率20%效率20%↑效率5%↑性能5%~10%↑性能5%↑鯤鵬流水線搭建及版本發(fā)布效率?!扶H鵬親和&極致性能:鯤鵬流水線使能鯤鵬親和分析工具、編譯器、性能工具等,實(shí)現(xiàn)應(yīng)用性能提升?!范嗉軜?gòu)兼容:1套流水線同時(shí)支持多樣性算力版本構(gòu)建及測(cè)試。同轅開(kāi)發(fā):轅是古代馬車前面控制方向的直木,代表著應(yīng)用軟件開(kāi)發(fā)的方向,是為了滿足客戶對(duì)產(chǎn)品和解決方案的需求,支撐客戶業(yè)務(wù)的競(jìng)爭(zhēng)力和創(chuàng)新;同時(shí)也代表著應(yīng)用開(kāi)發(fā)流水線,支撐軟件版本持續(xù)發(fā)布;當(dāng)單獨(dú)使用“同轅開(kāi)發(fā)”時(shí),還同“源”,代表同一套源碼構(gòu)建多平臺(tái)版本。鯤鵬一碼多芯、同轅開(kāi)發(fā)技術(shù)白皮書/04能力介紹能力介紹05/鯤鵬一碼多芯、同轅開(kāi)發(fā)技術(shù)白皮書鯤鵬一碼多芯、同轅開(kāi)發(fā)技術(shù)白皮書/06代碼開(kāi)發(fā)介紹鯤鵬原生開(kāi)發(fā)在代碼開(kāi)發(fā)階段提供了DevKit應(yīng)用開(kāi)發(fā)工具和BoostKit應(yīng)用使能套件,可通過(guò)啟發(fā)式編程及多場(chǎng)景圖3-1代碼開(kāi)發(fā)階段 通過(guò)鯤鵬DevKit/BoostKit開(kāi)發(fā)代碼:充分應(yīng)用鯤鵬架構(gòu)優(yōu)勢(shì),性能更優(yōu) 代碼開(kāi)發(fā)代碼優(yōu)化編譯調(diào)試調(diào)優(yōu)?鯤鵬親和分析?GCCforopenEuler?鯤鵬調(diào)試器??Java性能分析?BoostKit應(yīng)用使能應(yīng)用開(kāi)發(fā)工具高亮、聯(lián)想字典中可以替換的庫(kù)和函數(shù)。支持以下功能:》鯤鵬應(yīng)用工程:只需要在創(chuàng)建鯤鵬應(yīng)用工程頁(yè)面進(jìn)行簡(jiǎn)單的輸入和選擇,便可以實(shí)現(xiàn)自動(dòng)化構(gòu)建鯤鵬應(yīng)用工程,》字典管理:支持加速庫(kù)函數(shù)字典管理,可線上(自動(dòng))和線下更新?!肪幊梯o助:支持鯤鵬加速庫(kù)函數(shù)的懸浮提示、函數(shù)搜索,支持Coding時(shí)自動(dòng)聯(lián)想和高亮鯤鵬加速庫(kù)優(yōu)化后的應(yīng)用開(kāi)發(fā)工具,詳細(xì)介紹與最新內(nèi)容請(qǐng)參見(jiàn)鯤鵬社區(qū)→鯤鵬開(kāi)發(fā)套件DevKit→開(kāi)發(fā),詳情可掃描下方二維碼。07/鯤鵬一碼多芯、同轅開(kāi)發(fā)技術(shù)白皮書鯤鵬應(yīng)用工程提供場(chǎng)景化的鯤鵬應(yīng)用工程模板,快速輔助工程環(huán)境構(gòu)建、配置檢查、依賴下載、構(gòu)建文件生成等。步驟1創(chuàng)建鯤鵬應(yīng)用工程(通用計(jì)算應(yīng)用工程,界面截圖以VSCode環(huán)境為例)。圖3-2創(chuàng)建工程圖3-3部署SDK鯤鵬一碼多芯、同轅開(kāi)發(fā)技術(shù)白皮書/08步驟3工程創(chuàng)建成功后,展示結(jié)果。圖3-4工程創(chuàng)建成功步驟4單擊“打開(kāi)工程”,查看工程樣例代碼。圖3-5查看樣例代碼----結(jié)束09/鯤鵬一碼多芯、同轅開(kāi)發(fā)技術(shù)白皮書字典管理支持加速庫(kù)函數(shù)字典管理,可線上(自動(dòng))和線下更新。步驟1當(dāng)用戶實(shí)際網(wǎng)絡(luò)環(huán)境無(wú)法連接外網(wǎng)時(shí),可上傳本地字典文件。鼠標(biāo)移動(dòng)到“字典導(dǎo)入”旁的?,單擊“下載”下載字典文件并在本地字典文件框內(nèi)上傳。圖3-6上傳本地字典文件步驟2開(kāi)啟加速庫(kù)提示,開(kāi)啟后,用戶編碼過(guò)程中將會(huì)自動(dòng)聯(lián)想、補(bǔ)齊與字典中匹配的庫(kù)和函數(shù),方便用戶下載圖3-7開(kāi)啟加速庫(kù)提示步驟3開(kāi)啟編譯選項(xiàng)智能聯(lián)想,開(kāi)啟后,工具將會(huì)根據(jù)用戶選擇的編譯器版本進(jìn)行智能聯(lián)想,可在編譯器版本下拉列表中選擇合適的編譯器版本。圖3-8開(kāi)啟編譯選項(xiàng)智能聯(lián)想鯤鵬一碼多芯、同轅開(kāi)發(fā)技術(shù)白皮書/10步驟4設(shè)置跳過(guò)證書驗(yàn)證的網(wǎng)站,設(shè)置后的網(wǎng)站無(wú)需進(jìn)行證書驗(yàn)證。單擊“添加網(wǎng)站”,在彈框中輸入網(wǎng)站地址。圖3-9添加網(wǎng)站圖3-10輸入網(wǎng)站地址----結(jié)束編程輔助支持鯤鵬加速庫(kù)函數(shù)的懸浮提示、函數(shù)搜索,支持編碼時(shí)智能聯(lián)想和高亮鯤鵬加速庫(kù)優(yōu)化后的相關(guān)函數(shù)。步驟1在代碼編輯區(qū)輸入代碼,工具會(huì)根據(jù)輸入的內(nèi)容自動(dòng)聯(lián)想函數(shù)或補(bǔ)全代碼。圖3-11自動(dòng)聯(lián)想函數(shù)11/鯤鵬一碼多芯、同轅開(kāi)發(fā)技術(shù)白皮書步驟2通過(guò)代碼編輯區(qū)右上角的(放大鏡),在搜索框輸入關(guān)鍵字,可實(shí)現(xiàn)函數(shù)搜索。圖3-12函數(shù)搜索----結(jié)束鯤鵬BoostKit應(yīng)用使能套件1)鯤鵬BoostKit應(yīng)用使能套件簡(jiǎn)介鯤鵬BoostKit應(yīng)用使能套件,基于鯤鵬硬件、基礎(chǔ)軟件和應(yīng)用軟件的全棧優(yōu)化,提供高性能開(kāi)源組件、基礎(chǔ)加速軟件包和應(yīng)用加速軟件包,使能應(yīng)用極致性能,其針對(duì)大數(shù)據(jù)、分布式存儲(chǔ)、數(shù)據(jù)庫(kù)、虛擬化和ARM原生等場(chǎng)景進(jìn)行了深度優(yōu)化鯤鵬架構(gòu)特性,如內(nèi)存管理、計(jì)算調(diào)度等方面的技術(shù)優(yōu)勢(shì),通過(guò)預(yù)置的高性能庫(kù)和框架,賦能開(kāi)發(fā)者輕松構(gòu)建適應(yīng)鯤鵬架構(gòu)的高性能應(yīng)用。在同一個(gè)構(gòu)建流程中,當(dāng)集成BoostKit后,基于鯤鵬架構(gòu)的目標(biāo)軟件包能夠獲益較大的性能提升。鯤鵬一碼多芯、同轅開(kāi)發(fā)技術(shù)白皮書/12圖3-13鯤鵬BoostKit應(yīng)用使能套件簡(jiǎn)介鯤鵬應(yīng)用使能套件鯤鵬應(yīng)用使能套件BoostKit,極致性能,使能鯤鵬“好用”BoostKitBoostKit:加速軟件包+高性能開(kāi)源組件+參考實(shí)現(xiàn)場(chǎng)景化應(yīng)用應(yīng)用加速軟件包參考實(shí)現(xiàn)BoostKitBoostKit:加速軟件包+高性能開(kāi)源組件+參考實(shí)現(xiàn)場(chǎng)景化應(yīng)用應(yīng)用加速軟件包參考實(shí)現(xiàn)全棧優(yōu)化基礎(chǔ)加速軟件包高性能開(kāi)源組件基礎(chǔ)軟件鯤鵬硬件八大場(chǎng)景軟硬協(xié)同優(yōu)化,使能鯤鵬好用nlnl分布式存儲(chǔ)數(shù)據(jù)庫(kù)虛擬化ARM原生機(jī)密計(jì)算Web/CDNHPC大數(shù)據(jù)數(shù)據(jù)親和:數(shù)據(jù)全處理流程負(fù)載優(yōu)化oov√√就近計(jì)算算法加速并行化處理全生命周期安全大數(shù)據(jù)分布式存儲(chǔ)數(shù)據(jù)庫(kù)機(jī)密計(jì)算算法加速庫(kù)智能預(yù)取可插拔TrustZone套件OmniRuntime特性在線向量化分析引擎SQL執(zhí)行效率30%↑IOPS性能1.5x↑TPCH查詢性能4X↑11大類40+算法性能最高20x↑壓縮率25%↑性能最高8x↑獲取最新的鯤鵬BoostKit應(yīng)用使能套件和詳細(xì)的用戶指南,請(qǐng)參見(jiàn)鯤鵬應(yīng)用使能套件BoostKit,詳情可掃描下方13/鯤鵬一碼多芯、同轅開(kāi)發(fā)技術(shù)白皮書2)鯤鵬BoostKit應(yīng)用加速鯤鵬BoostKit提供性能倍增的應(yīng)用加速軟件包,使能數(shù)據(jù)處理極致性能、數(shù)據(jù)訪問(wèn)極致高效和云手機(jī)極致體驗(yàn)。鯤鵬BoostKit應(yīng)用加速軟件包,詳細(xì)介紹與最新內(nèi)容請(qǐng)參見(jiàn)鯤鵬應(yīng)用使能套件BoostKit→應(yīng)用加速軟件包,詳情可掃描右方二維碼。圖3-14鯤鵬BoostKit場(chǎng)景化基礎(chǔ)加速能力介紹場(chǎng)景化基礎(chǔ)加速特性場(chǎng)景化基礎(chǔ)加速特性BoostKit場(chǎng)景化基礎(chǔ)加速特性全景圖大數(shù)據(jù)分布式存儲(chǔ)分布式存儲(chǔ)壓縮算法存儲(chǔ)算法加速庫(kù)存儲(chǔ)維護(hù)工具庫(kù)KAE使能SPDK數(shù)據(jù)庫(kù)大數(shù)據(jù)分布式存儲(chǔ)分布式存儲(chǔ)壓縮算法存儲(chǔ)算法加速庫(kù)存儲(chǔ)維護(hù)工具庫(kù)KAE使能SPDK數(shù)據(jù)庫(kù)NVMeSSD原子寫Gazelle網(wǎng)絡(luò)優(yōu)化鯤鵬GCCCFGO反饋優(yōu)化KAEzip壓縮解壓縮優(yōu)化ARM原生Web/CDNHPCExaGearAArch32指令翻譯軟件KAERSA加解密HPCKitopenEuler和畢昇JDK性能優(yōu)化虛擬化OVS流表歸一化OVS流表網(wǎng)卡加速高性能云盤優(yōu)化虛擬化DPU卸載虛擬化調(diào)度優(yōu)化vKAE熱插拔MPAM插件K8sNUMA親和性調(diào)度插件圖3-15鯤鵬BoostKit場(chǎng)景化應(yīng)用加速能力介紹BoostKitBoostKit應(yīng)用加速:提供性能倍增的應(yīng)用加速能力BoostKitBoostKit應(yīng)用加速組件全景圖數(shù)據(jù)庫(kù)虛擬化分布式存儲(chǔ)HPCARM數(shù)據(jù)庫(kù)虛擬化分布式存儲(chǔ)HPCARM原生大數(shù)據(jù)MySQL可插拔在線向量化分析引擎Kbox云手機(jī)容器多瑙調(diào)度器負(fù)載感知加速系統(tǒng)MySQL可插拔在線向量化分析引擎Kbox云手機(jī)容器多瑙調(diào)度器負(fù)載感知加速系統(tǒng)ECTurbo智能寫CacheOmniRuntime視頻流引擎CRC32視頻流引擎CRC32指令優(yōu)化多瑙Portal圖分析算法IO直通MySQLNUMAIO直通MySQLNUMA調(diào)度優(yōu)化指令流引擎機(jī)器學(xué)習(xí)算法MySQLMySQL可插拔線程池?cái)?shù)據(jù)壓緊MySQLMySQL并行查詢優(yōu)化元數(shù)據(jù)加速M(fèi)ySQLMySQL細(xì)粒度鎖優(yōu)化Ucache智能讀緩存MySQLMySQL無(wú)鎖優(yōu)化BoostIORDMARDMA網(wǎng)絡(luò)加速鯤鵬一碼多芯、同轅開(kāi)發(fā)技術(shù)白皮書/14鯤鵬BoostKitARM原生利用ARM指令集同構(gòu)優(yōu)勢(shì),支持移動(dòng)應(yīng)用無(wú)損上云,同時(shí)將多年技術(shù)積累濃縮到Kbox云手機(jī)容器、指令流引擎、視頻流引擎核心能力等組件,形成了云手機(jī)Turbo套件,降低了開(kāi)發(fā)難度,提升整機(jī)的密度,降低云手機(jī)單路成本,其中HostOS支持Ubuntu和openEuler,GuestOS支持android-9.0.0_r55和android-11.0.0_r48,用戶可以基于云手機(jī)Turbo套件進(jìn)行二次開(kāi)發(fā),從而實(shí)現(xiàn)云手機(jī)極致的圖3-16鯤鵬BoostKitARM原生云手機(jī)整體架構(gòu)云游戲云游戲/云手機(jī)APK端云協(xié)同引擎端云協(xié)同引擎(手機(jī)端SDK)云手機(jī)Turbo套件視頻流引擎云手機(jī)Turbo云手機(jī)Turbo套件視頻流引擎云手機(jī)管理系統(tǒng)云手機(jī)管理系統(tǒng)端云協(xié)同引擎端云協(xié)同引擎(服務(wù)端SDK)云手機(jī)Turbo套件視頻流引擎云手機(jī)Turbo云手機(jī)Turbo套件視頻流引擎基礎(chǔ)云手機(jī)GuestOS虛擬化GuestOS虛擬化ExaGearHostOS云手機(jī)Turbo套件KboxExaGearAArch32指令翻譯軟件Ubuntu/openEuler鯤鵬服務(wù)器GPUGPU編碼卡硬件平臺(tái)華為交付開(kāi)源&第三方客戶&ISV開(kāi)發(fā)ExaGearAArch32指令翻譯軟件ExaGearAArch32指令翻譯軟件為鯤鵬服務(wù)器提供AArch32特性,基于鯤鵬服務(wù)器在ARM原生場(chǎng)景下能夠完全Kbox云手機(jī)容器Kbox云手機(jī)容器提供了軟件定義手機(jī)的基礎(chǔ)能力,其基于鯤鵬服務(wù)器,在Docker容器技術(shù)和Android開(kāi)源項(xiàng)目(AOSP)基礎(chǔ)上,實(shí)現(xiàn)了將GPU設(shè)備直通到容器的輕量級(jí)設(shè)備仿真層架構(gòu)方案,提供了基于Android系統(tǒng)的云云手機(jī)并發(fā)密度取決于客戶云手機(jī)實(shí)際應(yīng)用),具有高密度、高兼容性等商業(yè)價(jià)值。15/鯤鵬一碼多芯、同轅開(kāi)發(fā)技術(shù)白皮書視頻流引擎渲染成最終的畫面,并進(jìn)行視頻的壓縮流化后,發(fā)送到終端播放顯示。視頻流引擎支持視頻編碼能力、視頻解碼播放能力、云手機(jī)圖像截屏能力、觸控和音頻抓取/播放能力等核心功能,客戶可以基于這些引擎進(jìn)行二次開(kāi)發(fā),實(shí)現(xiàn)在移動(dòng)終端上進(jìn)行操控應(yīng)用和游戲等操作。云端采用專業(yè)顯卡進(jìn)行渲染,可以獲取高畫質(zhì)的業(yè)務(wù)體驗(yàn);對(duì)終端的要求極低,只要求有視頻解碼能力即可;提供統(tǒng)一API,降低二次開(kāi)發(fā)難度,易集成。指令流引擎指令流云手機(jī)方案采用業(yè)界獨(dú)創(chuàng)的端云分離渲染技術(shù),可實(shí)現(xiàn)云側(cè)免GPU部署,整機(jī)硬件成本下降10%,其實(shí)現(xiàn)原理是云手機(jī)利用云端強(qiáng)大的算力,通過(guò)引擎實(shí)現(xiàn)云端復(fù)制應(yīng)用和游戲的渲染指令,并進(jìn)行渲染指令和紋理數(shù)據(jù)壓縮流化,在端側(cè)使用手機(jī)終端的GPU把這些指令渲染出來(lái)圖像。指令流引擎,支持機(jī)指令分離渲染、紋理數(shù)據(jù)視頻流化、觸控和音頻抓取/放能力等核心功能,客戶可以基于這些引擎進(jìn)行二次開(kāi)發(fā),實(shí)現(xiàn)在移動(dòng)終端上進(jìn)行操控應(yīng)用和游戲等操作。通過(guò)指令流引擎技術(shù),可以支持云手機(jī)全系統(tǒng)渲染,并提供近乎無(wú)損的畫質(zhì),在1080P/2k/4k分辨率下均不影響傳輸帶寬,并通過(guò)資源緩存技術(shù),有效降低網(wǎng)絡(luò)帶寬50%+;突破云端GPU能力限制,實(shí)現(xiàn)無(wú)GPU高密運(yùn)行機(jī)制,單路硬件成本降低40%,支持圖形渲染狀態(tài)機(jī)的本地執(zhí)行與遠(yuǎn)端同步,實(shí)現(xiàn)鯤鵬BoostKit大數(shù)據(jù)聚焦大數(shù)據(jù)查詢效率低、性能優(yōu)化難等挑戰(zhàn),提供大數(shù)據(jù)組件的開(kāi)源使能和調(diào)優(yōu)、OmniRuntime、機(jī)器學(xué)習(xí)和圖分析算法加速庫(kù)等應(yīng)用加速軟件包,提升大數(shù)據(jù)分析效率。圖3-17大數(shù)據(jù)應(yīng)用加速軟件包介紹算法加速庫(kù)機(jī)器學(xué)習(xí)算法加速庫(kù)OmniData算子下推算法加速庫(kù)機(jī)器學(xué)習(xí)算法加速庫(kù)OmniData算子下推大數(shù)據(jù)加速底座OmniRuntimeOmniShuffleShuffle加速OmniShuffleShuffle加速OmniHBaseGSI全局二級(jí)索引OmniMV物化視圖圖算法加速庫(kù)OmniOperator算子加速OmniAdvisor參數(shù)調(diào)優(yōu)openEuler和畢昇JDK性能優(yōu)化度策略優(yōu)化、Neon指令優(yōu)化等實(shí)現(xiàn)大數(shù)據(jù)計(jì)算性能提升。OmniRuntime大數(shù)據(jù)OmniRuntime是鯤鵬BoostKit大數(shù)據(jù)面向應(yīng)用加速推出的一系列特性,包括OmniData算子下OmniHBaseGSI全局二級(jí)索引,旨在通過(guò)插件化的形式,端到端提升數(shù)據(jù)加載、數(shù)據(jù)計(jì)算和數(shù)據(jù)交換的性能,從鯤鵬一碼多芯、同轅開(kāi)發(fā)技術(shù)白皮書/16而提升大數(shù)據(jù)分析的性能。Spark使用OmniRuntime加速特性執(zhí)行SQL計(jì)算,相比原生性能提升20%~40%,具》OmniData算子下推適用于存算分離場(chǎng)景或大規(guī)模存算融合場(chǎng)景,支持),數(shù)據(jù)引擎的算子下推到存儲(chǔ)節(jié)點(diǎn)或卸載節(jié)點(diǎn)的服務(wù),從而實(shí)現(xiàn)了近數(shù)據(jù)計(jì)算,減少了網(wǎng)絡(luò)帶寬,將該特性集成》OmniOperator算子加速據(jù)SQL算子來(lái)提高查詢性能的特性,通過(guò)列式存儲(chǔ)和向量化執(zhí)行技術(shù),同時(shí)利用鯤鵬加速庫(kù),提升算子的執(zhí)行》OmniShuffleShuffle加速于TCP/RDMA等網(wǎng)絡(luò)介質(zhì),優(yōu)化數(shù)據(jù)分析過(guò)程中跨節(jié)點(diǎn)的數(shù)據(jù)寫入、傳輸和讀取流程,提升Shuffle性能,支持?jǐn)?shù)據(jù)分析過(guò)程性能提升,將該特性及算子加速特性集成到Spark后,基于TPC-DS99條SQL驗(yàn)證,可實(shí)現(xiàn)》OmniMV物化視圖適用于虛擬化場(chǎng)景,支持Spark3.1.1版本,支持ClickHouse版本,其通過(guò)AI算法從歷史SQL查詢中推薦出最優(yōu)物化視圖,并在Spark中自動(dòng)對(duì)用戶SQL進(jìn)行物化視圖匹配,將匹配成功的物化視圖替換用戶執(zhí)行計(jì)劃的部分SQL,大幅減少重復(fù)計(jì)算,提升查詢性能,在將該特性集成到Spark后,基于TPC-DS基準(zhǔn)測(cè)》OmniAdvisor參數(shù)調(diào)優(yōu)》OmniHBaseGSI全局二級(jí)索引適用于虛擬機(jī)場(chǎng)景,支持HBase2.4.14版本,因HBase原生提供了主鍵索引,但若使用非Rowkey進(jìn)行查詢,則需要進(jìn)行全表掃描,不僅耗費(fèi)大量資源,查詢時(shí)延也很長(zhǎng),OmniHBaseGSI全局二級(jí)索引,可以在非機(jī)器學(xué)習(xí)和圖分析算法算法支持Spark3.1.1和Spark3.3.1版本,基于算法原理和芯片特征針對(duì)機(jī)器學(xué)習(xí)和圖分析算法進(jìn)行深入優(yōu)化,從而可以大幅提升大數(shù)據(jù)算法場(chǎng)景的計(jì)算性能。鯤鵬的機(jī)器學(xué)習(xí)&圖分析算法加速庫(kù)相比業(yè)界Spark原生MLlib17/鯤鵬一碼多芯、同轅開(kāi)發(fā)技術(shù)白皮書分布式存儲(chǔ)鯤鵬BoostKit分布式存儲(chǔ)使能套件聚焦開(kāi)源Ceph存儲(chǔ)的性能低、成本高等關(guān)鍵挑戰(zhàn),通過(guò)存儲(chǔ)算法加速庫(kù)和存儲(chǔ)Ceph加速庫(kù)等特性提升系統(tǒng)性能和降低存儲(chǔ)成本,充分發(fā)揮鯤鵬算力優(yōu)勢(shì),提供高性價(jià)比存儲(chǔ)方案。壓縮算法適用于塊存儲(chǔ)服務(wù)數(shù)據(jù)壓縮和對(duì)象存儲(chǔ)服務(wù)數(shù)據(jù)壓縮,與主流開(kāi)源壓縮算法相比,壓縮率可提升25%,帶寬性能存儲(chǔ)算法加速庫(kù)支持Ceph14.2.8版本,其采用鯤鵬優(yōu)化的算法代替主流開(kāi)源算法,提升存儲(chǔ)性能。當(dāng)前包括EC算法、CRC16基于華為自研向量化EC編解碼方案,通過(guò)同構(gòu)映射將EC編碼過(guò)程中所需的高階有限域GF(2^w)乘法操作替換為二元矩陣乘法,進(jìn)而將查表實(shí)現(xiàn)的復(fù)雜有限域乘法操作替代為XOR(ExclusiveOR)操作,同時(shí)采用編碼編排算法在校驗(yàn)塊計(jì)算過(guò)程中對(duì)中間結(jié)果進(jìn)行復(fù)用,減少XOR操作數(shù),配合鯤鵬向量化指令實(shí)現(xiàn)編碼加速。相》CRC16T10DIF算法和CRC32C算法通過(guò)大數(shù)求余算法和配合鯤鵬向量化指令實(shí)現(xiàn)編碼加速,相比開(kāi)源算法,CRC16T10DIF算法4K性能提升》memcpy算法》DAS智能預(yù)取算法》Ceph百億對(duì)象存儲(chǔ)元數(shù)據(jù)zstd壓縮算法存儲(chǔ)維護(hù)工具庫(kù)存儲(chǔ)維護(hù)工具庫(kù)(KSML)是華為自研的存儲(chǔ)維護(hù)工具庫(kù),包括HDD/SSD故障預(yù)測(cè)與HDD/SSD慢盤檢基于機(jī)器學(xué)習(xí)算法,通過(guò)收集SMART數(shù)據(jù)訓(xùn)練模型,預(yù)測(cè)與識(shí)別存儲(chǔ)集群潛在故障盤,通過(guò)采集系統(tǒng)磁盤的鯤鵬一碼多芯、同轅開(kāi)發(fā)技術(shù)白皮書/18KAE使能SPDKSPDK的BDEV設(shè)備作為虛擬設(shè)備層對(duì)接底層多種設(shè)備類型(虛擬設(shè)備、物理設(shè)備通過(guò)在BDEV縮和加解密能夠支持所有SPDK設(shè)備。鯤鵬ECTurbo流程進(jìn)行優(yōu)化,降低了數(shù)據(jù)讀寫流程中的IO放大比例,從而使得整體性能更高。相對(duì)于Ceph開(kāi)源EC,在均衡型智能寫Cache支持Ceph14.2.8版本,適用于塊存儲(chǔ)和對(duì)象存儲(chǔ)服務(wù)寫場(chǎng)景,其支持通過(guò)IO直通、QoS控制策略、WritebackIO直通IO直通工具是針對(duì)Ceph均衡型場(chǎng)景下的一個(gè)流程優(yōu)化工具,可以自動(dòng)對(duì)Ceph集群進(jìn)行性能優(yōu)化。在均衡型配數(shù)據(jù)壓緊通過(guò)消除補(bǔ)零對(duì)齊操作帶來(lái)的數(shù)據(jù)浪費(fèi)問(wèn)題,結(jié)合壓緊封裝、空間計(jì)數(shù)分配、粒度分流、聚合提交、批量回調(diào)等手段提升數(shù)據(jù)縮減率并提升系統(tǒng)整體IOPS,實(shí)現(xiàn)成本性能雙收益。數(shù)據(jù)壓緊可將數(shù)據(jù)壓縮率再提高20%以上,對(duì)系統(tǒng)性能無(wú)損失。元數(shù)據(jù)加速元數(shù)據(jù)加速特性在RocksDB的基礎(chǔ)上,結(jié)合華為自研算法進(jìn)行了性能加速優(yōu)化,在使能鯤鵬加速特性時(shí)可以獲取更佳的性能。較開(kāi)源RocksDB,混合讀寫Ucache智能讀緩存智能讀緩存通過(guò)IO智能預(yù)取精準(zhǔn)識(shí)別熱點(diǎn)請(qǐng)求并針對(duì)順序、間隔等IO流進(jìn)行IO預(yù)取,將IO提前載入讀緩存,同時(shí)讀緩存通過(guò)LRU算法淘汰冷數(shù)據(jù),從而提高緩存的IO命中率,提升讀性能。Ucache智能讀緩存可提高讀請(qǐng)BoostIO在存算分離架構(gòu)下,BoostIO利用計(jì)算側(cè)的內(nèi)存和磁盤資源構(gòu)建分布式多級(jí)緩存,寫緩存通過(guò)RDMA高速通信、緩存親和策略、副本冗余和線性布局等特性提升業(yè)務(wù)寫性能,提高數(shù)據(jù)可靠性;讀緩存通過(guò)數(shù)據(jù)預(yù)取提前將熱點(diǎn)數(shù)據(jù)加載緩存磁盤中,通過(guò)LRU淘汰策略和冷熱識(shí)別提高讀緩存命中率,從而提升業(yè)務(wù)讀性能。RDMA網(wǎng)絡(luò)加速19/鯤鵬一碼多芯、同轅開(kāi)發(fā)技術(shù)白皮書機(jī)密計(jì)算作系統(tǒng)驅(qū)動(dòng)以及SDK,旨在幫助伙伴更便捷地為行業(yè)客戶構(gòu)建機(jī)密計(jì)算解決方案,從而為用戶的關(guān)鍵數(shù)據(jù)提供完整性、機(jī)密性保護(hù)和可信使用。普通鯤鵬服務(wù)器默認(rèn)不帶有機(jī)密計(jì)算TrustZone完整套件,需要在購(gòu)買鯤鵬服務(wù)器時(shí)明確帶有TEE功能,支持iTrustee應(yīng)用于金融大數(shù)據(jù)數(shù)據(jù)挖掘場(chǎng)景,可保證數(shù)據(jù)處理過(guò)程中的機(jī)密性??蓱?yīng)用于一體化大數(shù)據(jù)中心場(chǎng)景,確保數(shù)據(jù)可信交易,同樣也可用于行業(yè)隱私計(jì)算認(rèn)證場(chǎng)景,確保計(jì)算過(guò)程中避免泄漏個(gè)人隱私信息。iTrustee安全可靠,其基于華為自研的微內(nèi)核實(shí)現(xiàn),安全OS已在手機(jī)側(cè)商用近10年,用戶數(shù)已過(guò)億,同時(shí)安全性獲得CCEAL4+認(rèn)證,兼容性獲得GlobalPlatform認(rèn)證。在規(guī)格方面也較為靈活,其中TEE側(cè)安需配置,最大可配512GB,可支持大數(shù)圖3-18機(jī)密計(jì)算AI模型和數(shù)據(jù)保護(hù)硬件密碼機(jī)替代大數(shù)據(jù)機(jī)密計(jì)算TEETEESDKGPAPITEEPOSIX加解密簽名安全存儲(chǔ)度量和證明等REEREETEELinuxOSBIOSTEEOSPatchBMC簽名工具、參考代碼和接口說(shuō)明等,方便用戶快速構(gòu)建應(yīng)用?!稲EEPatch:操作系統(tǒng)的驅(qū)動(dòng),包括內(nèi)核模塊以》TEEOS:華為自研安全操作系統(tǒng),為可信應(yīng)用提供加解密、安全存儲(chǔ)等服務(wù),并確保TA的完整性和機(jī)密性。鯤鵬一碼多芯、同轅開(kāi)發(fā)技術(shù)白皮書/20鯤鵬BoostKit機(jī)密計(jì)算TEE套件(文中簡(jiǎn)稱TEE套件)基于S-EL2在TEE側(cè)實(shí)現(xiàn)機(jī)密虛機(jī)(Con?dentialVM,后文采用cVM簡(jiǎn)稱)能力,實(shí)現(xiàn)現(xiàn)有普通虛機(jī)中的軟件棧無(wú)需整改即可遷移到機(jī)密環(huán)境中。鯤鵬BoostKit機(jī)密計(jì)算TEE套件主要包括KVM模塊、TMI模塊和TMM模塊,整體系統(tǒng)架構(gòu)如下所示:REE普通執(zhí)行環(huán)境REE普通執(zhí)行環(huán)境可信執(zhí)行環(huán)境CVMCVMCVMCVMCVMCVMAPPTEE套件SDKKernelHostHostOSLibvirtQemuKVMTMI遠(yuǎn)程證明庫(kù)遠(yuǎn)程證明庫(kù)SealingKeySealingKey客戶軟件服務(wù)器內(nèi)置TMM客戶軟件服務(wù)器內(nèi)置TMMBIOS(ArmBIOS(ArmTrustedFirmware)BMCBMC鯤鵬920高性能版處理器鯤鵬服務(wù)器表3-1基于鯤鵬BoostKit機(jī)密計(jì)算TEE套件完整組成說(shuō)明行業(yè)客戶Host/GuestOS客戶自行選擇支持VirtCCA的LinuxOS進(jìn)行Host/GuestOS的安裝部署。Host和GuestOS目前已開(kāi)源到openEuler社區(qū)。Libvirt和QEMU:負(fù)責(zé)機(jī)密虛機(jī)的部署和管理。KVM模塊:運(yùn)行在NormalWorld中,完成任務(wù)調(diào)度和資源分配工作,并負(fù)責(zé)所有cVM的TMI模塊:TrustZoneManagementInterface,KVM通過(guò)TMI與TMM通信。華為交付件TMM運(yùn)行在TEE內(nèi)的虛擬化組件,負(fù)責(zé)機(jī)密虛機(jī)的CPU和內(nèi)存的虛擬化管理。正常情況下,客戶如果購(gòu)買了支持TEE套件的鯤鵬服務(wù)器,TMM會(huì)內(nèi)置于硬件平臺(tái)內(nèi),后續(xù)可以通過(guò)升級(jí)TMM更新版本。硬件Firmware為支持TEE套件特性,硬件Firmware版本也進(jìn)行了相關(guān)的適配:?BIOS:支持對(duì)TMM的解密、安全啟動(dòng),以及對(duì)涉及功能的配置。?BMC:支持對(duì)TMM的升級(jí)維護(hù)。?支持TEE套件的硬件Firmware隨同硬件在產(chǎn)線預(yù)裝,客戶需要通過(guò)硬件的Firmware版為支持TEE套件遠(yuǎn)程證明功能、以及密鑰派生功能被客戶應(yīng)用21/鯤鵬一碼多芯、同轅開(kāi)發(fā)技術(shù)白皮書度量啟動(dòng)鯤鵬機(jī)密計(jì)算TEE套件度量包含如下過(guò)程:》采用鯤鵬硬件高安全子系統(tǒng)HSM作為可信根,將鯤鵬設(shè)備啟動(dòng)過(guò)程中與TEE相關(guān)的固件進(jìn)行度量,并將最終結(jié)果放到高安子系統(tǒng)的SRAM中,形成平臺(tái)度量報(bào)告。》將虛機(jī)啟動(dòng)過(guò)程的kernel、啟動(dòng)參數(shù)等進(jìn)行度量,形成虛機(jī)級(jí)度量報(bào)告。遠(yuǎn)程證明鯤鵬機(jī)密計(jì)算TEE套件遠(yuǎn)程證明目標(biāo)主要是向用戶證明機(jī)密SealingKeyTEE套件機(jī)密虛機(jī)支持密鑰封?。⊿ealingKey)功能,機(jī)密虛機(jī)可以生成一個(gè)與虛擬機(jī)綁定的密鑰,虛擬機(jī)重啟后該密鑰保持不變。安全存儲(chǔ)機(jī)密計(jì)算通常是為了保障運(yùn)行時(shí)的數(shù)據(jù)安全,但是由于用戶在使用數(shù)據(jù)時(shí)需要保障其存儲(chǔ)數(shù)據(jù)本身的機(jī)密性,因此通過(guò)對(duì)存儲(chǔ)鏡像的加密并結(jié)合遠(yuǎn)程證明的功能,來(lái)實(shí)現(xiàn)機(jī)密計(jì)算的安全存儲(chǔ)功能。機(jī)密容器機(jī)密容器是基于機(jī)密虛機(jī)的核心能力,通過(guò)復(fù)用Kata/Coco社區(qū)的基礎(chǔ)功能,使能機(jī)密容器的加解密、簽名驗(yàn)簽、Nydus鏡像加速以及遠(yuǎn)程證明的整套能力,從而達(dá)到對(duì)容器端到端的保護(hù)。機(jī)密容器的能力主要通過(guò)端到端的功能。由于管理面仍然使用k8s+containerd,整體使用設(shè)備直通在機(jī)密計(jì)算場(chǎng)景下,支持PCIE設(shè)備直通TEE安全域,數(shù)據(jù)免中轉(zhuǎn)免拷貝,以此保證整體數(shù)據(jù)鏈路的安全性。并且基于該技術(shù)點(diǎn),鯤鵬機(jī)密計(jì)算能支持異構(gòu)機(jī)密計(jì)算,無(wú)需設(shè)備改造。國(guó)密硬件加速是基于華為鯤鵬芯片,通過(guò)KAE加速器能力復(fù)用到安全側(cè),并采用openEulerUADK用戶態(tài)加速器框架,提供客戶機(jī)密虛機(jī)內(nèi)國(guó)密加速性能提升以及算法卸載的能力。鯤鵬一碼多芯、同轅開(kāi)發(fā)技術(shù)白皮書/22鯤鵬BoostKit數(shù)據(jù)庫(kù)對(duì)開(kāi)源MySQLOLAP查詢效率低、OLTP場(chǎng)景高并發(fā)下鎖導(dǎo)致的性能充分發(fā)揮多核算力極致性能。提供主流開(kāi)源和商業(yè)數(shù)據(jù)庫(kù)最佳實(shí)踐,幫助開(kāi)發(fā)者高效完成開(kāi)源組件遷移和調(diào)優(yōu)。NVMeSSD原子寫適用MySQL各版本,通過(guò)SSD件原子寫特性密集寫場(chǎng)景性能預(yù)計(jì)提升15%。Gazelle網(wǎng)絡(luò)優(yōu)化鯤鵬GCCCFGO反饋優(yōu)化適用MySQL各版本,采用多模態(tài)(源代碼、匯編碼、二進(jìn)制)、全生命周期(編譯、鏈接、后鏈接)的持續(xù)優(yōu)化手段,獲取性能更優(yōu)的目標(biāo)程序。使數(shù)據(jù)庫(kù)TPC-C綜合性能提升10%。KAEzip壓縮解壓縮優(yōu)化MySQL并行查詢優(yōu)化能查詢差難于滿足查詢場(chǎng)景的性能要求,通過(guò)并行查詢優(yōu)化提升查詢性能??蓪?shí)現(xiàn)查詢性能提升>1倍(性能提升與并行度有關(guān))。MySQL無(wú)鎖優(yōu)化全局結(jié)構(gòu)體中的關(guān)鍵數(shù)據(jù)結(jié)構(gòu),造成臨界區(qū)的競(jìng)爭(zhēng)和同步瓶頸。MySQL無(wú)鎖優(yōu)化改造后使用無(wú)鎖哈希表維護(hù)事務(wù)單元,減少鎖沖突,提升并發(fā)度,可實(shí)現(xiàn)Sysbench寫場(chǎng)景下性能提升20%。MySQL細(xì)粒度鎖優(yōu)化MySQLNUMA調(diào)度優(yōu)化支持MySQL8.0.20、MySQL8.0.25版本,在MySQLOLTP場(chǎng)景下高并發(fā)下系統(tǒng)默認(rèn)的線程調(diào)度使得線程頻繁跨NUMA的訪問(wèn),這種情況導(dǎo)致CPU開(kāi)銷增大,性能提升受限制,需要對(duì)用戶處理線程做動(dòng)態(tài)綁定固定NUMA23/鯤鵬一碼多芯、同轅開(kāi)發(fā)技術(shù)白皮書CPU減少跨NUMA訪問(wèn),同時(shí)需要保證CPU訪問(wèn)的負(fù)載必須均衡,后臺(tái)線程靜態(tài)綁定固定NUMACPU減少跨MySQL可插拔線程池每個(gè)CPU同時(shí)處理任務(wù)個(gè)數(shù)是有限的,一般2~5個(gè)最優(yōu),從而保持穩(wěn)定的業(yè)務(wù)處理能力??蓪?shí)現(xiàn)OLTPTPC-C場(chǎng)景性能10000并發(fā)性能下降到最優(yōu)的10%左右,開(kāi)啟線程池功能,性能可維持在85%。CRC32指令優(yōu)化提供支持MySQL8.0.25版本的補(bǔ)丁包,該特性采用鯤鵬CRC32硬件指令替換CRC32算法的軟件實(shí)現(xiàn),從而提高M(jìn)ySQL可插拔在線向量化分析引擎執(zhí)行計(jì)劃的并行計(jì)算,充分發(fā)揮鯤鵬CPU多核采用并行加速技術(shù),可將OLAP查詢性能提升到3倍以上。MilvusKScaNN優(yōu)化支持milvus2.4.5版本,該特性通過(guò)Milvus預(yù)留接口,通過(guò)對(duì)接鯤鵬自研召回算法KScaNN,發(fā)揮鯤鵬優(yōu)勢(shì),使查詢性能(QPS)在高召回率(0.95以上)的前MilvusKBest優(yōu)化支持milvus2.4.5版本,該特性通過(guò)Milvus預(yù)留接口,對(duì)接鯤鵬自研召回算法KBest,發(fā)揮鯤鵬優(yōu)勢(shì),使查詢性能(QPS)在高召回率(0.99)的Milvus向量指令優(yōu)化支持支持milvus2.4.5版本,該特性使用sve指令集和軟硬件預(yù)取實(shí)現(xiàn),通過(guò)減小了距離函數(shù)計(jì)算的開(kāi)銷,可以將鯤鵬一碼多芯、同轅開(kāi)發(fā)技術(shù)白皮書/24虛擬化鯤鵬BoostKit虛擬化使能套件聚焦虛擬化輕載性能低、網(wǎng)絡(luò)損耗大、資源碎片嚴(yán)重及開(kāi)源生態(tài)可用性負(fù)載感知加速系統(tǒng)通過(guò)收集應(yīng)用負(fù)載信息生成調(diào)優(yōu)策略,通過(guò)應(yīng)用參數(shù)調(diào)優(yōu)、OS調(diào)度參數(shù)調(diào)優(yōu)、網(wǎng)卡中斷綁核調(diào)優(yōu)和動(dòng)態(tài)線程優(yōu)先級(jí)調(diào)優(yōu),對(duì)被調(diào)優(yōu)任務(wù)進(jìn)行全棧深度優(yōu)化,動(dòng)態(tài)調(diào)整達(dá)到業(yè)務(wù)實(shí)時(shí)最佳。OVS流表歸一化在OVS+DPDK的基礎(chǔ)上,提出流表歸一化的方案,進(jìn)一步加速云計(jì)算中的數(shù)據(jù)包轉(zhuǎn)發(fā)性能,其典型場(chǎng)景為OVS流表網(wǎng)卡加速在虛擬化場(chǎng)景下,將OVS轉(zhuǎn)發(fā)流表卸載到網(wǎng)卡硬件上,利用硬件的查表能力來(lái)提升流表的查找速度,提高虛擬化網(wǎng)絡(luò)的處理能力,可實(shí)現(xiàn)虛擬化網(wǎng)絡(luò)的轉(zhuǎn)發(fā)性能提升10倍。高性能云盤優(yōu)化通過(guò)BoostKit提供的SPDK+Ceph的方案來(lái)對(duì)虛擬化場(chǎng)景下的Ceph存儲(chǔ)客戶端進(jìn)行加速,以提升存儲(chǔ)虛擬化DPU卸載虛擬化DPU卸載支持虛擬化場(chǎng)景下網(wǎng)絡(luò)和存儲(chǔ)的加速,其可以將本來(lái)運(yùn)行在物理機(jī)上的軟件(如:OVS-DPDK、和VirtIO-blk等協(xié)議,其作為VirtIO設(shè)備后端,可提高虛擬化網(wǎng)絡(luò)和存儲(chǔ)性能。虛擬化調(diào)度優(yōu)化鯤鵬虛擬化通過(guò)軟硬協(xié)同方案,加速虛擬機(jī)中應(yīng)用對(duì)CPU的調(diào)度效率?!吠ㄟ^(guò)NUMA感知和cluster感知特性,將關(guān)于CPU的拓?fù)浣Y(jié)構(gòu)直通到虛擬機(jī),虛擬機(jī)OS內(nèi)核可通過(guò)cluster任務(wù)調(diào)度優(yōu)化選項(xiàng),加速多線程進(jìn)程調(diào)用效率?!穬?yōu)化了搶占過(guò)程中的鎖機(jī)制,提升虛擬機(jī)在超分場(chǎng)景下的性能?!吩黾佑布梨i的機(jī)制,有效防止硬件死鎖導(dǎo)致的虛擬機(jī)卡住而無(wú)法恢復(fù)的情況。拓?fù)涓兄軜?gòu)的虛擬機(jī)環(huán)境中,查看緩存大小通常會(huì)默認(rèn)顯示一組預(yù)設(shè)值,這些默認(rèn)值無(wú)法準(zhǔn)確反映虛擬機(jī)實(shí)際使用的緩存大小。這種情況下,虛擬機(jī)中的應(yīng)用程序和操作系統(tǒng)優(yōu)化可能會(huì)受到影響。為了解決這個(gè)問(wèn)題,本特性提供了虛擬機(jī)可以精確地反映其使用的緩存大小,來(lái)獲取更精確的緩存結(jié)構(gòu)信息,從而更好地優(yōu)化虛擬機(jī)中的應(yīng)用程序25/鯤鵬一碼多芯、同轅開(kāi)發(fā)技術(shù)白皮書KAE加速熱遷移適用于虛擬機(jī)熱遷移場(chǎng)景,KAE的壓縮模塊提供了zlib標(biāo)準(zhǔn)接口KAEZlib,使用KAE壓縮模塊可以替代原生zlib庫(kù)加速虛擬機(jī)熱遷移,相比于原生Zlib,KAE在虛擬機(jī)熱遷移壓縮與解壓縮中能夠顯著節(jié)省CPU資源,在同CPU虛擬化硬件輔助加速適用于網(wǎng)絡(luò)和IO密集型業(yè)務(wù),該特性通過(guò)在鯤鵬920新型號(hào)處理器使能GICv4.1的直接注入虛擬中斷和直接注入vSGI的中斷直通類型,可以顯著降低中斷響應(yīng)時(shí)延,提升網(wǎng)絡(luò)/IO密集型業(yè)務(wù)吞吐量。熱插拔并且允許后續(xù)通過(guò)內(nèi)存熱插相關(guān)命令,動(dòng)態(tài)地向該NUMA節(jié)點(diǎn)增加內(nèi)存。MPAM插件通過(guò)限制離線業(yè)務(wù)對(duì)內(nèi)存帶寬和L3緩存容量的占用,避免離線業(yè)務(wù)干擾實(shí)時(shí)業(yè)務(wù)的性能:》部署離線業(yè)務(wù)時(shí),在YAML文件中指定該業(yè)務(wù)歸屬的資源組?!稭PAM插件偵聽(tīng)到部署任務(wù)后,將容器中業(yè)務(wù)的進(jìn)程ID配置到對(duì)應(yīng)的資源組中(限制信息會(huì)通過(guò)OS配置到硬件芯片上)。K8sNUMA親和性調(diào)度插件和機(jī)制,提升容器在超分場(chǎng)景下的5%~10%的性能。K8sSR-IOV直通插件設(shè)備的操作,目前支持直通網(wǎng)卡、KAE設(shè)備,可加速容器場(chǎng)景的加解密、網(wǎng)絡(luò)性能。vKAE鯤鵬處理器提供的硬件加速解決方案,包含了KAE加解密和KAEzip。vKAE也可以在虛擬機(jī)或者容器中使用KAE鯤鵬一碼多芯、同轅開(kāi)發(fā)技術(shù)白皮書/26鯤鵬BoostKit搜推廣使能套件旨在為互聯(lián)網(wǎng)的搜索、推薦、廣告業(yè)務(wù)場(chǎng)景提供基于鯤鵬平臺(tái)的全棧解決方案的加速能力,組件涵蓋召回場(chǎng)景核心檢索算法、排序場(chǎng)景模型推理TensorFlow框架軟件全棧及其AI核心算子庫(kù)等。鯤鵬召回算法庫(kù)鯤鵬召回算法庫(kù)SRA_Recall是華為提供的基于鯤鵬平臺(tái)優(yōu)化的召回算法庫(kù),包含KBest和KScaNN:》KBest(KunpengBlazing-fastembeddingsimilaritysearchthruster)鯤鵬圖檢索算法,是鯤鵬自研的高效的圖檢索算法。通過(guò)量化、向量指令等方法優(yōu)化了最近鄰搜索的性能和精度,用于多維向量近似最近鄰搜索,提供對(duì)標(biāo)開(kāi)源FaissHNSW算法的檢索能力,適用于網(wǎng)絡(luò)搜索、多模態(tài)搜索、推薦系統(tǒng)和RAG等場(chǎng)景;》KScaNN(KunpengScalableNearestNeighbors)是基于倒排索引,結(jié)合鯤鵬架構(gòu)深度優(yōu)化索引布局、算法流程和計(jì)算流程,充分挖掘芯片潛力形成的向量檢索算法,提供對(duì)標(biāo)開(kāi)源ScaNN的完整檢索能力,適用于網(wǎng)絡(luò)搜索、多模態(tài)搜索、推薦系統(tǒng)和RAG等場(chǎng)景。鯤鵬推理加速套件鯤鵬推理加速套件SRA_Inference是華為提供的基于鯤鵬平臺(tái)優(yōu)化的推理加速套件,當(dāng)前主要包含鯤鵬TensorFlow算子庫(kù):》KTFOP(KunpengTensor?owOperator)鯤鵬TensorFlow算子庫(kù),是鯤鵬自研的高效的TensorFlow算子庫(kù)。通過(guò)SIMD(SingleInstructionMultipleData)指令、多核調(diào)度等方法,提高CPU側(cè)算子性能,減少CPU側(cè)計(jì)算資源的占用,從而提高在線推理端到端整體的吞吐量,適用于搜索、推薦、廣告等推理場(chǎng)景。鯤鵬推理AI算子庫(kù)鯤鵬AI庫(kù)KAIL(KunpengArti?cialIntelligenceLibrary)是華為提供的基于鯤鵬平臺(tái)優(yōu)化的高性能AI算子庫(kù),主要完成深度神經(jīng)網(wǎng)絡(luò)算子庫(kù)和拓展算子庫(kù),拓展算子包括softmax、random_choice等?!贰稫AIL_DNN,深度神經(jīng)網(wǎng)絡(luò)算子庫(kù)(DeepNeuralNetworkLibrary結(jié)合鯤鵬處理器微架構(gòu)特性,通過(guò)向量化、匯編、算法優(yōu)化等手段,提升DNN核心算子性能,并通過(guò)插件化形式對(duì)接開(kāi)源oneDNN庫(kù)提供完整能力,適》KAIL_DNN_EXT,深度神經(jīng)網(wǎng)絡(luò)算子拓展庫(kù)(DeepNeuralNetworkExtensionLibrary),旨在作為KAIL_DNN的拓展庫(kù),深度優(yōu)化softmax、random_choice等算子,為AI特定場(chǎng)景封裝為Python語(yǔ)言接口庫(kù)直接提供給用戶調(diào)用,適用于AI領(lǐng)域。27/鯤鵬一碼多芯、同轅開(kāi)發(fā)技術(shù)白皮書HPCHPC聚焦資源調(diào)度效率低、應(yīng)用性能優(yōu)化難等關(guān)鍵挑戰(zhàn),通過(guò)全棧架構(gòu)創(chuàng)新、軟硬件自研、基礎(chǔ)軟件優(yōu)化和行業(yè)應(yīng)用性能調(diào)優(yōu)等技術(shù)構(gòu)建全棧高性能計(jì)算基礎(chǔ)平臺(tái),幫助客戶釋放平臺(tái)算力,縮短產(chǎn)品上市周期,提升企業(yè)產(chǎn)品鯤鵬鯤鵬BoostKitHPC應(yīng)用使能套件,加速尖端科研創(chuàng)新和行業(yè)數(shù)字化HPCHPC多瑙套件,允許用戶方便快捷提交作業(yè),管理運(yùn)維集群HPC場(chǎng)景多樣化,對(duì)HPC管理與調(diào)度提出了更高的要求行行業(yè)能源制造生命科學(xué)半導(dǎo)體材料氣象天文13年~1天基因測(cè)序時(shí)長(zhǎng)6013年~1天基因測(cè)序時(shí)長(zhǎng)60月~24月新車研發(fā)時(shí)間5000天~100天新藥研發(fā)鑒定21.8%~90%天氣預(yù)報(bào)準(zhǔn)確率多瑙套件作業(yè)調(diào)度器多瑙調(diào)度器集群管理平臺(tái)多瑙Portal作業(yè)調(diào)度器多瑙調(diào)度器集群管理平臺(tái)多瑙Portal器算力需求持續(xù)增長(zhǎng)通信庫(kù)HyperMPI數(shù)學(xué)庫(kù)KML編譯器鯤鵬畢昇/GCC算力需求持續(xù)增長(zhǎng)通信庫(kù)HyperMPI數(shù)學(xué)庫(kù)KML編譯器鯤鵬畢昇/GCC編譯器?數(shù)據(jù)爆炸式增長(zhǎng),需要更快更高的算力性能?應(yīng)用及場(chǎng)景的多樣化,要求算力的多樣性資源理由率</>openEuler/其他多樣性算力:鯤鵬資源理由率</>openEuler/其他多樣性算力:鯤鵬/xPU?系統(tǒng)規(guī)模倍增,應(yīng)具備高效資源調(diào)度能力?應(yīng)用在多樣算力資源池間須實(shí)現(xiàn)資源共享硬件基礎(chǔ)設(shè)硬件基礎(chǔ)設(shè)施高吞吐量AIFabric(RoCE)?作業(yè)既要寫得快,又要查得快便捷操作數(shù)據(jù)中心便捷操作數(shù)據(jù)中心?流程可視化管理,降低專業(yè)性要求多瑙Portal是HPC集群管理平臺(tái),通過(guò)可視化界面為用戶提供了便捷的HPC集群系統(tǒng)數(shù)據(jù)管理和軟硬件資源管理功能,串聯(lián)整個(gè)工作流程,幫助用戶合理地進(jìn)行作業(yè)調(diào)度和資源分配,提升集群系統(tǒng)計(jì)算能力利用率?!凡僮飨到y(tǒng)桌面風(fēng)格:Web界面桌面風(fēng)格布局,多窗口多任務(wù)高》設(shè)計(jì)計(jì)算一體化:支持基于Linux平臺(tái)的遠(yuǎn)程2D/3D可視化,》資源分析與監(jiān)控:多維度分析集群運(yùn)行歷史,實(shí)時(shí)監(jiān)控集群資源使用。》異構(gòu)多集群管理:同時(shí)管理多瑙調(diào)度集群和第三方調(diào)度集群,數(shù)據(jù)與資源統(tǒng)一管理。多瑙調(diào)度器提供大規(guī)模集群下的高資源利用率、高吞吐量的作業(yè)調(diào)度能力:》超大規(guī)模調(diào)度:最大支持3000節(jié)點(diǎn)/38萬(wàn)核超大規(guī)模集群調(diào)度?!犯哔Y源分配率:高效靈活的調(diào)度框架,資源分配率達(dá)到90%+。鯤鵬一碼多芯、同轅開(kāi)發(fā)技術(shù)白皮書/28度優(yōu)化的HPC基礎(chǔ)軟件,實(shí)現(xiàn)一鍵部署和最優(yōu)協(xié)同,使能HPC領(lǐng)域應(yīng)用實(shí)現(xiàn)極致性能?;募贤ㄐ趴蚣堋M瑫r(shí),HyperMPI對(duì)數(shù)據(jù)密集型和高性能計(jì)算提供了網(wǎng)絡(luò)加速能力,使能了節(jié)點(diǎn)間高速通向量化運(yùn)算、三角函數(shù)、對(duì)數(shù)等常用數(shù)學(xué)函數(shù),由KML_BLAS、KML_SPBLAS、KML_VML、KML_MATH、》畢昇編譯器基于開(kāi)源LLVM開(kāi)發(fā),并進(jìn)行了優(yōu)化和改進(jìn),同時(shí)支持Fortran語(yǔ)言前端,是針對(duì)鯤鵬平臺(tái)的高性能編譯器。除LLVM通用功能和優(yōu)化外,對(duì)中端及后端的關(guān)鍵技術(shù)點(diǎn)進(jìn)行了深度優(yōu)化,并集成AutoTuner特性支持編譯器自動(dòng)調(diào)優(yōu)。29/鯤鵬一碼多芯、同轅開(kāi)發(fā)技術(shù)白皮書3)鯤鵬BoostKit基礎(chǔ)加速開(kāi)發(fā)的加速庫(kù),覆蓋系統(tǒng)庫(kù)、壓縮、加解密、媒體、數(shù)學(xué)庫(kù)、存儲(chǔ)、網(wǎng)絡(luò)和AI庫(kù)等8類加速庫(kù),為大數(shù)據(jù)加解密、分布式存儲(chǔ)壓縮、視頻轉(zhuǎn)碼等應(yīng)用場(chǎng)景提供高性能加速。鯤鵬BoostKit基礎(chǔ)加速軟件包,詳細(xì)介紹和最新內(nèi)容請(qǐng)參見(jiàn)鯤鵬應(yīng)用使能套件BoostKit→基礎(chǔ)加速軟件包,詳情可掃描右方二維碼。圖3-19鯤鵬BoostKit基礎(chǔ)加速軟件包BoostKitBoostKit場(chǎng)景化基礎(chǔ)加速特性全景圖GKL(基因測(cè)序)AVX2Neon分布式存儲(chǔ)Ceph壓縮&MD5大數(shù)據(jù)Hadoop數(shù)據(jù)加解密&GKL(基因測(cè)序)AVX2Neon分布式存儲(chǔ)Ceph壓縮&MD5大數(shù)據(jù)Hadoop數(shù)據(jù)加解密&壓縮視頻轉(zhuǎn)碼x265/HW265OS集成基礎(chǔ)庫(kù)Glibc&Gzip&OpenSSL系統(tǒng)庫(kù)系統(tǒng)庫(kù)8類8類Glibc-patch指令加速Hyperscan指令加速AVX2KI異構(gòu)生態(tài)遷移KQMalloc高性能內(nèi)存庫(kù)HTL輕量級(jí)線程庫(kù)KSL_ASN1編解碼庫(kù)HAF同構(gòu)加速框架畢昇JDK加速庫(kù)BiShengJDK_AccLibGzip指令加速ZSTD指令加速Snappy指令加速KAEzip壓縮硬加速指令加速加解密加解密OpenSSLSM3/SM4/RSA/AES/MD5媒體媒體HMPP超媒體性能庫(kù)x265開(kāi)源H.265視頻轉(zhuǎn)碼x264H.264視頻編解碼KVSIP鯤鵬矢量信號(hào)處理庫(kù)KPCV鯤鵬計(jì)算視覺(jué)庫(kù)數(shù)學(xué)庫(kù)數(shù)學(xué)庫(kù)KML_FFTKML_FFT傅里葉變換KMLKML_BLAS基礎(chǔ)線性代數(shù)KMLKML_SPBLAS稀疏線性代數(shù)庫(kù)KML_MATHKML_MATH基礎(chǔ)數(shù)學(xué)函數(shù)庫(kù)KML_VMLKML_VMLKML_LAPACKKML_LAPACK線性代數(shù)運(yùn)算庫(kù)KML_SVML短向量運(yùn)算庫(kù)KML_SOLVER稀疏求解器庫(kù)KML_VSLKML_JAVAKML_NUMPYKML_EIGENSOLVER特征值求解庫(kù)KML_IPL插值庫(kù)存儲(chǔ)存儲(chǔ)SmartPrefetchSmartPrefetch智能預(yù)取SPDKSPDKSSD用戶態(tài)驅(qū)動(dòng)ISAISA-L存儲(chǔ)加速庫(kù)AIAI庫(kù)XPFOVSXPFOVS流表加速庫(kù)KAIL_DNN深度神經(jīng)網(wǎng)絡(luò)算子庫(kù)DPDK用戶態(tài)網(wǎng)絡(luò)驅(qū)動(dòng)DPDK用戶態(tài)網(wǎng)絡(luò)驅(qū)動(dòng)KAILDNNEXT軟加速庫(kù)硬加速庫(kù)軟加速庫(kù)硬加速庫(kù)》Glibc-patch:主要對(duì)內(nèi)存、字符串、鎖等接口基于華為鯤鵬微架構(gòu)特點(diǎn)進(jìn)行了加速優(yōu)化。微架構(gòu)特點(diǎn)進(jìn)行了加》Hyperscan:一款高性能的正則表達(dá)式匹配庫(kù),增加鯤鵬計(jì)算平臺(tái)分支,且完全兼容armv8-a,通過(guò)使用NEON指令、內(nèi)聯(lián)匯編、數(shù)據(jù)對(duì)齊、指令對(duì)齊、內(nèi)存數(shù)據(jù)預(yù)取、靜態(tài)分支預(yù)測(cè)、代碼結(jié)構(gòu)優(yōu)化等方法,實(shí)現(xiàn)在鯤鵬計(jì)算平臺(tái)的性能提升。》AVX2KI:一款接口集合庫(kù),將傳統(tǒng)平臺(tái)的Intrinsic接口集合使用鯤鵬指令重新實(shí)現(xiàn),并封裝為獨(dú)立的接口模塊(C語(yǔ)言頭文件方式),以減少大量遷移項(xiàng)目重復(fù)開(kāi)發(fā)的工作量?!稫QMalloc:鯤鵬高性能內(nèi)存庫(kù),是專為鯤鵬設(shè)計(jì)的內(nèi)存分配器。此分配器分為單線程和多線程應(yīng)用場(chǎng)景,最大限度地減少內(nèi)部緩存占用空間,最大限度地減少內(nèi)部緩存未命中,可極大地提升應(yīng)用性能。鯤鵬一碼多芯、同轅開(kāi)發(fā)技術(shù)白皮書/30》HTL:輕量級(jí)線程庫(kù)(HyperThreadLibrary,HTL)是構(gòu)建在內(nèi)核態(tài)線程之上的用戶級(jí)線程庫(kù)。用于解決內(nèi)核級(jí)線程大量使用時(shí),應(yīng)用性能下降、系統(tǒng)資源不足的問(wèn)題,尤其解決嵌套并行場(chǎng)景下性能極低的問(wèn)題。在保障減少資源使用的情況下,提升并發(fā)度,改善性能?!稫SL_ASN1:ASN.1(AbstractSyntaxNotationOne)是定義抽象數(shù)據(jù)類型規(guī)格形式的一套標(biāo)準(zhǔn),是描述數(shù)據(jù)EncodingRules)、XER(XMLEncodingRules)、PER(PackedEncodingRules)和BER(BasicEncodingRules)格式,性能相較開(kāi)源軟件asn1c有較大的提升?!稨AF:同構(gòu)加速框架(HomogeneousAccelerationFramework,HAF提供用戶友好的編程方式和API,快速、有效、安全地使能用戶業(yè)務(wù)程序指定加速片段卸載推送至卸載節(jié)點(diǎn)執(zhí)行,帶來(lái)用戶預(yù)期的卸載優(yōu)化效果。》畢昇JDK加速庫(kù):畢昇JDK是基于OpenJDK開(kāi)發(fā)的HuaweiJDK開(kāi)源版本,基于鯤鵬處理器提供了一些加速能力,如堆轉(zhuǎn)儲(chǔ)增強(qiáng)、JBooster特性和JBolt特性的加速。?堆轉(zhuǎn)儲(chǔ)增強(qiáng)特性:屏蔽轉(zhuǎn)儲(chǔ)堆文件中的敏感信息,保護(hù)數(shù)據(jù)安全與隱私。?JBooster特性:提升應(yīng)用啟動(dòng)速度、降低CPU占用、加快彈性伸縮的響應(yīng)速度、降低云應(yīng)用部署成本。?JBolt特性:優(yōu)化代碼緩存布局,降低icache/iTLBmiss率,提升應(yīng)用程序性能。其中,其中,堆轉(zhuǎn)儲(chǔ)增強(qiáng)特性支持畢昇JDK8和17版本;JBooster特性和JBolt特性僅支持畢昇JDK17版本。鯤鵬BoostKit壓縮庫(kù)包括如下組件:》Gzip:Gzip(GUNzip)通過(guò)數(shù)據(jù)預(yù)取、循環(huán)展開(kāi)、CRC指令替換等方法,來(lái)提升其在鯤鵬計(jì)算平臺(tái)上的壓縮和解壓縮速率,尤其對(duì)文本類型文件的壓縮及解壓具有更明顯的性能優(yōu)勢(shì)。》ZSTD:Zstandard,即ZSTD壓縮庫(kù)。通過(guò)使用NEON指令、內(nèi)聯(lián)匯編、代碼結(jié)構(gòu)調(diào)整、內(nèi)存預(yù)取、指令流水線排布優(yōu)化等方法,引入zstar軟優(yōu)化庫(kù),實(shí)現(xiàn)ZSTD在鯤鵬計(jì)算平臺(tái)上壓縮和解壓性能的提升?!稴nappy:利用內(nèi)聯(lián)匯編、寬位指令、優(yōu)化CPU流水線、內(nèi)存預(yù)取等方法,實(shí)現(xiàn)Snappy在鯤鵬計(jì)算平臺(tái)上的壓縮和解壓速率提升。》KAEzip:鯤鵬加速引擎的壓縮模塊,使用鯤鵬硬加速模塊實(shí)現(xiàn)de?ate算法,結(jié)合無(wú)損用戶態(tài)驅(qū)動(dòng)框架,提供高性能Gzip/zlib格式壓縮接口?!稬Z4:快速壓縮庫(kù),它能夠以極高的速度對(duì)數(shù)據(jù)進(jìn)行壓縮和解壓縮。該壓縮算法非??焖俸透咝?,適用于各種類型的數(shù)據(jù)壓縮。LZ4庫(kù)可以被廣泛應(yīng)用于數(shù)據(jù)存儲(chǔ)、網(wǎng)絡(luò)傳輸和實(shí)時(shí)數(shù)據(jù)處理等領(lǐng)域,為用戶提供了快速且可靠的數(shù)據(jù)壓縮解決方案。其官網(wǎng)發(fā)布的1.9.3Release優(yōu)化版本,利用NEON指令、內(nèi)聯(lián)匯編、代碼結(jié)構(gòu)調(diào)整、內(nèi)存預(yù)取、指令流水線排布優(yōu)化等方法,實(shí)現(xiàn)LZ4在鯤鵬計(jì)算平臺(tái)上壓縮性能的提高。加解密KAE加解密是鯤鵬加速引擎的加解密模塊,使用鯤鵬硬加速引擎實(shí)現(xiàn)RSA/SM2/SM3/SM4/DH/MD5/AES算法,結(jié)合無(wú)損用戶態(tài)驅(qū)動(dòng)框架,提供高性能對(duì)稱加解密、非對(duì)稱加解密算法能力,兼容Ope系列版本、Tongsuo8.4.0、BoringSSL,支持同步和異步機(jī)制。31/鯤鵬一碼多芯、同轅開(kāi)發(fā)技術(shù)白皮書向量初始化、向量數(shù)學(xué)運(yùn)算與統(tǒng)計(jì)學(xué)運(yùn)算、向量采樣與向量變換、濾波函數(shù)、變換函數(shù)(快速傅里葉變換),》HW265Enc編碼器:適用于視頻點(diǎn)播、視頻直播等場(chǎng)景,是遵循H.265/HEVC(HighEfficiencyVideoCoding)視頻編解碼標(biāo)準(zhǔn)開(kāi)發(fā)的自研視頻編碼器,支持對(duì)YUV像素文件進(jìn)行編碼生成H.265/HEVC視頻碼流文件,支持8bit色彩深度、420p格式。同時(shí)該編碼器基于鯤鵬920新型號(hào)進(jìn)行了鯤鵬親和優(yōu)化,性能相較于PyTorch圖算子優(yōu)化,利用鯤鵬向量指令對(duì)其中的圖像處理算子進(jìn)行性能優(yōu)化。矢量、矩陣上的數(shù)學(xué)計(jì)算,包括基本的四則運(yùn)算、三角函數(shù)、對(duì)數(shù)函數(shù)、指數(shù)函數(shù)、線性代數(shù)計(jì)算等,數(shù)學(xué)庫(kù)所》SmartPrefetch:創(chuàng)新性地采用高速緩存盤配合高效的預(yù)取算法,提升系統(tǒng)存儲(chǔ)通過(guò)使用許多處理器核心和許多NVMe驅(qū)動(dòng)去存儲(chǔ),而不需要額外卸載硬件??s的高度優(yōu)化的函數(shù)。鯤鵬一碼多芯、同轅開(kāi)發(fā)技術(shù)白皮書/32該模塊用于跟蹤數(shù)據(jù)報(bào)文在OVS軟件中所經(jīng)歷的所有流表和CT表,將執(zhí)行的CT行為和所有流表行為項(xiàng)進(jìn)行綜合編排成一條綜合行為項(xiàng)并結(jié)合統(tǒng)一匹配項(xiàng)生成一條集成流表項(xiàng)。后續(xù)的數(shù)據(jù)報(bào)文在進(jìn)入OVS后,若匹配命中該集成流表,則直接執(zhí)行綜合行為,相比開(kāi)源的處理流程,查詢次數(shù)將減少,性能將大幅度提升。據(jù)平面開(kāi)發(fā)工具集,包括庫(kù)函數(shù)和驅(qū)動(dòng)。AI庫(kù)匯編、算法優(yōu)化等手段,提升DNN核心算子性能,并通過(guò)插件化形式對(duì)接開(kāi)源oneDNN庫(kù)提供完整能力。),DNN的拓展庫(kù),深度優(yōu)化softmax、random_choice等算子,為AI特定場(chǎng)景封裝提供給用戶調(diào)用。UTgen工具1)功能簡(jiǎn)介為開(kāi)發(fā)者提供端到端的測(cè)試用例生成支持,真正做到即插即用。具有以下關(guān)鍵特性:》支持通過(guò)右擊方法名、類名、類文件、包目錄生成測(cè)試用例。》測(cè)試用例包含輸入、方法體、斷言和注釋?!吩谏傻倪^(guò)程中,保證最大的分支覆蓋率和最小的測(cè)試數(shù)量?!分С謨煞N用例渲染策略(保留和覆蓋)。2)操作步驟33/鯤鵬一碼多芯、同轅開(kāi)發(fā)技術(shù)白皮書或者打開(kāi)文件,選擇需要生成UT測(cè)試用例的函數(shù),右擊選擇“生成”選項(xiàng),在打開(kāi)的選項(xiàng)中選擇“Testswith圖3-20基于普通項(xiàng)目鯤鵬一碼多芯、同轅開(kāi)發(fā)技術(shù)白皮書/34圖3-21基于SpringBoot項(xiàng)目步驟2在打開(kāi)的對(duì)話框中,設(shè)置自動(dòng)生成UT參數(shù),參數(shù)說(shuō)明如表3-2所示。表3-2UT測(cè)試用例參數(shù)說(shuō)明35/鯤鵬一碼多芯、同轅開(kāi)發(fā)技術(shù)白皮書表示生成的UT測(cè)試用例代碼文件存放的目錄。測(cè)試框架(Testingframework)可選擇基于某個(gè)測(cè)試框架生成UT。?JUnit5generationforsamefunction)對(duì)同一函數(shù)增加UT時(shí),會(huì)覆蓋或者保留原有工具生成UT(帶@UTgen注解)。?OverwriteMock策略(Mockingstrategy)表示是否要Mock內(nèi)部對(duì)象,不Mock,或者工具自動(dòng)選擇是否Mock,或者M(jìn)ock除目標(biāo)類和系統(tǒng)類之外的所有內(nèi)容。?Automock?Mockoutsidetheclass?Mockstaticmethods:模擬靜態(tài)方法?Parameterizedtests:參數(shù)化測(cè)試選擇“Automock”或“Mockoutsidetheclass”可以勾選“Mockstaticmethods”選項(xiàng);選擇“Donotmock”可以勾選“Parameterizedtests”選項(xiàng)。生成測(cè)試超時(shí)時(shí)間(Testgenerationtimeout)表示針對(duì)每個(gè)class生成UT的超時(shí)時(shí)間,默認(rèn)為60s。被測(cè)試對(duì)象(Generatetestsfor)列舉被測(cè)試函數(shù)或者類。在列表中可勾選或不勾選當(dāng)前Java包/文件中的需要被測(cè)試的函數(shù)或者類。若為SpringBoot項(xiàng)目,會(huì)在原基礎(chǔ)上新增如下三個(gè)參數(shù),參數(shù)說(shuō)明如表3-3所示。表3-3UT測(cè)試用例參數(shù)說(shuō)明Spring配置(Springcon?guration)進(jìn)行Spring配置,可選擇不配置,或選擇Spring配置類。?Nocon?guration:將SpringBoot項(xiàng)目不做特殊處理。?@Con?guration:Spring配置類,分析該注解所在類中的Bean定義,用于確定生成測(cè)試用例時(shí)的類型約束,即生成的測(cè)試用例使用該Bean的類型。具體使用示例請(qǐng)參見(jiàn)SpringBoot?@SpringBootApplication:Spring配置類,分析SpringBoot項(xiàng)目中所有注入的Bean定義,用于確定生成測(cè)試用例時(shí)的類型約束,即生成的測(cè)試用例使用該Bean的類型。設(shè)置測(cè)試類型,只提供Unittests測(cè)試類型。pro?les)Pro?le是一種用于根據(jù)不同環(huán)境或條件來(lái)配置和激活不同Bean定義、配置屬性等的機(jī)制。與Spring配置類一起分析注入的Bean定義,用于確定生成測(cè)試用例時(shí)的類型約束,即生成的測(cè)試用例使用該Bean的類型。鯤鵬一碼多芯、同轅開(kāi)發(fā)技術(shù)白皮書/36行UT測(cè)試用例,生成時(shí)右下角會(huì)有進(jìn)度條顯示。圖3-22生成用例圖3-23進(jìn)度條顯示UT用例生成過(guò)程中,不能再進(jìn)行UT測(cè)試用例生成的操作。步驟4UT測(cè)試用例生成后,右下角會(huì)有生成成功提示,同時(shí)會(huì)在項(xiàng)目文件夾指定的目錄下(測(cè)試根目錄參數(shù)所指定的目錄)生成一個(gè)對(duì)應(yīng)的UT目錄,目錄下生成的UT測(cè)試用例路徑和項(xiàng)目文件夾下的路徑一一對(duì)應(yīng)。圖3-24成功提示37/鯤鵬一碼多芯、同轅開(kāi)發(fā)技術(shù)白皮書圖3-25生成測(cè)試用例文件夾----結(jié)束鯤鵬一碼多芯、同轅開(kāi)發(fā)技術(shù)白皮書/38代碼優(yōu)化介紹鯤鵬原生開(kāi)發(fā)在代碼優(yōu)化階段提供了DevKit親和分析工具,可實(shí)現(xiàn)鯤鵬親和代碼優(yōu)化建議,幫助開(kāi)發(fā)者寫出更適配鯤鵬平臺(tái)的代碼。圖3-26代碼優(yōu)化階段 通過(guò)鯤鵬DevKit/BoostKit開(kāi)發(fā)代碼:充分應(yīng)用鯤鵬架構(gòu)優(yōu)勢(shì),性能更優(yōu)代碼開(kāi)發(fā)代碼優(yōu)化,編譯>調(diào)試》調(diào)優(yōu)>?鯤鵬調(diào)試器??Java性能分析?GCCforopenEuler?BoostKit應(yīng)用使能親和分析工具親和分析工具是針對(duì)鯤鵬平臺(tái)的開(kāi)發(fā)者、用戶和ISV開(kāi)發(fā)者的應(yīng)用、源碼分析工具。親和分析工具屬于鯤鵬DevKit的擴(kuò)展工具之一,支持在鯤鵬平臺(tái)運(yùn)行。支持以下功能:》64位運(yùn)行模式檢查:將原32位平臺(tái)上的軟件遷移到64位平臺(tái)上,進(jìn)行遷移檢查并給出修改建議。》字節(jié)對(duì)齊檢查:在需要考慮字節(jié)對(duì)齊時(shí),檢查源碼中結(jié)構(gòu)體類型變量的字節(jié)對(duì)齊情況?!肪彺嫘袑?duì)齊檢查:對(duì)C/C++源碼中結(jié)構(gòu)體變量進(jìn)行128字節(jié)對(duì)齊檢查,提升訪存性能。》內(nèi)存一致性靜態(tài)檢查:在鯤鵬平臺(tái)上,分析、修復(fù)用戶軟件中的內(nèi)存一致性問(wèn)題?!废蛄炕瘷z查:在鯤鵬平臺(tái)上檢查可向量化片段并提供修改建議?!肪仃嚮瘷z查:在鯤鵬平臺(tái)上檢查可矩陣化片段并提供修改建議?!窐?gòu)建親和:分析make?le、CMakeLists.txt中可以替換成鯤鵬加速庫(kù)的內(nèi)容,并提供替換建議和功能修復(fù)?!酚?jì)算精度分析:精度分析工具對(duì)應(yīng)用函數(shù)插樁后,分別在x86平臺(tái)和鯤鵬平臺(tái)運(yùn)行,最終通過(guò)對(duì)比輸出結(jié)果,分析平臺(tái)計(jì)算精度差異。效率提示性能倍增快速集成效率提示性能倍增快速集成IDE插件快速安裝,提供開(kāi)發(fā)態(tài)源碼分析報(bào)告以及一鍵替換問(wèn)題的能力IDE插件快速安裝,提供開(kāi)發(fā)態(tài)源碼分析報(bào)告以及一鍵替換問(wèn)題的能力親和鯤鵬硬件架構(gòu),全場(chǎng)景提升訪存性能、計(jì)算精度支持Jenkins、Gitlab等業(yè)界主流流水線工具,快速集成CI/CD流水線親和分析工具詳細(xì)介紹請(qǐng)參見(jiàn)參見(jiàn)鯤鵬社區(qū)→鯤鵬開(kāi)發(fā)條件DevKit→應(yīng)用遷移→有源碼遷移→親和分析,詳情可掃描右方二維碼。39/鯤鵬一碼多芯、同轅開(kāi)發(fā)技術(shù)白皮書向量化檢查功能用于對(duì)可向量化片段進(jìn)行檢查,并提供向量化修改建議。步驟1創(chuàng)建向量化檢查分析任務(wù)。圖3-27向量化檢查(VSCode)用戶需要上傳源碼及編譯生成的BC文件,BC文件生成指導(dǎo)請(qǐng)參見(jiàn)聯(lián)機(jī)幫助。步驟2查看向量化檢查分析結(jié)果。圖3-28向量化檢查分析結(jié)果鯤鵬一碼多芯、同轅開(kāi)發(fā)技術(shù)白皮書/40圖3-29源碼修改建議----結(jié)束鯤鵬原生開(kāi)發(fā)在編譯構(gòu)建階段提供了畢昇編譯器、畢昇JDK、GCCforopenEuler。通過(guò)上述鯤鵬親和編譯器,在不修改用戶應(yīng)用源碼的情況下,提供鯤鵬平臺(tái)的應(yīng)用性能提升。圖3-30代碼優(yōu)化階段 通過(guò)鯤鵬DevKit/BoostKit開(kāi)發(fā)代碼:充分應(yīng)用鯤鵬架構(gòu)優(yōu)勢(shì),性能更優(yōu)代碼開(kāi)發(fā)代碼優(yōu)化編譯調(diào)試》調(diào)優(yōu)>?鯤鵬調(diào)試器??Java性能分析?GCCforopenEuler?BoostKit應(yīng)用使能鯤鵬親和編譯器,詳細(xì)介紹與最新內(nèi)容請(qǐng)參見(jiàn)鯤鵬社區(qū)→鯤鵬開(kāi)發(fā)套件DevKit→編譯,詳情可掃描下方二維碼。41/鯤鵬一碼多芯、同轅開(kāi)發(fā)技術(shù)白皮書畢昇編譯器是華為編譯器實(shí)驗(yàn)室針對(duì)通用處理器架構(gòu)構(gòu)建,增強(qiáng)和引入了多種編譯優(yōu)化技術(shù),致力于打造高性能、高可信及易擴(kuò)展的編譯器工具鏈?!犯咝阅芫幾g算法,基于鯤鵬架構(gòu)深度調(diào)優(yōu),內(nèi)存優(yōu)化、循環(huán)優(yōu)化、自動(dòng)向量化等多種編譯增強(qiáng)?!分С职踩?高效編碼工具集,包括靜態(tài)檢查工具、重構(gòu)工具等。畢昇JDK畢昇JDK基于OpenJDK開(kāi)發(fā),是一款高性能、可用于生產(chǎn)環(huán)境的OpenJDK發(fā)行版;畢昇JDK已應(yīng)用于華為內(nèi)部多個(gè)產(chǎn)品上,解決了業(yè)務(wù)實(shí)際運(yùn)行中遇到的多個(gè)疑難問(wèn)題;在GC、鯤鵬后端代碼生成、類信息共享等方面重點(diǎn)優(yōu)化,在大數(shù)據(jù)等領(lǐng)域性能突出。畢昇JDK致力于為Java開(kāi)發(fā)者提供一款穩(wěn)定可靠、高性能、易調(diào)測(cè)的JDK,也為用戶在鯤鵬架構(gòu)上提供一個(gè)更好的選擇。GCCforopenEulerGCCforopenEuler是基于開(kāi)源GCC開(kāi)發(fā)的編譯器工具鏈(包含編譯器》針對(duì)鯤鵬平臺(tái)進(jìn)行質(zhì)量加固,覆蓋開(kāi)源+商業(yè)全量測(cè)試,多產(chǎn)品穩(wěn)定商用。鯤鵬一碼多芯、同轅開(kāi)發(fā)技術(shù)白皮書/42鯤鵬編譯調(diào)試工具支持在調(diào)試階段進(jìn)行應(yīng)用調(diào)試。支持C/C++/Fortran代碼調(diào)試能力、支持單機(jī)下GPU應(yīng)用調(diào)試能力、支持HPC場(chǎng)景多節(jié)點(diǎn)應(yīng)用并行調(diào)試能力。圖3-31調(diào)試階段 通過(guò)鯤鵬DevKit/BoostKit開(kāi)發(fā)代碼:充分應(yīng)用鯤鵬架構(gòu)優(yōu)勢(shì),性能更優(yōu)代碼開(kāi)發(fā)代碼優(yōu)化?場(chǎng)景化SDK?鯤鵬親和分析?畢昇編譯器?系統(tǒng)性能分析?啟發(fā)式編程?畢昇JDK?Java

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論