




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
鯤鵬原生開發(fā)技術(shù)白皮書鯤鵬原生開發(fā)的機(jī)遇和挑戰(zhàn) 01鯤鵬原生開發(fā)的核心技術(shù)理念 0303鯤鵬原生開發(fā)能力介紹 0503代碼開發(fā)階段 06代碼開發(fā) 06代碼優(yōu)化 283.1.3編譯 303.1.4調(diào)試 323.1.5調(diào)優(yōu) 37流水線階段 61門禁檢查 61編譯構(gòu)建 663.2.3調(diào)優(yōu) 673.2.4測試 683.2.5版本發(fā)布 69OS底座(openEuler系操作系統(tǒng)) 70openEuler簡介 70openEuler基礎(chǔ)能力 71openEuler工具和社區(qū)服務(wù) 7504行業(yè)案例 80044.1金融 81恒生電子:基于鯤鵬原生開發(fā)經(jīng)紀(jì)場外業(yè)務(wù)系統(tǒng),讓證券數(shù)據(jù)處理更高效 81宇信科技:基于鯤鵬原生開發(fā)金融軟件,讓金融信息處理更高效 834.2電信 86浩瀚深度:鯤鵬原生賦能DPI采集系統(tǒng),網(wǎng)絡(luò)數(shù)據(jù)可視化處理更加高效 86恒安嘉新:基于鯤鵬原生開發(fā)安全采集分析平臺,保障企業(yè)信息系統(tǒng)安全穩(wěn)定運(yùn)行 894.3政府 91超圖軟件:基于鯤鵬原生開發(fā)地理信息系統(tǒng),讓自燃資源評估更高效 91深圳防災(zāi)減災(zāi)技術(shù)研究院:鯤鵬原生助力地震觀測數(shù)據(jù)高效處理 934.4電力 95廣州海頤:基于鯤鵬原生開發(fā)高性能、高可靠電力系統(tǒng)軟件,加速電網(wǎng)數(shù)字化轉(zhuǎn)型 95國能信控:基于鯤鵬原生開發(fā)新能源計(jì)算平臺,為電力系統(tǒng)提供高效算力支撐 974.5醫(yī)療 99衛(wèi)寧健康:基于鯤鵬原生開發(fā)新一代醫(yī)療信息系統(tǒng)WiNEX,讓醫(yī)療服務(wù)更便利 99東華軟件:構(gòu)建鯤鵬原生醫(yī)療經(jīng)營管理系統(tǒng),讓醫(yī)院運(yùn)作更有序 101水平軟件 103星環(huán)科技:基于鯤鵬原生大數(shù)據(jù)基礎(chǔ)軟件,讓企業(yè)數(shù)據(jù)流轉(zhuǎn)更快捷 103深信服:聯(lián)合鯤鵬共同推進(jìn)企業(yè)級分布式存儲EDS原生開發(fā)創(chuàng)新實(shí)踐,讓數(shù)據(jù)管理更可靠 10501鯤鵬原生開發(fā)的機(jī)遇和挑戰(zhàn)鯤鵬計(jì)算產(chǎn)業(yè)聚焦計(jì)算架構(gòu)創(chuàng)新和開源基礎(chǔ)軟件的研發(fā),致力于推動鯤鵬生態(tài)發(fā)展。通過戰(zhàn)略性、長期性的研發(fā)投入,吸納全球計(jì)算產(chǎn)業(yè)的優(yōu)秀人才和先進(jìn)技術(shù),持續(xù)推進(jìn)全棧計(jì)算技術(shù)的創(chuàng)新發(fā)展,加快構(gòu)筑面向多樣化計(jì)算的全球開源體系與產(chǎn)業(yè)標(biāo)準(zhǔn)?;凇坝布_放、軟件開源、使能伙伴、發(fā)展人才”的策略推動鯤鵬計(jì)算產(chǎn)業(yè)發(fā)展。目前,鯤鵬軟硬件聯(lián)合創(chuàng)新已覆蓋國計(jì)民生核心場景,主流伙伴核心應(yīng)用已遷移到鯤鵬,鯤鵬生態(tài)進(jìn)入快速發(fā)展期。當(dāng)前階段,鯤鵬和x86多平臺版本并行迭代成為主要需求,由于兩個架構(gòu)開發(fā)生態(tài)的差異,如果采用兩套流水線分別開發(fā)兩套代碼,則會帶來很多重復(fù)開發(fā)驗(yàn)證的工作,并且兩個版本分別開發(fā)、構(gòu)建和維護(hù)效率低。因+openEulerDevKit鯤鵬BoostKit1+1多平臺版本,助力伙伴持續(xù)且首發(fā)性能領(lǐng)先的商用版本。02鯤鵬原生開發(fā)的鯤鵬原生開發(fā)的核心技術(shù)理念鯤鵬原生開發(fā)的核心技術(shù)理念:鯤鵬原生開發(fā)的核心技術(shù)理念:基于鯤鵬硬件+openEuler+鯤鵬開發(fā)套件DevKit+鯤鵬應(yīng)用使能套件BoostKit,實(shí)現(xiàn)1套代碼+1條流水線構(gòu)建多平臺版本,效率更高、性能更優(yōu)。鯤鵬原生開發(fā)包含代碼開發(fā)階段和流水線階段:? DevKit、BoostKit開發(fā)代碼,充分應(yīng)用鯤鵬架構(gòu)優(yōu)勢,性能更優(yōu)。? DevKit1CI/CD,便捷發(fā)布多平臺版本。圖2-1核心技術(shù)理念系統(tǒng)性能分析Java系統(tǒng)性能分析Java性能分析系統(tǒng)診斷鯤鵬調(diào)試器畢昇編譯器JDKGCCforopenEuler鯤鵬親和分析SDK啟發(fā)式編程BoostKit應(yīng)用使能調(diào)優(yōu)調(diào)試編譯代碼優(yōu)化代碼開發(fā)代碼開發(fā)階段病毒掃描,5↑20↑多樣性算力測試套件,應(yīng)用編譯調(diào)試,5%~10↑10↑CFGO/LTO//指5%↑鯤鵬兼容&親和,病毒掃描測試框架測試工具測試樣例畢昇編譯器 ?自動反饋優(yōu)化JDKGCCforopenEuler應(yīng)用遷移親和分析編碼規(guī)范檢查X86版本發(fā)布鯤鵬版本發(fā)布X86平臺測試鯤鵬平臺測試X86平臺調(diào)優(yōu)鯤鵬平臺調(diào)優(yōu)X86版本編譯構(gòu)建鯤鵬版本編譯構(gòu)建流水線階段門禁檢查? &高效發(fā)布:DevKit1小時接入兩大主流(Jenkins、GitLab)CI/CD流水線,高效提升鯤鵬流水線搭建及版本發(fā)布效率。? &極致性能:鯤鵬流水線使能鯤鵬親和分析工具、編譯器、性能工具等,實(shí)現(xiàn)應(yīng)用性能提升。? 多架構(gòu)兼容:1套流水線同時支持多樣性算力版本構(gòu)建及測試。鯤鵬原生開發(fā)技術(shù)白皮書/0403鯤鵬原生開發(fā)3代碼開發(fā)階段
鯤鵬原生開發(fā)能力介紹.1代碼開發(fā)代碼開發(fā)介紹鯤鵬原生開發(fā)在代碼開發(fā)階段提供了DevKit應(yīng)用開發(fā)工具和BoostKit應(yīng)用使能套件,可通過啟發(fā)式編程及多場景化SDK提供的示例Demo和文檔,有效提升鯤鵬原生開發(fā)效率。圖3-1代碼開發(fā)階段系統(tǒng)性能分析系統(tǒng)性能分析Java性能分析系統(tǒng)診斷鯤鵬調(diào)試器畢昇編譯器JDKGCCforopenEuler鯤鵬親和分析調(diào)優(yōu)調(diào)試編譯代碼優(yōu)化代碼開發(fā)通過鯤鵬DevKit/BoostKit開發(fā)代碼:充分應(yīng)用鯤鵬架構(gòu)優(yōu)勢,性能更優(yōu)SDK啟發(fā)式編程BoostKit應(yīng)用使能應(yīng)用開發(fā)工具C/C+? DPAK應(yīng)用工程和數(shù)據(jù)IO應(yīng)用工程。? 字典管理:支持加速庫函數(shù)字典管理,可線上(自動)和線下更新。? 編程輔助:支持鯤鵬加速庫函數(shù)的懸浮提示、函數(shù)搜索,支持Coding時自動聯(lián)想和高亮鯤鵬加速庫優(yōu)化后的相關(guān)函數(shù)。應(yīng)用開發(fā)工具,詳細(xì)介紹與最新內(nèi)容請參見鯤鵬社區(qū)→鯤鵬開發(fā)套件DevKit→開發(fā),詳情可掃描下方二維碼。鯤鵬原生開發(fā)技術(shù)白皮書/06鯤鵬應(yīng)用工程提供場景化的鯤鵬應(yīng)用工程模板,快速輔助工程環(huán)境構(gòu)建、配置檢查、依賴下載、構(gòu)建文件生成等。步驟1創(chuàng)建鯤鵬應(yīng)用工程(通用計(jì)算應(yīng)用工程,界面截圖以VSCode環(huán)境為例)。圖3-2創(chuàng)建工程2SDK。圖3-3部署SDK07/鯤鵬原生開發(fā)技術(shù)白皮書鯤鵬原生開發(fā)能力介紹步驟3工程創(chuàng)建成功后,展示結(jié)果。圖3-4工程創(chuàng)建成功步驟4單擊“打開工程”,查看工程樣例代碼。圖3-5查看樣例代碼----結(jié)束鯤鵬原生開發(fā)技術(shù)白皮書/08字典管理支持加速庫函數(shù)字典管理,可線上(自動)和線下更新。步驟1當(dāng)用戶實(shí)際網(wǎng)絡(luò)環(huán)境無法連接外網(wǎng)時,可上傳本地字典文件。?鼠標(biāo)移動到“字典導(dǎo)入”旁的 ,單擊“下載”下載字典文件并在本地字典文件框內(nèi)上傳。?圖3-6上傳本地字典文件2開啟加速庫提示,開啟后,用戶編碼過程中將會自動聯(lián)想、補(bǔ)齊與字典中匹配的庫和函數(shù),方便用戶下載使用。圖3-7開啟加速庫提示3開啟編譯選項(xiàng)智能聯(lián)想,開啟后,工具將會根據(jù)用戶選擇的編譯器版本進(jìn)行智能聯(lián)想,可在編譯器版本下拉列表中選擇合適的編譯器版本。圖3-8開啟編譯選項(xiàng)智能聯(lián)想說明 用戶構(gòu)建腳本時,工具將會根據(jù)用戶選擇的GCC版本或BiShengCompiler版本進(jìn)行智能聯(lián)想,BiShengCompiler版本范圍在2.1.0~4.0.0,GCC版本范圍在4.8.5~10.3.1。09/鯤鵬原生開發(fā)技術(shù)白皮書鯤鵬原生開發(fā)能力介紹4圖3-9添加網(wǎng)站圖3-10輸入網(wǎng)站地址----結(jié)束編程輔助支持鯤鵬加速庫函數(shù)的懸浮提示、函數(shù)搜索,支持編碼時智能聯(lián)想和高亮鯤鵬加速庫優(yōu)化后的相關(guān)函數(shù)。步驟1在代碼編輯區(qū)輸入代碼,工具會根據(jù)輸入的內(nèi)容自動聯(lián)想函數(shù)或補(bǔ)全代碼。圖3-11自動聯(lián)想函數(shù)鯤鵬原生開發(fā)技術(shù)白皮書/10步驟2通過代碼編輯區(qū)右上角的(放大鏡),在搜索框輸入關(guān)鍵字,可實(shí)現(xiàn)函數(shù)搜索。圖3-12函數(shù)搜索----結(jié)束BoostKit應(yīng)用使能套件BoostKit應(yīng)用使能套件簡介鯤鵬BoostKit應(yīng)用使能套件,基于鯤鵬硬件、基礎(chǔ)軟件和應(yīng)用軟件的全棧優(yōu)化,提供高性能開源組件、基礎(chǔ)加速軟件包和應(yīng)用加速軟件包,使能應(yīng)用極致性能,其針對大數(shù)據(jù)、分布式存儲、數(shù)據(jù)庫、虛擬化和ARM原生等場景進(jìn)行了深度優(yōu)化鯤鵬架構(gòu)特性,如內(nèi)存管理、計(jì)算調(diào)度等方面的技術(shù)優(yōu)勢,通過預(yù)置的高性能庫和框架,賦能開發(fā)者輕松構(gòu)建適應(yīng)鯤鵬架構(gòu)的高性能應(yīng)用。在同一個構(gòu)建流程中,當(dāng)集成BoostKit后,基于鯤鵬架構(gòu)的目標(biāo)軟件包能夠獲益較大的性能提升。11/鯤鵬原生開發(fā)技術(shù)白皮書鯤鵬原生開發(fā)能力介紹圖3-13鯤鵬BoostKit應(yīng)用使能套件簡介鯤鵬應(yīng)用使能套件鯤鵬應(yīng)用使能套件BoostKit,極致性能,使能鯤鵬“好用”八大場景軟硬協(xié)同優(yōu)化,使能鯤鵬好用BoostKit:八大場景軟硬協(xié)同優(yōu)化,使能鯤鵬好用場景化應(yīng)用高性能開源組件基礎(chǔ)加速軟件包參考實(shí)現(xiàn)應(yīng)用加速軟件包大數(shù)據(jù) 分布式存儲 數(shù)據(jù)庫 虛擬化 ARM原生場景化應(yīng)用高性能開源組件基礎(chǔ)加速軟件包參考實(shí)現(xiàn)應(yīng)用加速軟件包大數(shù)據(jù) 分布式存儲 數(shù)據(jù)庫 虛擬化 ARM原生 機(jī)密計(jì)算 Web/CDN HPC數(shù)據(jù)親和:數(shù)據(jù)全處理流程負(fù)載優(yōu)化就近計(jì)算算法加速并行化處理全生命周期安全基礎(chǔ)軟件數(shù)據(jù)親和:數(shù)據(jù)全處理流程負(fù)載優(yōu)化就近計(jì)算算法加速并行化處理全生命周期安全基礎(chǔ)軟件BoostKit大數(shù)據(jù)分布式存儲數(shù)據(jù)庫機(jī)密計(jì)算算法加速庫智能預(yù)取可插拔TrustZone套件OmniRuntime特性自研壓縮算法在線向量化分析引擎SQL執(zhí)行效率30%↑11大類40+算法性能最高20x↑IOPS性能1.5x↑壓縮率25%↑TPCH查詢性能4X↑自研安全OS內(nèi)核性能最高8x↑鯤鵬硬件獲取最新的鯤鵬BoostKit應(yīng)用使能套件和詳細(xì)的用戶指南,請參見鯤鵬應(yīng)用使能套件BoostKit,詳情可掃描下方二維碼。鯤鵬硬件鯤鵬原生開發(fā)技術(shù)白皮書/12BoostKit應(yīng)用加速鯤鵬BoostKit提供性能倍增的應(yīng)用加速軟件包,使能數(shù)據(jù)處理極致性能、數(shù)據(jù)訪問極致高效和云手機(jī)極致體驗(yàn)。鯤鵬BoostKit應(yīng)用加速軟件包,詳細(xì)介紹與最新內(nèi)容請參見鯤鵬應(yīng)用使能套件BoostKit→應(yīng)用加速軟件包,詳情可掃描右方二維碼。3-14BoostKit場景化基礎(chǔ)加速能力介紹場景化基礎(chǔ)加速特性BoostKit場景化基礎(chǔ)加速特性BoostKit場景化基礎(chǔ)加速特性全景圖大數(shù)據(jù)分布式存儲數(shù)據(jù)庫虛擬化ARM原生Web/CDNopenEuler和畢昇JDK性能優(yōu)化壓縮算法NVMeSSD原子寫OVS流表歸一化ExaGearAArch32指令翻譯軟件KAERSA加解密存儲算法加速庫Gazelle網(wǎng)絡(luò)優(yōu)化OVS流表網(wǎng)卡加速存儲維護(hù)工具庫GCC反饋優(yōu)化KAEzip壓縮解壓縮優(yōu)化高性能云盤優(yōu)化KAESPDK虛擬化DPU卸載vKAEvCPU熱插拔MPAM插件3-15BoostKit場景化應(yīng)用加速能力介紹BoostKit應(yīng)用加速BoostKit應(yīng)用加速:提供性能倍增的應(yīng)用加速能力BoostKit應(yīng)用加速組件全景圖大數(shù)據(jù)分布式存儲EC大數(shù)據(jù)分布式存儲ECTurbo數(shù)據(jù)庫MySQL可插拔在線向量化分析引擎OmniRuntime圖分析算法智能寫CacheCRC32指令優(yōu)化機(jī)器學(xué)習(xí)算法IO直通MySQLNUMA調(diào)度優(yōu)化數(shù)據(jù)壓緊MySQL可插拔線程池元數(shù)據(jù)加速M(fèi)ySQL并行查詢優(yōu)化Ucache智能讀緩存MySQL細(xì)粒度鎖優(yōu)化BoostIOMySQL無鎖優(yōu)化RDMA網(wǎng)絡(luò)加速虛擬化ARM原生HPC負(fù)載感知加速系統(tǒng)Kbox云手機(jī)容器多瑙調(diào)度器視頻流引擎多瑙調(diào)度平臺指令流引擎13/鯤鵬原生開發(fā)技術(shù)白皮書鯤鵬原生開發(fā)能力介紹ARM原生BoostKitARMARM指令集同構(gòu)優(yōu)勢,支持移動應(yīng)用無損上云,同時將多年技術(shù)積累濃縮到Kbox云手機(jī)容器、指令流引擎、視頻流引擎核心能力等組件,形成了云手機(jī)Turbo套件,降低了開發(fā)難度,提升整機(jī)的密度,降低云手機(jī)單路成本,其中HostOSUbuntuopenEuler,GuestOSandroid-9.0.0_r55和android-11.0.0_r48Turbo套件進(jìn)行二次開發(fā),從而實(shí)現(xiàn)云手機(jī)極致的性能和業(yè)務(wù)體驗(yàn)。圖3-16鯤鵬BoostKitARM原生云手機(jī)整體架構(gòu)Turbo視頻流引擎Turbo指令流引擎SDK)云游戲/云手機(jī)APK基礎(chǔ)云手機(jī)Android9.0/11.0GuestOS云手機(jī)Turbo套件Kbox虛擬化ExaGearAArch32指令翻譯軟件ExaGearUbuntu/openEulerHostOS硬件平臺編碼卡GPU鯤鵬服務(wù)器云手機(jī)Turbo套件視頻流引擎云手機(jī)Turbo套件指令流引擎端云協(xié)同引擎(服務(wù)端SDK)云手機(jī)管理系統(tǒng)硬件平臺編碼卡GPU鯤鵬服務(wù)器云手機(jī)Turbo套件視頻流引擎云手機(jī)Turbo套件指令流引擎端云協(xié)同引擎(服務(wù)端SDK)云手機(jī)管理系統(tǒng)ExaGearAArch32指令翻譯軟件ExaGearAArch32指令翻譯軟件為鯤鵬服務(wù)器提供AArch32特性,基于鯤鵬服務(wù)器在ARM原生場景下能夠完全兼容AArch32的應(yīng)用,保障AArch32V8.0指令應(yīng)用100%兼容。同時也支持pre-translator特性,優(yōu)化翻譯后的APP啟動時間,提升客戶體驗(yàn)。Kbox云手機(jī)容器Kbox云手機(jī)容器提供了軟件定義手機(jī)的基礎(chǔ)能力,其基于鯤鵬服務(wù)器,在Docker容器技術(shù)和Android開源項(xiàng)目(AOSP)基礎(chǔ)上,實(shí)現(xiàn)了將GPU設(shè)備直通到容器的輕量級設(shè)備仿真層架構(gòu)方案,提供了基于Android系統(tǒng)的云手機(jī)容器參考方案??蓪?shí)現(xiàn)在鯤鵬服務(wù)器支持100路720p@30fps的Kbox云手機(jī)容器高并發(fā)(以托管場景為例,云手機(jī)并發(fā)密度取決于客戶云手機(jī)實(shí)際應(yīng)用),具有高密度、高兼容性等商業(yè)價(jià)值。鯤鵬原生開發(fā)技術(shù)白皮書/14視頻流引擎H.264和H.265硬編碼,H.265,其實(shí)現(xiàn)原理是利用云端強(qiáng)大的能力將應(yīng)用和游戲的運(yùn)行、渲染成最終的畫面,并進(jìn)行視頻的壓縮流化后,發(fā)送到終端播放顯示。視頻流引擎支持視頻編碼能力、視頻解碼/播放能力等核心功能,客戶可以基于這些引擎進(jìn)行二次開發(fā),實(shí)現(xiàn)在移動終端上進(jìn)行操控應(yīng)用和游戲等操作。云端采用專業(yè)顯卡進(jìn)行渲染,可以獲取高畫質(zhì)的業(yè)務(wù)體驗(yàn);對終端的要求極低,只要求有視頻解碼能力即可;提供統(tǒng)一API,降低二次開發(fā)難度,易集成。指令流引擎指令流云手機(jī)方案采用業(yè)界獨(dú)創(chuàng)的端云分離渲染技術(shù),可實(shí)現(xiàn)云側(cè)免GPU部署,整機(jī)硬件成本下降10%,其實(shí)現(xiàn)原理是云手機(jī)利用云端強(qiáng)大的算力,通過引擎實(shí)現(xiàn)云端復(fù)制應(yīng)用和游戲的渲染指令,并進(jìn)行渲染指令和紋理數(shù)據(jù)壓縮流化,在端側(cè)使用手機(jī)終端的GPU把這些指令渲染出來圖像。指令流引擎,支持機(jī)指令分離渲染、紋理數(shù)據(jù)視頻流化、觸控和音頻抓取/放能力等核心功能,客戶可以基于這些引擎進(jìn)行二次開發(fā),實(shí)現(xiàn)在移動終端上進(jìn)行操控應(yīng)用和游戲等操作。通過指令流引擎技術(shù),可以支持云手機(jī)全系統(tǒng)渲染,并提供近乎無損的畫質(zhì),在1080P/2k/4k分辨率下均不影響傳輸帶寬,并通過資源緩存技術(shù),有效降低網(wǎng)絡(luò)帶寬50%+;突破云端GPU能力限制,實(shí)現(xiàn)無GPU高密運(yùn)行機(jī)制,單路硬件成本降低40%,支持圖形渲染狀態(tài)機(jī)的本地執(zhí)行與遠(yuǎn)端同步,實(shí)現(xiàn)1080P30FPS低響應(yīng)時延的用戶體驗(yàn)。大數(shù)據(jù)鯤鵬BoostKit大數(shù)據(jù)聚焦大數(shù)據(jù)查詢效率低、性能優(yōu)化難等挑戰(zhàn),提供大數(shù)據(jù)組件的開源使能和調(diào)優(yōu)、OmniRuntime、機(jī)器學(xué)習(xí)和圖分析算法加速庫等應(yīng)用加速軟件包,提升大數(shù)據(jù)分析效率。機(jī)器學(xué)習(xí)算法加速庫算法加速庫圖3-17大數(shù)據(jù)應(yīng)用加速軟件包介紹機(jī)器學(xué)習(xí)算法加速庫算法加速庫大數(shù)據(jù)加速底座OmniRuntimeOmniData算子下推OmniOperator算子加速OmniShuffleShuffle加速OmniMV物化視圖OmniAdvisor參數(shù)調(diào)優(yōu)OmniHBaseGSI全局二級索引圖算法加速庫openEuler和畢昇JDK性能優(yōu)化圖算法加速庫適用Hive2.X/3.X、Spark2.X,openEuler操作系統(tǒng)基于大數(shù)據(jù)核心組件Hive、Spark通過磁盤IO、網(wǎng)絡(luò)IO的調(diào)度策略優(yōu)化、Neon指令優(yōu)化等實(shí)現(xiàn)大數(shù)據(jù)計(jì)算性能提升。畢昇JDK性能優(yōu)化基于鯤鵬處理器構(gòu)建開源JDK社區(qū),通過AppCDS、GC算法優(yōu)化、編譯優(yōu)化等提升大數(shù)據(jù)核心組件Hive、Spark的計(jì)算性能。Hive性能提升2%~25%,Spark性能提升3%~25%。OmniRuntime大數(shù)據(jù)OmniRuntime是鯤鵬BoostKit大數(shù)據(jù)面向應(yīng)用加速推出的一系列特性,包括OmniData算子下推、OmniOperator算子加速、OmniShuffleShuffle加速、OmniMV物化視圖、OmniAdvisor參數(shù)調(diào)優(yōu)和OmniHBaseGSI全局二級索引,旨在通過插件化的形式,端到端提升數(shù)據(jù)加載、數(shù)據(jù)計(jì)算和數(shù)據(jù)交換的性能,從15/鯤鵬原生開發(fā)技術(shù)白皮書鯤鵬原生開發(fā)能力介紹而提升大數(shù)據(jù)分析的性能。Spark使用OmniRuntime加速特性執(zhí)行SQL計(jì)算,相比原生性能提升20%~40%,具體包括組件如下:?OmniData算子下推適用于存算分離場景或大規(guī)模存算融合場景,支持Spark3.0.0/3.1.1、Hive3.1.0(Tez0.10.0),是一種將大數(shù)據(jù)引擎的算子下推到存儲節(jié)點(diǎn)或卸載節(jié)點(diǎn)的服務(wù),從而實(shí)現(xiàn)了近數(shù)據(jù)計(jì)算,減少了網(wǎng)絡(luò)帶寬,將該特性集成到Spark后,基于TPC-H測試用例12條算子下推的SQL性能平均提升40%。集成到Hive后,基于TPC-H測試用例4條算子下推SQL性能平均提升20%。?OmniOperator算子加速適用于虛擬化場景,支持Spark3.1.1、Spark3.3.1、Hive3.1.0版本,其采用NativeCode(C/C++)實(shí)現(xiàn)大數(shù)據(jù)SQL算子來提高查詢性能的特性,通過列式存儲和向量化執(zhí)行技術(shù),同時利用鯤鵬加速庫,提升算子的執(zhí)行效率,將該特性集成到Spark后,基于TPC-DS99條SQL驗(yàn)證,可實(shí)現(xiàn)Spark性能提升30%。?OmniShuffleShuffle加速適用于虛擬化場景,支持RDMA和TCP兩種網(wǎng)絡(luò)模式,支持Spark3.1.1、Spark3.3.1、Hive3.1.0版本,其基于TCP/RDMA等網(wǎng)絡(luò)介質(zhì),優(yōu)化數(shù)據(jù)分析過程中跨節(jié)點(diǎn)的數(shù)據(jù)寫入、傳輸和讀取流程,提升Shuffle性能,支持?jǐn)?shù)據(jù)分析過程性能提升,將該特性及算子加速特性集成到Spark后,基于TPC-DS99條SQL驗(yàn)證,可實(shí)現(xiàn)Spark性能提升40%。?OmniMV物化視圖適用于虛擬化場景,支持Spark3.1.1版本,支持ClickHouse版本,其通過AI算法從歷史SQL查詢中推薦出最優(yōu)物化視圖,并在Spark中自動對用戶SQL進(jìn)行物化視圖匹配,將匹配成功的物化視圖替換用戶執(zhí)行計(jì)劃的部分SQL,大幅減少重復(fù)計(jì)算,提升查詢性能,在將該特性集成到Spark后,基于TPC-DS基準(zhǔn)測試用例實(shí)現(xiàn)了Spark組件計(jì)算性能平均提升30%,集成到ClickHouse后,基于StarSchemaBenchMark實(shí)現(xiàn)ClickHouse計(jì)算性能平均提升數(shù)倍。?OmniAdvisor參數(shù)調(diào)優(yōu)Spark3.1.1Hive3.1.0(Hiveon模式Spark/Hive引擎參數(shù)眾多,AI10SQLSpark。?OmniHBaseGSI全局二級索引適用于虛擬機(jī)場景,支持HBase2.4.14HBase原生提供了主鍵索引,但若使用非Rowkey進(jìn)行查詢,則需要進(jìn)行全表掃描,不僅耗費(fèi)大量資源,查詢時延也很長,OmniHBaseGSI全局二級索引,可以在非RowkeyRowkey100并發(fā)下,30ms,P99300ms。機(jī)器學(xué)習(xí)和圖分析算法兼容Spark原生機(jī)器學(xué)習(xí)和圖分析算法的API接口,支持適配Spark2.3.2、Spark2.4.5、Spark2.4.6版本,部分算法支持Spark3.1.1和Spark3.3.1版本,基于算法原理和芯片特征針對機(jī)器學(xué)習(xí)和圖分析算法進(jìn)行深入優(yōu)化,從而可以大幅提升大數(shù)據(jù)算法場景的計(jì)算性能。鯤鵬的機(jī)器學(xué)習(xí)&圖分析算法加速庫相比業(yè)界Spark原生MLlib和GraphX,相同精度下計(jì)算性能提升20%以上。鯤鵬原生開發(fā)技術(shù)白皮書/16分布式存儲鯤鵬BoostKit分布式存儲使能套件聚焦開源Ceph存儲的性能低、成本高等關(guān)鍵挑戰(zhàn),通過存儲算法加速庫和存儲Ceph加速庫等特性提升系統(tǒng)性能和降低存儲成本,充分發(fā)揮鯤鵬算力優(yōu)勢,提供高性價(jià)比存儲方案。壓縮算法適用于塊存儲服務(wù)數(shù)據(jù)壓縮和對象存儲服務(wù)數(shù)據(jù)壓縮,與主流開源壓縮算法相比,壓縮率可提升25%,帶寬性能提升10%。存儲算法加速庫支持Ceph14.2.8版本,其采用鯤鵬優(yōu)化的算法代替主流開源算法,提升存儲性能。當(dāng)前包括EC算法、CRC16T10DIF算法和CRC32C算法,具體介紹如下:?EC算法適用于塊存儲或?qū)ο蟠鎯鼍?,支持K+1、K+2、K+3、K+4(2≤K≤25)和28+3配比,其他配比暫不支持,其采用向量化EC編解碼方案,以低階二元XOR操作替代傳統(tǒng)標(biāo)量編碼的高階有限域乘法,配合編碼調(diào)度,復(fù)用中間計(jì)算結(jié)果減少操作數(shù),與主流開源算法相比,EC算法編碼性能提升1倍以上。?CRC16T10DIF算法和CRC32C算法通過大數(shù)求余算法和配合鯤鵬向量化指令實(shí)現(xiàn)編碼加速,與主流開源算法相比,CRC16T10DIF算法4K性能提升100%,CRC32C算法4K性能提升20%。存儲維護(hù)工具庫存儲維護(hù)工具庫(KSML)是華為自研的存儲維護(hù)工具庫,包括HDD/SSD故障預(yù)測與HDD/SSD慢盤檢測功能,基于機(jī)器學(xué)習(xí)算法,通過收集SMART數(shù)據(jù)訓(xùn)練模型,預(yù)測與識別存儲集群潛在故障盤,通過采集系統(tǒng)磁盤的svctm完成慢盤檢測。17/鯤鵬原生開發(fā)技術(shù)白皮書鯤鵬原生開發(fā)能力介紹KAE使能SPDKSPDK的BDEV設(shè)備作為虛擬設(shè)備層對接底層多種設(shè)備類型(虛擬設(shè)備、物理設(shè)備),通過在BDEV設(shè)備中使能壓縮和加解密能夠支持所有SPDK設(shè)備。鯤鵬KAE通過Zlib和Openssl提供壓縮和加解密,通過在BDEV設(shè)備中支持Zlib和OpenSSL的KAE加速實(shí)現(xiàn)對應(yīng)能力的硬件卸載。ECTurbo支持Ceph14.2.8版本,適用于使用塊存儲或?qū)ο蟠鎯Ψ?wù)場景,不支持Bcache,該特性是針對開源Ceph的EC流程進(jìn)行優(yōu)化,降低了數(shù)據(jù)讀寫流程中的IO放大比例,從而使得整體性能更高。相對于Ceph開源EC,在均衡型配置下,對于塊存儲服務(wù),ECTurbo性能可達(dá)到x86三副本80%以上,存儲成本降低50%;對于對象存儲服務(wù),ECTurbo(4+2)性能達(dá)到x86三副本80%以上,大IO存儲成本比三副本降低50%,小IO成本與三副本持平。智能寫Cache支持Ceph14.2.8版本,適用于塊存儲和對象存儲服務(wù)寫場景,其支持通過IO直通、QoS控制策略、Writeback控制策略以及GC控制策略,提升Bcache場景下的Ceph集群寫性能。在塊存儲隨機(jī)寫場景下,IOPS性能可提升20%以上。IO直通IO直通工具是針對Ceph均衡型場景下的一個流程優(yōu)化工具,可以自動對Ceph集群進(jìn)行性能優(yōu)化。在均衡型配置場景下,使用IO直通特性可提升存儲性能15%以上。數(shù)據(jù)壓緊通過消除補(bǔ)零對齊操作帶來的數(shù)據(jù)浪費(fèi)問題,結(jié)合壓緊封裝、空間計(jì)數(shù)分配、粒度分流、聚合提交、批量回調(diào)等手段提升數(shù)據(jù)縮減率并提升系統(tǒng)整體IOPS,實(shí)現(xiàn)成本性能雙收益。數(shù)據(jù)壓緊可將數(shù)據(jù)壓縮率再提高20%以上,對系統(tǒng)性能無損失。元數(shù)據(jù)加速元數(shù)據(jù)加速特性在RocksDB的基礎(chǔ)上,結(jié)合華為自研算法進(jìn)行了性能加速優(yōu)化,在使能鯤鵬加速特性時可以獲取更佳的性能。較開源RocksDB,混合讀寫場景性能提升超過30%。Ucache智能讀緩存智能讀緩存通過IO智能預(yù)取精準(zhǔn)識別熱點(diǎn)請求并針對順序、間隔等IO流進(jìn)行IO預(yù)取,將IO提前載入讀緩存,同時讀緩存通過LRU算法淘汰冷數(shù)據(jù),從而提高緩存的IO命中率,提升讀性能。Ucache智能讀緩存可提高讀請求IO命中率以提升讀性能。熱點(diǎn)、順序、間隔等IO流下性能提升100%。BoostIO在存算分離架構(gòu)下,BoostIO利用計(jì)算側(cè)的內(nèi)存和磁盤資源構(gòu)建分布式多級緩存,寫緩存通過RDMA高速通信、緩存親和策略、副本冗余和線性布局等特性提升業(yè)務(wù)寫性能,提高數(shù)據(jù)可靠性;讀緩存通過數(shù)據(jù)預(yù)取提前將熱點(diǎn)數(shù)據(jù)加載緩存磁盤中,通過LRU淘汰策略和冷熱識別提高讀緩存命中率,從而提升業(yè)務(wù)讀性能。RDMA網(wǎng)絡(luò)加速通過在Ceph網(wǎng)絡(luò)框架AsyncMessage中新增插件支持UCXCeph全閃存場景支持網(wǎng)絡(luò)全RDMA化。UCXcephUCXRNDV協(xié)議的特點(diǎn),實(shí)現(xiàn)了零拷貝,提升大塊寫的性能。鯤鵬原生開發(fā)技術(shù)白皮書/18機(jī)密計(jì)算鯤鵬BoostKit機(jī)密計(jì)算TrustZone套件是基于ARMTrustZone技術(shù)的一個機(jī)密計(jì)算軟件套件,包含華為自研TEE(TrustedExecutionEnvironment,可信執(zhí)行環(huán)境)安全操作系統(tǒng),鯤鵬服務(wù)器BMC和BIOS等,結(jié)合開源的操作系統(tǒng)驅(qū)動以及SDK,旨在幫助伙伴更便捷地為行業(yè)客戶構(gòu)建機(jī)密計(jì)算解決方案,從而為用戶的關(guān)鍵數(shù)據(jù)提供完整性、機(jī)密性保護(hù)和可信使用。普通鯤鵬服務(wù)器默認(rèn)不帶有機(jī)密計(jì)算TrustZone完整套件,需要在購買鯤鵬服務(wù)器時明確帶有TEE功能,支持TEE功能的服務(wù)器會在出廠階段完成TrustZone套件預(yù)置安裝。iTrustee基于TrustZone技術(shù)實(shí)現(xiàn)了整套安全解決方案,包含正常模式的客戶端應(yīng)用(ClientApplication,CA)、安全模式的可信應(yīng)用(TrustedApplication,TA)、安全模式下的可信操作系統(tǒng)。iTrustee應(yīng)用于金融大數(shù)據(jù)數(shù)據(jù)挖掘場景,可保證數(shù)據(jù)處理過程中的機(jī)密性。可應(yīng)用于一體化大數(shù)據(jù)中心場景,確保數(shù)據(jù)可信交易,同樣也可用于行業(yè)隱私計(jì)算認(rèn)證場景,確保計(jì)算過程中避免泄漏個人隱私信息。iTrustee安全可靠,其基于華為自研的微內(nèi)核實(shí)現(xiàn),安全OS已在手機(jī)側(cè)商用近10年,用戶數(shù)已過億,同時安全性獲得CCEAL4+認(rèn)證,兼容性獲得GlobalPlatform認(rèn)證。在規(guī)格方面也較為靈活,其中TEE側(cè)安全內(nèi)存支持按需配置,最大可配512GB,可支持大數(shù)據(jù)、AI等大型應(yīng)用運(yùn)行。圖3-18機(jī)密計(jì)算............硬件密碼機(jī)替代AI模型和數(shù)據(jù)保護(hù)大數(shù)據(jù)機(jī)密計(jì)算應(yīng)用安全存儲安全存儲簽名加解密TEEPOSIXGPAPITEESDK度量和證明等TEETEEREEBMCBIOSTEEOSLinuxOSPatch開源閉源開源閉源? TEESDKREE(RichExecutionEnvironment,富執(zhí)行環(huán)境)TEE的接口、TA/CA加密和簽名工具、參考代碼和接口說明等,方便用戶快速構(gòu)建應(yīng)用。? REEPatch:操作系統(tǒng)的驅(qū)動,包括內(nèi)核模塊以及用戶接口庫。? TEEOS:華為自研安全操作系統(tǒng),為可信應(yīng)用提供加解密、安全存儲等服務(wù),并確保的完整性和機(jī)密性。19/鯤鵬原生開發(fā)技術(shù)白皮書鯤鵬原生開發(fā)能力介紹? BIOSTEEOSTEEOS的機(jī)密性以及完整性。? BMCTEEOS的升級維護(hù)。數(shù)據(jù)庫鯤鵬BoostKit數(shù)據(jù)庫對開源MySQLOLAP查詢效率低、OLTP場景高并發(fā)下鎖導(dǎo)致的性能問題等關(guān)鍵挑戰(zhàn),提供MySQL可插拔向量化分析引擎、MySQL無鎖優(yōu)化、MySQL可插拔線程池和CRC32指令優(yōu)化等加速軟件包,深度優(yōu)化了OLAP查詢分析效率和OLTP在線交易事務(wù)處理能力,充分發(fā)揮多核算力極致性能。提供主流開源和商業(yè)數(shù)據(jù)庫最佳實(shí)踐,幫助開發(fā)者高效完成開源組件遷移和調(diào)優(yōu)。NVMeSSD原子寫適用MySQL各版本,通過SSD硬件原子寫特性消除Doublewrite雙寫軟件冗余提升數(shù)據(jù)庫的性能,通過SSD硬件原子寫特性密集寫場景性能預(yù)計(jì)提升15%。Gazelle網(wǎng)絡(luò)優(yōu)化適用MySQL各版本,基于DPDK在用戶態(tài)直接讀寫網(wǎng)卡報(bào)文,共享大頁內(nèi)存?zhèn)鬟f報(bào)文,使用輕量級LwIP協(xié)議棧。能夠大幅提高應(yīng)用的網(wǎng)絡(luò)IO吞吐能力,通過Gazelle網(wǎng)絡(luò)優(yōu)化,TPC-C綜合性能預(yù)計(jì)提升10%。鯤鵬GCCCFGO反饋優(yōu)化適用MySQL各版本,采用多模態(tài)(源代碼、匯編碼、二進(jìn)制)、全生命周期(編譯、鏈接、后鏈接)的持續(xù)優(yōu)化手段,獲取性能更優(yōu)的目標(biāo)程序。使數(shù)據(jù)庫TPC-C綜合性能提升10%。KAEzip壓縮解壓縮優(yōu)化IO。MySQL并行查詢優(yōu)化支持MySQL8.0.20、MySQL8.0.25版本,MySQL單SQL查詢只能調(diào)度單線程,多核CPU無法使用,單查詢性能查詢差難于滿足查詢場景的性能要求,通過并行查詢優(yōu)化提升查詢性能??蓪?shí)現(xiàn)查詢性能提升>1倍(性能提升與并行度有關(guān))。MySQL無鎖優(yōu)化支持MySQL8.0.20版本,在MySQLOLTP場景下DML語句(Insert、Update、Delete)大量并發(fā)操作trx_sys全局結(jié)構(gòu)體中的關(guān)鍵數(shù)據(jù)結(jié)構(gòu),造成臨界區(qū)的競爭和同步瓶頸。MySQL無鎖優(yōu)化改造后使用無鎖哈希表維護(hù)事務(wù)單元,減少鎖沖突,提升并發(fā)度,可實(shí)現(xiàn)Sysbench寫場景下性能提升20%。MySQL細(xì)粒度鎖優(yōu)化支持MySQL8.0.20版本,在MySQLOLTP場景下DML語句(Insert,Update,Delete)大量并發(fā)操作訪問lock_sys->mutex全局鎖保護(hù)的關(guān)鍵數(shù)據(jù)結(jié)構(gòu),造成鎖競爭嚴(yán)重導(dǎo)致性能下降。替換成細(xì)粒度hash桶鎖。減少鎖沖突,提升并發(fā)度??蓪?shí)現(xiàn)TPC-C綜合性能預(yù)計(jì)提升10%。鯤鵬原生開發(fā)技術(shù)白皮書/20MySQLNUMA調(diào)度優(yōu)化支持MySQL8.0.20、MySQL8.0.25版本,在MySQLOLTP場景下高并發(fā)下系統(tǒng)默認(rèn)的線程調(diào)度使得線程頻繁跨NUMA的訪問,這種情況導(dǎo)致CPU開銷增大,性能提升受限制,需要對用戶處理線程做動態(tài)綁定固定NUMACPU減少跨NUMA訪問,同時需要保證CPU訪問的負(fù)載必須均衡,后臺線程靜態(tài)綁定固定NUMACPU減少跨NUMA訪問,提升后臺線程效率??蓪?shí)現(xiàn)OLTP場景性能提升10%。MySQL可插拔線程池支持MySQL5.7.27、8.0.20、8.0.25、8.0.30和8.0.35版本,僅基于MySQL8.0.25、8.0.30和8.0.35的線程池特MySQLOLTP消耗在無效的資源競爭和頻繁切換上,CPU執(zhí)行,CPU同時處理任務(wù)個數(shù)是有限的,一般2~5個最優(yōu),從而保持穩(wěn)定的業(yè)務(wù)處理能力。可實(shí)現(xiàn)OLTPTPC-C場100001085%。CRC32指令優(yōu)化提供支持MySQL8.0.25版本的補(bǔ)丁包,該特性采用鯤鵬CRC32硬件指令替換CRC32算法的軟件實(shí)現(xiàn),從而提高系統(tǒng)業(yè)務(wù)的性能。通過CRC32指令優(yōu)化特性,MySQLSysbench寫場景性能有5%的提升。MySQL可插拔在線向量化分析引擎支持MySQL8.0.25版本,該特性是MySQL預(yù)留接口第二執(zhí)行引擎(SecondaryEngine)的一種輕量實(shí)現(xiàn),通過執(zhí)行計(jì)劃的并行計(jì)算,充分發(fā)揮鯤鵬CPU多核的優(yōu)勢,使OLAP性能倍級提升,且具有可插拔性,支持動態(tài)加載。采用并行加速技術(shù),可將OLAP查詢性能提升到3倍以上。21/鯤鵬原生開發(fā)技術(shù)白皮書鯤鵬原生開發(fā)能力介紹虛擬化鯤鵬BoostKit提供了OVS負(fù)載感知加速系統(tǒng)(以下簡稱WAAS通過收集應(yīng)用負(fù)載信息自動感知業(yè)務(wù)的應(yīng)用類型、任務(wù)特征、OS特征和微架構(gòu)特征,對各層性能特征進(jìn)行分析,生成調(diào)優(yōu)策略,通過加速庫加速、任務(wù)調(diào)優(yōu)、OSCPUSQL任務(wù)進(jìn)行全棧深度優(yōu)化,動態(tài)調(diào)整達(dá)到業(yè)務(wù)實(shí)時最佳。OVS流表歸一化在OVS+DPDK的基礎(chǔ)上,提出流表歸一化的方案,進(jìn)一步加速云計(jì)算中的數(shù)據(jù)包轉(zhuǎn)發(fā)性能,其典型場景為VXLAN+CT組網(wǎng)。卸載場景較不卸載場景網(wǎng)絡(luò)轉(zhuǎn)發(fā)性能提升30%以上。OVS流表網(wǎng)卡加速在虛擬化場景下,將OVS轉(zhuǎn)發(fā)流表卸載到網(wǎng)卡硬件上,利用硬件的查表能力來提升流表的查找速度,提高虛擬化網(wǎng)絡(luò)的處理能力,可實(shí)現(xiàn)虛擬化網(wǎng)絡(luò)的轉(zhuǎn)發(fā)性能提升10倍。高性能云盤優(yōu)化通過BoostKit提供的SPDK+Ceph的方案來對虛擬化場景下的Ceph存儲客戶端進(jìn)行加速,以提升存儲場景的IO讀寫能力。存儲IOPS性能提升30%以上。虛擬化DPU卸載虛擬化DPU卸載支持虛擬化場景下網(wǎng)絡(luò)和存儲的加速,其可以將本來運(yùn)行在物理機(jī)上的軟件(如:OVS-DPDK、SPDK等)卸載到DPU卡上運(yùn)行,節(jié)省了物理機(jī)的CPU負(fù)載,從而提高虛擬機(jī)密度,同時DPU卡支持VirtIO-net和VirtIO-blk等協(xié)議,其作為VirtIO設(shè)備后端,可提高虛擬化網(wǎng)絡(luò)和存儲性能。虛擬化調(diào)度優(yōu)化:鯤鵬虛擬化通過軟硬協(xié)同方案,加速虛擬機(jī)中應(yīng)用對CPU的調(diào)度效率。? NUMAcluster感知特性,將關(guān)于CPU的拓?fù)浣Y(jié)構(gòu)直通到虛擬機(jī),虛擬機(jī)OS內(nèi)核可通過cluster任務(wù)調(diào)度優(yōu)化選項(xiàng),加速多線程進(jìn)程調(diào)用效率。? 優(yōu)化了搶占過程中的鎖機(jī)制,提升虛擬機(jī)在超分場景下的性能。? 增加硬件死鎖的機(jī)制,有效防止硬件死鎖導(dǎo)致的虛擬機(jī)卡住而無法恢復(fù)的情況。vKAE:鯤鵬加速引擎KAE(KunpengAcceleratorEngine)是基于鯤鵬處理器提供的硬件加速解決方案,包含了KAE加解密和KAEzip。vKAE也可以在虛擬機(jī)或者容器中使用KAE能力。鯤鵬原生開發(fā)技術(shù)白皮書/22vCPU熱插拔:虛擬機(jī)vCPU依照ACPI規(guī)范,模擬ACPIGED設(shè)備。在vCPU調(diào)整時,通過中斷和處理函數(shù)方式,動態(tài)模擬CPU上下電。MPAM插件:通過限制離線業(yè)務(wù)對內(nèi)存帶寬和L3緩存容量的占用,避免離線業(yè)務(wù)干擾實(shí)時業(yè)務(wù)的性能:? MPAM插件,YAML文件中配置資源組,每個資源組可指定內(nèi)存帶寬和L3緩存容量。? YAML文件中指定該業(yè)務(wù)歸屬的資源組。? MPAM插件偵聽到部署任務(wù)后,將容器中業(yè)務(wù)的進(jìn)程ID配置到對應(yīng)的資源組中(限制信息會通過OS配置到硬件芯片上)。說明 MPAM涉及的共享資源包括:L2Cache、L3Cache和DMC帶寬。Web/CDN鯤鵬BoostKitCDN使能套件聚焦CDN開源組件可用性和CDN緩存節(jié)點(diǎn)吞吐量低、時延大等問題,通過使能鯤鵬處理器內(nèi)置的RSA加速引擎,對RSA2048算法進(jìn)行硬件卸載,同時提供了NUMA優(yōu)化等手段,以便充分發(fā)揮鯤鵬處理器多核優(yōu)勢,助力CDN緩存節(jié)點(diǎn)提供更大吞吐量,實(shí)現(xiàn)更低時延。鯤鵬BoostKitWeb使能套件聚焦Web應(yīng)用HTTPS連接性能和Web開源組件可用性等關(guān)鍵問題,通過使能鯤鵬處理器內(nèi)置的RSA加速引擎,提升Web網(wǎng)站的安全性,并實(shí)現(xiàn)用戶HTTPS訪問的極致體驗(yàn)。KAERSA加解密非對稱加密算法RSA,支持同步異步模式,支持KeySizes1024/2048/3072/4096。在使用Nginx處理HTTPS請求時,可通過配置開啟SSL模塊,使能鯤鵬RSA加速引擎對HTTPS請求處理中SSL/TLS握手時的RSA非對稱加解密運(yùn)算進(jìn)行加速。相比x86SSL加速卡方案,鯤鵬RSA加速方案性能高35%。HPCHPC聚焦資源調(diào)度效率低、應(yīng)用性能優(yōu)化難等關(guān)鍵挑戰(zhàn),通過全棧架構(gòu)創(chuàng)新、軟硬件自研、基礎(chǔ)軟件優(yōu)化和行業(yè)應(yīng)用性能調(diào)優(yōu)等技術(shù)構(gòu)建全棧高性能計(jì)算基礎(chǔ)平臺,幫助客戶釋放平臺算力,縮短產(chǎn)品上市周期,提升企業(yè)產(chǎn)品競爭力。23/鯤鵬原生開發(fā)技術(shù)白皮書鯤鵬原生開發(fā)能力介紹鯤鵬鯤鵬BoostKitHPC應(yīng)用使能套件,加速尖端科研創(chuàng)新和行業(yè)數(shù)字化 HPC場景多樣化,對HPC管理與調(diào)度提出了更高的要求 21.8%~90%天氣預(yù)報(bào)準(zhǔn)確率
60月~24月新車研發(fā)時間
5000天~100天新藥研發(fā)鑒定
13年~1天基因測序時長算力需求持續(xù)增長數(shù)據(jù)爆炸式增長,需要更快更高的算力性能應(yīng)用及場景的多樣化,要求算力的多樣性資源理由率提升系統(tǒng)規(guī)模倍增,應(yīng)具備高效資源調(diào)度能力應(yīng)用在多樣算力資源池間須實(shí)現(xiàn)資源共享高吞吐量IO性能作業(yè)既要寫得快,又要查得快便捷操作&運(yùn)維HPC業(yè)務(wù)流程,提升效率流程可視化管理,降低專業(yè)性要求HPC多瑙套件,允許用戶方便快捷提交作業(yè),管理運(yùn)維集群應(yīng)用場景 HPC多瑙套件,允許用戶方便快捷提交作業(yè),管理運(yùn)維集群應(yīng)用場景 能源 制造 生命科學(xué) 半導(dǎo)體 材料 氣象 天文基礎(chǔ)軟件多瑙套件多瑙管理平臺 多瑙調(diào)度器通信庫HyperMPI數(shù)學(xué)庫KML畢昇操作系統(tǒng)OpenEuler硬件計(jì)算鯤鵬/昇騰存儲OceanStorPaci?c網(wǎng)絡(luò)智能網(wǎng)卡&RoCE交換機(jī)基礎(chǔ)設(shè)施數(shù)據(jù)中心 液冷多瑙調(diào)度器提供大規(guī)模集群下的高資源利用率、高吞吐量的作業(yè)調(diào)度能力:? 3000/38萬核超大規(guī)模集群調(diào)度。? 高資源分配率:高效靈活的調(diào)度框架,資源分配率達(dá)到90%+。? 400? 高資源分配率:高效靈活的調(diào)度框架,資源分配率達(dá)到90%+。鯤鵬原生開發(fā)技術(shù)白皮書/243)鯤鵬BoostKit基礎(chǔ)加速BoostKitARM指令深度優(yōu)化和基于鯤鵬KAE(鯤鵬硬件加速引擎)開發(fā)的加速庫,覆蓋系統(tǒng)庫、壓縮、加解密、媒體、數(shù)學(xué)庫、存儲、網(wǎng)絡(luò)和AI8類加速庫,為大數(shù)據(jù)加解密、分布式存儲壓縮、視頻轉(zhuǎn)碼等應(yīng)用場景提供高性能加速。鯤鵬BoostKit基礎(chǔ)加速軟件包,詳細(xì)介紹和最新內(nèi)容請參見鯤鵬應(yīng)用使能套件BoostKit*基礎(chǔ)加速軟件包,詳情可掃描右方二維碼。圖3-19鯤鵬BoostKit基礎(chǔ)加速軟件包BoostKitBoostKit場景化基礎(chǔ)加速特性全景圖典型GKL(基因測序)Web中間件Nginx分布式存儲Ceph大數(shù)據(jù)Hadoop視頻轉(zhuǎn)碼OS集成基礎(chǔ)庫...應(yīng)用AVX2Neon秘鑰協(xié)商RSA計(jì)算壓縮&MD5數(shù)據(jù)加解密&壓縮x265/HW265Glibc&Gzip&OpenSSL加解密KAE加解密OpenSSLSM3/SM4/RSA/AES/MD5 存儲加解密KAE加解密OpenSSLSM3/SM4/RSA/AES/MD5存儲SmartPrefetch智能預(yù)取SPDKSSD用戶態(tài)驅(qū)動ISA-L存儲加速庫網(wǎng)絡(luò)XPFOVS流表加速庫DPDK用戶態(tài)網(wǎng)絡(luò)驅(qū)動AI庫KAIL_DNN深度神經(jīng)網(wǎng)絡(luò)算子庫KAILDNNEXT深度神經(jīng)網(wǎng)絡(luò)算子擴(kuò)展庫壓縮Gzip指令加速ZSTD指令加速Snappy壓縮Gzip指令加速ZSTD指令加速Snappy指令加速KAEzip壓縮硬加速LZ4指令加速媒體HMPP超媒體性能庫x265開源H.265視頻轉(zhuǎn)碼x264H.264視頻編解碼KVSIP鯤鵬矢量信號處理庫系統(tǒng)庫Glibc指令加速Hyperscan指令加速AVX2KI異構(gòu)生態(tài)遷移KQMalloc高性能內(nèi)存庫HTL輕量級線程庫KSL_ASN1編解碼庫HAF同構(gòu)加速框架畢昇JDK加速庫BiShengJDK_AccLib數(shù)學(xué)庫KML_FFT傅里葉變換KML_BLAS線性代數(shù)KML_SPBLAS稀疏矩陣KML_MATH基礎(chǔ)數(shù)學(xué)函數(shù)庫KML_VML向量運(yùn)算KML_LAPACK線性代數(shù)運(yùn)算KML_SVML短向量運(yùn)算KML_SOLVER求解器KML_VSL向量統(tǒng)計(jì)庫KML_JAVAKML_NUMPYKML_EIGENSOLVER特征值求解庫KML_IPL插值庫硬加速庫軟加速庫硬加速庫軟加速庫系統(tǒng)庫鯤鵬BoostKit系統(tǒng)庫包括如下組件:?Glibc-patch:主要對內(nèi)存、字符串、鎖等接口基于華為鯤鵬微架構(gòu)特點(diǎn)進(jìn)行了加速優(yōu)化。微架構(gòu)特點(diǎn)進(jìn)行了加速優(yōu)化。?Hyperscan:一款高性能的正則表達(dá)式匹配庫,增加鯤鵬計(jì)算平臺分支,且完全兼容armv8-a,通過使用NEON指令、內(nèi)聯(lián)匯編、數(shù)據(jù)對齊、指令對齊、內(nèi)存數(shù)據(jù)預(yù)取、靜態(tài)分支預(yù)測、代碼結(jié)構(gòu)優(yōu)化等方法,實(shí)現(xiàn)在鯤鵬計(jì)算平臺的性能提升。?AVX2KI:一款接口集合庫,將傳統(tǒng)平臺的Intrinsic接口集合使用鯤鵬指令重新實(shí)現(xiàn),并封裝為獨(dú)立的接口模塊(C語言頭文件方式),以減少大量遷移項(xiàng)目重復(fù)開發(fā)的工作量。?KQMalloc:鯤鵬高性能內(nèi)存庫,是專為鯤鵬設(shè)計(jì)的內(nèi)存分配器。此分配器分為單線程和多線程應(yīng)用場景,最大限度地減少內(nèi)部緩存占用空間,最大限度地減少內(nèi)部緩存未命中,可極大地提升應(yīng)用性能。25/鯤鵬原生開發(fā)技術(shù)白皮書鯤鵬原生開發(fā)能力介紹?HTL:輕量級線程庫(HyperThreadLibrary,HTL)是構(gòu)建在內(nèi)核態(tài)線程之上的用戶級線程庫。用于解決內(nèi)核級線程大量使用時,應(yīng)用性能下降、系統(tǒng)資源不足的問題,尤其解決嵌套并行場景下性能極低的問題。在保障減少資源使用的情況下,提升并發(fā)度,改善性能。?KSL_ASN1:ASN.1(AbstractSyntaxNotationOne)是定義抽象數(shù)據(jù)類型規(guī)格形式的一套標(biāo)準(zhǔn),是描述數(shù)據(jù)的表示、編碼、傳輸、解碼的靈活的一種記法。KSL_ASN1可替代開源ASN.1軟件,目前支持PER(PackedEncodingRules)和BER(BasicEncodingRules)格式,性能相較開源軟件asn1c有較大的提升。?HAF:同構(gòu)加速框架(HomogeneousAccelerationFramework,HAF),提供用戶友好的編程方式和API,快速、有效、安全地使能用戶業(yè)務(wù)程序指定加速片段卸載推送至卸載節(jié)點(diǎn)執(zhí)行,帶來用戶預(yù)期的卸載優(yōu)化效果。? JDKJDKOpenJDKHuaweiJDK開源版本,基于鯤鵬處理器提供了一些加速能力,如堆轉(zhuǎn)儲增強(qiáng)、JBooster特性的加速。堆轉(zhuǎn)儲增強(qiáng)特性:屏蔽轉(zhuǎn)儲堆文件中的敏感信息,保護(hù)數(shù)據(jù)安全與隱私。JBoosterCPU占用、加快彈性伸縮的響應(yīng)速度、降低云應(yīng)用部署成本。JDK817版本;JBoosterJDK17版本。壓縮鯤鵬BoostKit壓縮庫包括如下組件:? Gzip:Gzip(GUNzip)通過數(shù)據(jù)預(yù)取、循環(huán)展開、CRC指令替換等方法,來提升其在鯤鵬計(jì)算平臺上的壓縮和解壓縮速率,尤其對文本類型文件的壓縮及解壓具有更明顯的性能優(yōu)勢。? ZSTD:ZstandardZSTD壓縮庫。通過使用NEON指令、內(nèi)聯(lián)匯編、代碼結(jié)構(gòu)調(diào)整、內(nèi)存預(yù)取、指令流水ZSTD在鯤鵬計(jì)算平臺上壓縮和解壓性能的提升。? Snappy:利用內(nèi)聯(lián)匯編、寬位指令、優(yōu)化CPU流水線、內(nèi)存預(yù)取等方法,實(shí)現(xiàn)Snappy在鯤鵬計(jì)算平臺上的壓縮和解壓速率提升。? KAEzip:鯤鵬加速引擎的壓縮模塊,使用鯤鵬硬加速模塊實(shí)現(xiàn)deflate算法,結(jié)合無損用戶態(tài)驅(qū)動框架,提供Gzip/zlib格式壓縮接口。? LZ4:快速壓縮庫,它能夠以極高的速度對數(shù)據(jù)進(jìn)行壓縮和解壓縮。該壓縮算法非常快速和高效,適用于各種類型的數(shù)據(jù)壓縮。LZ4庫可以被廣泛應(yīng)用于數(shù)據(jù)存儲、網(wǎng)絡(luò)傳輸和實(shí)時數(shù)據(jù)處理等領(lǐng)域,為用戶提供了快速且1.9.3ReleaseNEONLZ4在鯤鵬計(jì)算平臺上壓縮性能的提高。加解密KAE加解密是鯤鵬加速引擎的加解密模塊,使用鯤鵬硬加速模塊實(shí)現(xiàn)RSA/SM3/SM4/DH/MD5/AES算法,結(jié)合無損用戶態(tài)驅(qū)動框架,提供高性能對稱加解密、非對稱加解密算法能力,兼容OpenSSL1.1.1a及其之后版本,支持同步&異步機(jī)制。媒體鯤鵬BoostKit媒體庫包括如下組件:? HMPP:鯤鵬超媒體性能庫(HyperMediaPerformancePrimitives,HMPP),包括向量緩沖區(qū)的分配與釋放、向量初始化、向量數(shù)學(xué)運(yùn)算與統(tǒng)計(jì)學(xué)運(yùn)算、向量采樣與向量變換、濾波函數(shù)、變換函數(shù)(快速傅里葉變換),IEEE754浮點(diǎn)數(shù)運(yùn)算標(biāo)準(zhǔn)。鯤鵬原生開發(fā)技術(shù)白皮書/26? x265FFmpegX265的轉(zhuǎn)碼底層算子使用鯤鵬向量指令進(jìn)行加速優(yōu)化,提高整體性能。? x264GPLH.264/MPEG-4AVC的視頻編碼。? 數(shù)學(xué)庫鯤鵬數(shù)學(xué)庫(KunpengMathLibrary,KML)是華為提供的基于鯤鵬平臺優(yōu)化的高性能數(shù)學(xué)函數(shù)庫,主要完成標(biāo)量、矢量、矩陣上的數(shù)學(xué)計(jì)算,包括基本的四則運(yùn)算、三角函數(shù)、對數(shù)函數(shù)、指數(shù)函數(shù)、線性代數(shù)計(jì)算等,數(shù)學(xué)庫所有接口由C/C++、匯編語言實(shí)現(xiàn),部分接口兼容Fortran語言調(diào)用,部分提供Java語言封裝的接口。存儲鯤鵬BoostKit存儲庫包括如下組件:? SmartPrefetchIO性能,進(jìn)而提升上述解決方IO密集型場景的整體性能。? SPDK:高性能存儲開發(fā)包(StoragePerformanceDevelopmentKit,SPDK)通過使用網(wǎng)絡(luò)技術(shù)、處理技術(shù)和已經(jīng)證明很容易達(dá)到每秒鐘數(shù)百萬次IO讀取,NVMe驅(qū)動去存儲,而不需要額外卸載硬件。? ISA-L:ISA-L(IntelligentStorageAccelerationLibrary)RAID、糾刪碼、循環(huán)冗余檢查、密碼散列和壓縮的高度優(yōu)化的函數(shù)。網(wǎng)絡(luò)鯤鵬BoostKit網(wǎng)絡(luò)庫包括如下組件:?XPF:XPF(ExtensiblePacketFramework)OVS(OpenvSwitch)軟件內(nèi)部實(shí)現(xiàn)了一個智能卸載引擎模塊,該模塊用于跟蹤數(shù)據(jù)報(bào)文在OVS軟件中所經(jīng)歷的所有流表和CTCT行為和所有流表行為項(xiàng)進(jìn)行綜合編排成一條綜合行為項(xiàng)并結(jié)合統(tǒng)一匹配項(xiàng)生成一條集成流表項(xiàng)。后續(xù)的數(shù)據(jù)報(bào)文在進(jìn)入OVS后,若匹配命中該集成流表,則直接執(zhí)行綜合行為,相比開源的處理流程,查詢次數(shù)將減少,性能將大幅度提升。?DPDK:數(shù)據(jù)平面開發(fā)工具包(DataPlaneDevelopmentKit,DPDK),為用戶空間高效的數(shù)據(jù)包處理提供數(shù)據(jù)平面開發(fā)工具集,包括庫函數(shù)和驅(qū)動。AI庫?KAIL_DNN:深度神經(jīng)網(wǎng)絡(luò)算子庫(DeepNeuralNetworkLibrary),結(jié)合鯤鵬處理器微架構(gòu)特性,通過向量化、匯編、算法優(yōu)化等手段,提升DNN核心算子性能,并通過插件化形式對接開源oneDNN庫提供完整能力。?KAIL_DNN_EXT:深度神經(jīng)網(wǎng)絡(luò)算子拓展庫(DeepNeuralNetworkExtensionLibrary),旨在作為KAIL_DNN的拓展庫,深度優(yōu)化softmax、random_choice等算子,為AI特定場景封裝為Python語言接口庫直接提供給用戶調(diào)用。27/鯤鵬原生開發(fā)技術(shù)白皮書鯤鵬原生開發(fā)能力介紹.2代碼優(yōu)化代碼優(yōu)化介紹鯤鵬原生開發(fā)在代碼優(yōu)化階段提供了DevKit親和分析工具,可實(shí)現(xiàn)鯤鵬親和代碼優(yōu)化建議,幫助開發(fā)者寫出更適配鯤鵬平臺的代碼。3-20代碼優(yōu)化階段系統(tǒng)性能分析系統(tǒng)性能分析Java性能分析系統(tǒng)診斷鯤鵬調(diào)試器畢昇編譯器JDKGCCforopenEulerSDK啟發(fā)式編程BoostKit應(yīng)用使能調(diào)優(yōu)調(diào)試編譯代碼優(yōu)化代碼開發(fā)通過鯤鵬DevKit/BoostKit開發(fā)代碼:充分應(yīng)用鯤鵬架構(gòu)優(yōu)勢,性能更優(yōu)鯤鵬親和分析親和分析工具親和分析工具是針對鯤鵬平臺的開發(fā)者、用戶和ISV開發(fā)者的應(yīng)用、源碼分析工具。親和分析工具屬于鯤鵬DevKit的擴(kuò)展工具之一,支持在鯤鵬平臺運(yùn)行。支持以下功能:? 643264位平臺上,進(jìn)行遷移檢查并給出修改建議。? 字節(jié)對齊檢查:在需要考慮字節(jié)對齊時,檢查源碼中結(jié)構(gòu)體類型變量的字節(jié)對齊情況。? C/C+128字節(jié)對齊檢查,提升訪存性能。? 內(nèi)存一致性靜態(tài)檢查:在鯤鵬平臺上,分析、修復(fù)用戶軟件中的內(nèi)存一致性問題。? 向量化檢查:在鯤鵬平臺上檢查可向量化片段并提供修改建議。? 矩陣化檢查:在鯤鵬平臺上檢查可矩陣化片段并提供修改建議。? make?le、CMakeLists.txt中可以替換成鯤鵬加速庫的內(nèi)容,并提供替換建議和功能修復(fù)。? 計(jì)算精度分析:精度分析工具對應(yīng)用函數(shù)插樁后,分別在x86平臺和鯤鵬平臺運(yùn)行,最終通過對比輸出結(jié)果,分析平臺計(jì)算精度差異。快速集成效率提示性能倍增快速集成效率提示性能倍增支持Jenkins、Gitlab等業(yè)界主流流水線工具,快速集成支持Jenkins、Gitlab等業(yè)界主流流水線工具,快速集成CI/CD流水線IDE插件快速安裝,提供開發(fā)態(tài)源碼分析報(bào)告以及一鍵替換問題的能力親和鯤鵬硬件架構(gòu),全場景提升訪存性能、計(jì)算精度親和分析工具詳細(xì)介紹請參見參見鯤鵬社區(qū)→DevKit→應(yīng)移*親和分析,詳情可掃描右方二維碼。
鯤鵬原生開發(fā)技術(shù)白皮書/28向量化檢查向量化檢查功能用于對可向量化片段進(jìn)行檢查,并提供向量化修改建議。步驟1創(chuàng)建向量化檢查分析任務(wù)。圖3-21向量化檢查(VSCode)用戶需要上傳源碼及編譯生成的BC文件,BC文件生成指導(dǎo)請參見聯(lián)機(jī)幫助。步驟2查看向量化檢查分析結(jié)果。圖3-22向量化檢查分析結(jié)果29/鯤鵬原生開發(fā)技術(shù)白皮書鯤鵬原生開發(fā)能力介紹圖3-23源碼修改建議----結(jié)束.3編譯編譯介紹鯤鵬原生開發(fā)在編譯構(gòu)建階段提供了畢昇編譯器、畢昇JDK、GCCforopenEuler。通過上述鯤鵬親和編譯器,在不修改用戶應(yīng)用源碼的情況下,提供鯤鵬平臺的應(yīng)用性能提升。圖3-20代碼優(yōu)化階段系統(tǒng)性能分析系統(tǒng)性能分析Java性能分析系統(tǒng)診斷鯤鵬調(diào)試器鯤鵬親和分析SDK啟發(fā)式編程BoostKit應(yīng)用使能調(diào)優(yōu)調(diào)試編譯代碼優(yōu)化代碼開發(fā)通過鯤鵬DevKit/BoostKit開發(fā)代碼:充分應(yīng)用鯤鵬架構(gòu)優(yōu)勢,性能更優(yōu)畢昇編譯器JDKGCCforopenEuler鯤鵬親和編譯器,詳細(xì)介紹與最新內(nèi)容請參見DevKit編譯,詳情可掃方二維碼。鯤鵬原生開發(fā)技術(shù)白皮書/30畢昇編譯器畢昇編譯器是華為編譯器實(shí)驗(yàn)室針對通用處理器架構(gòu)構(gòu)建,增強(qiáng)和引入了多種編譯優(yōu)化技術(shù),致力于打造高性能、高可信及易擴(kuò)展的編譯器工具鏈。? C11、C++14/17、Fortran語言標(biāo)準(zhǔn),OpenMP4.5/5.0API標(biāo)準(zhǔn)。? 高性能編譯算法,基于鯤鵬架構(gòu)深度調(diào)優(yōu),內(nèi)存優(yōu)化、循環(huán)優(yōu)化、自動向量化等多種編譯增強(qiáng)。? /高效編碼工具集,包括靜態(tài)檢查工具、重構(gòu)工具等。畢昇JDK畢昇JDK基于OpenJDK開發(fā),是一款高性能、可用于生產(chǎn)環(huán)境的OpenJDK發(fā)行版;畢昇JDK已應(yīng)用于華為內(nèi)部多個產(chǎn)品上,解決了業(yè)務(wù)實(shí)際運(yùn)行中遇到的多個疑難問題;在GC、鯤鵬后端代碼生成、類信息共享等方面重點(diǎn)優(yōu)化,在大數(shù)據(jù)等領(lǐng)域性能突出。畢昇JDK致力于為JAVA開發(fā)者提供一款穩(wěn)定可靠、高性能、易調(diào)測的JDK,也為用戶在鯤鵬架構(gòu)上提供一個更好的選擇。? JavaJava8、11、17、21版本。? 支持架構(gòu):Linux/AArch64、Linux/x86_64。? openEulerCentOS7.6Ubuntu20.04Ubuntu22.04V10UOS20等。GCCforopenEulerGCCforopenEuler是基于開源GCC開發(fā)的編譯器工具鏈(包含編譯器、匯編器、鏈接器),在openEuler社區(qū)開源發(fā)布。? C11、C++14/17、Fortran2018語言標(biāo)準(zhǔn),OpenMP4.5/5.0API標(biāo)準(zhǔn)。? 商業(yè)全量測試,多產(chǎn)品穩(wěn)定商用。31/鯤鵬原生開發(fā)技術(shù)白皮書鯤鵬原生開發(fā)能力介紹.4調(diào)試調(diào)試介紹鯤鵬編譯調(diào)試工具支持在調(diào)試階段進(jìn)行應(yīng)用調(diào)試。支持C/C++/Fortran代碼調(diào)試能力、支持單機(jī)下GPU應(yīng)用調(diào)試能力、支持HPC場景多節(jié)點(diǎn)應(yīng)用并行調(diào)試能力。圖3-25調(diào)試階段系統(tǒng)性能分析系統(tǒng)性能分析Java性能分析系統(tǒng)診斷畢昇編譯器JDKGCCforopenEuler鯤鵬親和分析SDK啟發(fā)式編程BoostKit應(yīng)用使能調(diào)優(yōu)調(diào)試編譯代碼優(yōu)化代碼開發(fā)通過鯤鵬DevKit/BoostKit開發(fā)代碼:充分應(yīng)用鯤鵬架構(gòu)優(yōu)勢,性能更優(yōu)鯤鵬調(diào)試器編譯調(diào)試工具編譯調(diào)試工具能一鍵式部署鯤鵬編譯器,支持單機(jī)下GPU應(yīng)用調(diào)試能力,通過統(tǒng)一調(diào)試界面調(diào)試GPU應(yīng)用,實(shí)現(xiàn)CUDA-GDB調(diào)試能力;支持HPC場景多節(jié)點(diǎn)應(yīng)用并行調(diào)試能力以及鯤鵬平臺遠(yuǎn)程編譯調(diào)試能力。支持C/C++/Fortran代碼調(diào)試能力。支持以下功能:? 一鍵式部署鯤鵬編譯器(GCCforopenEulerJDK)。? 可視化配置編譯調(diào)試參數(shù),一鍵式編譯、運(yùn)行、調(diào)試。? C/C+代碼。? 編譯調(diào)試過程中信息實(shí)時交互。? CUDA支持調(diào)試源碼、匯編代碼。? HPC支持調(diào)試源碼、匯編代碼,支持歷史通信組詳細(xì)信息展示和堆棧切換。圖3-26編譯調(diào)試工具通用應(yīng)用調(diào)試/通用應(yīng)用調(diào)試/遠(yuǎn)程調(diào)試能力顯示變量、監(jiān)視、斷點(diǎn)和調(diào)用堆棧信息HPC并行應(yīng)用調(diào)試MPI+OpenMP多線程調(diào)試復(fù)雜數(shù)據(jù)結(jié)構(gòu)和通訊組功能顯示2KMPIRank并行調(diào)試,MPIdead-lock檢測CUDA應(yīng)用調(diào)試GPUCPU同步調(diào)試,支持/匯編語言調(diào)試CUDA線程、變量、堆棧等信息Launch/AttachGPU調(diào)試模式安全應(yīng)用調(diào)試JavaPvthon工程的安全應(yīng)用調(diào)試REE側(cè)獲得TEE安全應(yīng)用運(yùn)行Log,對TEE安全應(yīng)用進(jìn)行調(diào)試可視化場景全效率高可視化場景全效率高源碼、數(shù)據(jù)結(jié)構(gòu)變量、堆棧、斷點(diǎn)等可視化調(diào)試功能和程序運(yùn)行變化圖形化展示支持單/源碼、數(shù)據(jù)結(jié)構(gòu)變量、堆棧、斷點(diǎn)等可視化調(diào)試功能和程序運(yùn)行變化圖形化展示支持單/多節(jié)點(diǎn)調(diào)試、異構(gòu)算力調(diào)試、全局分級調(diào)試支持C/C++/Fortran語言、匯編代碼調(diào)試支持遠(yuǎn)程調(diào)試,無須來回切換開發(fā)和調(diào)測工具,在IDE中一站式完成應(yīng)用的開發(fā)與調(diào)試編譯調(diào)試工具,詳細(xì)介紹與最新內(nèi)容請參見DevKit→試,詳情可掃描右方二維碼。
鯤鵬原生開發(fā)技術(shù)白皮書/32通用應(yīng)用調(diào)試通用應(yīng)用調(diào)試提供鯤鵬、飛騰平臺遠(yuǎn)程調(diào)試能力,提供圖形化界面,大幅提升調(diào)試效率。步驟1通用應(yīng)用調(diào)試參數(shù)配置,如圖3-27所示。圖3-27通用應(yīng)用參數(shù)配置步驟2進(jìn)行通用應(yīng)用調(diào)試,如圖3-28所示。支持設(shè)置斷點(diǎn)、單步調(diào)試、變量/寄存器查看等通用調(diào)試能力。圖3-28通用應(yīng)用調(diào)試----結(jié)束33/鯤鵬原生開發(fā)技術(shù)白皮書鯤鵬原生開發(fā)能力介紹HPC并行應(yīng)用調(diào)試提供HPC場景多節(jié)點(diǎn)并行調(diào)試能力,僅支持以Launch模式調(diào)試MPI應(yīng)用。步驟1HPC并行應(yīng)用調(diào)試參數(shù)配置,如圖3-29所示。圖3-29HPC并行應(yīng)用參數(shù)配置2HPC3-30所示。圖3-30HPC并行應(yīng)用調(diào)試鯤鵬原生開發(fā)技術(shù)白皮書/34步驟3界面左下角呈現(xiàn)RANK通信組信息單擊按鈕可查看通信子組變化概覽變化詳情以及死鎖信息,3-31所示。圖3-31查看詳情----結(jié)束CUDA應(yīng)用調(diào)試支持鯤鵬平臺調(diào)試CUDA程序,通過統(tǒng)一的調(diào)試界面使用CUDA-GDB調(diào)試GPU應(yīng)用。步驟1CUDA應(yīng)用調(diào)試參數(shù)配置,如圖3-32所示。圖3-32CUDA應(yīng)用參數(shù)配置35/鯤鵬原生開發(fā)技術(shù)白皮書鯤鵬原生開發(fā)能力介紹2進(jìn)行CUDA3-33KERNELTHREADS信息以及INFOCUDA信息。圖3-33CUDA應(yīng)用調(diào)試----結(jié)束安全應(yīng)用調(diào)試步驟1安全應(yīng)用調(diào)試參數(shù)配置,如圖3-34所示。圖3-34安全應(yīng)用參數(shù)配置鯤鵬原生開發(fā)技術(shù)白皮書/362tee.log3-35所示。圖3-35日志文件----結(jié)束.5調(diào)優(yōu)調(diào)優(yōu)介紹鯤鵬原生開發(fā)在調(diào)優(yōu)階段提供了系統(tǒng)性能分析工具、Java性能分析工具、系統(tǒng)診斷工具。通過通用性能調(diào)優(yōu)和場景化性能調(diào)優(yōu),可實(shí)現(xiàn)應(yīng)用性能提升5%-10%。圖3-36調(diào)優(yōu)階段畢昇編譯器畢昇編譯器 ?鯤鵬調(diào)試器JDKGCCforopenEuler鯤鵬親和分析SDK啟發(fā)式編程BoostKit應(yīng)用使能調(diào)優(yōu)調(diào)試編譯代碼優(yōu)化代碼開發(fā)通過鯤鵬DevKit/BoostKit開發(fā)代碼:充分應(yīng)用鯤鵬架構(gòu)優(yōu)勢,性能更優(yōu)系統(tǒng)性能分析Java性能分析系統(tǒng)診斷性能調(diào)優(yōu)工具,詳細(xì)介紹與最新內(nèi)容請參見DevKit&診斷,詳情可掃方二維碼。37/鯤鵬原生開發(fā)技術(shù)白皮書鯤鵬原生開發(fā)能力介紹系統(tǒng)性能分析工具系統(tǒng)性能分析工具簡介系統(tǒng)性能分析是針對基于鯤鵬的服務(wù)器的性能分析工具,能收集服務(wù)器的處理器硬件、操作系統(tǒng)、進(jìn)程/線程、函數(shù)等各層次的性能數(shù)據(jù),分析出系統(tǒng)性能指標(biāo),定位到系統(tǒng)瓶頸點(diǎn)及熱點(diǎn)函數(shù),給出優(yōu)化建議。該工具可以輔助用戶快速定位和處理軟件性能問題。調(diào)優(yōu)助手是針對基于鯤鵬的服務(wù)器的調(diào)優(yōu)工具,能系統(tǒng)化組織性能指標(biāo),引導(dǎo)用戶分析性能瓶頸,實(shí)現(xiàn)快速調(diào)優(yōu)。圖3-37系統(tǒng)性能分析工具系統(tǒng)性能分析收集和分析軟硬件各層次的性能指標(biāo),定位到系統(tǒng)瓶頸點(diǎn)及熱點(diǎn)函數(shù),給出優(yōu)化建議收集和分析軟硬件各層次的性能指標(biāo),定位到系統(tǒng)瓶頸點(diǎn)及熱點(diǎn)函數(shù),給出優(yōu)化建議通用分析系統(tǒng)部件分析專項(xiàng)分析全景分析微架構(gòu)分析資源調(diào)度分析進(jìn)程/線程分析訪存分析鎖與等待分析熱點(diǎn)函數(shù)分析I/O分析Roo?ine分析調(diào)優(yōu)助手AI調(diào)優(yōu)大數(shù)據(jù) 數(shù)據(jù)庫場景化調(diào)優(yōu)HPC表3-1任務(wù)描述任務(wù)分類描述調(diào)優(yōu)助手調(diào)優(yōu)助手通過系統(tǒng)化組織和分析性能指標(biāo)、熱點(diǎn)函數(shù)、系統(tǒng)配置等信息,形成系統(tǒng)資源消耗鏈條,引導(dǎo)用戶根據(jù)優(yōu)化路徑分析性能瓶頸,并針對每條優(yōu)化路徑給出優(yōu)化建議和操作指導(dǎo),以此實(shí)現(xiàn)快速調(diào)優(yōu)。對比分析支持對同一種類型分析任務(wù)的結(jié)果,選擇同一節(jié)點(diǎn)或者不同節(jié)點(diǎn)間進(jìn)行比較,從而快速獲得不同分析結(jié)果之間的差別,定位性能指標(biāo)的變化,快速識別優(yōu)化手段的效果。HPC集群檢查通過對用戶指定的MPI集群進(jìn)行硬件、軟件配置檢查,并給出集群中各節(jié)點(diǎn)軟硬件配置的一致度報(bào)告。檢查對象支持硬件領(lǐng)域的CPU、GPU、互聯(lián)、內(nèi)存、網(wǎng)卡、磁盤,軟件領(lǐng)域中的OS、Kernel、環(huán)境變量、MPI、OpenMP、HPC常用依賴庫等維度。對于不符合鯤鵬平臺最佳實(shí)踐的配置,工具會給出優(yōu)化建議。HPC應(yīng)用分析HPCPMUOpenMPMPI應(yīng)用的關(guān)鍵指標(biāo),從而幫助用戶ParallelregionBarrier-to-BarrierL2L3的利用率和內(nèi)存帶寬等信息。鯤鵬原生開發(fā)技術(shù)白皮書/38任務(wù)分類描述全景分析CPUIOIO資源的運(yùn)行情況,獲得對應(yīng)的使用率、飽和度、錯誤次數(shù)等指標(biāo),以此識別系統(tǒng)性能瓶頸。針對部分系統(tǒng)指標(biāo)項(xiàng),根據(jù)當(dāng)前已有的基準(zhǔn)值和優(yōu)化經(jīng)驗(yàn)提供優(yōu)化建議。微架構(gòu)分析基于ARMPMU(PerformanceMonitorUnit)事件,獲得指令在CPU流水線上的運(yùn)行情況,可以幫助用戶快速定位當(dāng)前應(yīng)用在CPU上的性能瓶頸,用戶可以有針對性地修改自己的程序,以充分利用當(dāng)前的硬件資源。訪存分析基于CPU訪問緩存和內(nèi)存的事件,分析訪存過程中可能的性能瓶頸,給出造成這些性能問題的可能原因及優(yōu)化建議。訪存統(tǒng)計(jì)分析基于處理器訪問緩存和內(nèi)存的PMU事件,分析存儲的訪問次數(shù)、命中率、帶寬等情況,具體包括:L1C、L2C、L3C、TLB的訪問命中率和帶寬。HHA訪問速率。DDR的訪問帶寬和次數(shù)。Miss事件分析基于ARMSPE(StatisticalPro?lingExtension)能力實(shí)現(xiàn)。SPE針對指令進(jìn)行采樣,同時記錄一些觸發(fā)事件的信息,包括精確的PC指針信息。利用SPE能力可以用于業(yè)務(wù)進(jìn)行LLCMiss,TLBMiss,RemoteAccess,LongLatencyLoad等Miss類事件分析,并精確的關(guān)聯(lián)到造成該事件的代碼。基于這些信息,用戶便可以有針對性地修改自己的程序,降低發(fā)生對應(yīng)事件發(fā)生的幾率,提高程序處理性能。NUMA精細(xì)化分析ARMSPE(StatisticalPro?lingExtension)能力實(shí)現(xiàn)。SPE針對指令進(jìn)行采樣,同時記錄一些觸發(fā)事件PCSPE能力可以用于收集系統(tǒng)中所有進(jìn)程的NUMAN(e.g.N=10)NUMANUMA節(jié)點(diǎn)間內(nèi)存訪問統(tǒng)計(jì)矩陣,識別節(jié)點(diǎn)間內(nèi)存訪問不平衡狀態(tài),并得到相關(guān)優(yōu)化建議。I/O分析IOI/O操作次數(shù)、I/O數(shù)據(jù)大小、I/O隊(duì)列深I(lǐng)/O操作時延等性能數(shù)據(jù),并關(guān)聯(lián)到造成這些I/O性能數(shù)據(jù)的具體I/O操作事件、進(jìn)程/I/OAPIsI/O性能數(shù)據(jù)分析給出進(jìn)一步優(yōu)化建議。進(jìn)程/線程性能分析/CPUIO等資源的消耗情況,獲得對應(yīng)的使用率、飽和度、錯誤次數(shù)等指標(biāo),/線程性能瓶頸。針對部分指標(biāo)項(xiàng),根據(jù)當(dāng)前已有的基準(zhǔn)值和優(yōu)化經(jīng)驗(yàn)提供優(yōu)化建議。針對單個進(jìn)程,還支持分析它的系統(tǒng)調(diào)用情況。資源調(diào)度分析采集進(jìn)程/線程的運(yùn)行情況,獲得對應(yīng)的冷火焰圖、鏈路切換次數(shù)和全局占比等指標(biāo),以此識別性能瓶頸。支持分析單個進(jìn)程的系統(tǒng)調(diào)用情況。熱點(diǎn)函數(shù)分析分析C/C++程序代碼,找出性能瓶頸點(diǎn),獲得對應(yīng)的熱點(diǎn)函數(shù),支持通過火焰圖展示函數(shù)的調(diào)用關(guān)系,給出優(yōu)化路徑。鎖與等待分析glibc和開源軟件(MySQL、OpenMP)的鎖與等待函數(shù)(sleep、usleep、mutex、cond、spinlockrwlocksemaphore等Roofline分析幫助用戶在給定硬件平臺上,分析出應(yīng)用程序的瓶頸點(diǎn)位置,從而有針對性的進(jìn)行優(yōu)化。AI調(diào)優(yōu)使用自研高性能AI調(diào)優(yōu)方案,通過用戶自主選擇測試用例,對數(shù)據(jù)庫和大數(shù)據(jù)場景進(jìn)行自動優(yōu)化,自動調(diào)優(yōu)后給予最優(yōu)參數(shù)配置,提供復(fù)雜場景下參數(shù)配置的優(yōu)化建議。39/鯤鵬原生開發(fā)技術(shù)白皮書鯤鵬原生開發(fā)能力介紹通用分析通用分析包含全景分析、進(jìn)程/線程分析、熱點(diǎn)函數(shù)分析。步驟1創(chuàng)建通用分析任務(wù)。如圖3-38所示。圖3-38通用分析任務(wù)23-393-403-41所示。圖3-39全景分析結(jié)果鯤鵬原生開發(fā)技術(shù)白皮書/40圖3-40進(jìn)程/線程分析結(jié)果圖3-41熱點(diǎn)函數(shù)分析結(jié)果----結(jié)束41/鯤鵬原生開發(fā)技術(shù)白皮書鯤鵬原生開發(fā)能力介紹系統(tǒng)部件分析系統(tǒng)部件分析包括微架構(gòu)分析、訪存分析、I/O分析。步驟1創(chuàng)建系統(tǒng)部件分析,如圖3-42所示。圖3-42系統(tǒng)部件分析步驟2查看分析結(jié)果,如圖3-43、圖3-44和圖3-45所示。圖3-43微架構(gòu)分析結(jié)果鯤鵬原生開發(fā)技術(shù)白皮書/42圖3-44訪存分析結(jié)果圖3-45I/O分析結(jié)果----結(jié)束43/鯤鵬原生開發(fā)技術(shù)白皮書鯤鵬原生開發(fā)能力介紹專項(xiàng)分析專項(xiàng)分析包括資源調(diào)度分析、鎖與等待分析和Roofline分析。步驟1創(chuàng)建專項(xiàng)分析任務(wù),如圖3-46所示。圖3-46專項(xiàng)分析步驟2查看分析結(jié)果,如圖3-47、圖3-48和圖3-49所示。圖3-47資源調(diào)度分析結(jié)果鯤鵬原生開發(fā)技術(shù)白皮書/443-48鎖與等待分析結(jié)果3-49Roo?ine分析結(jié)果----結(jié)束45/鯤鵬原生開發(fā)技術(shù)白皮書鯤鵬原生開發(fā)能力介紹調(diào)優(yōu)助手步驟1創(chuàng)建調(diào)優(yōu)助手分析任務(wù),如圖3-50所示。圖3-50調(diào)優(yōu)助手分析任務(wù)步驟2查看分析結(jié)果,如圖3-51、圖3-52、圖3-53和圖3-54所示。圖3-51系統(tǒng)配置分析結(jié)果鯤鵬原生開發(fā)技術(shù)白皮書/463-52熱點(diǎn)函數(shù)分析結(jié)果3-53系統(tǒng)性能分析結(jié)果圖3-54進(jìn)程/線程性能分析結(jié)果----結(jié)束47/鯤鵬原生開發(fā)技術(shù)白皮書鯤鵬原生開發(fā)能力介紹A
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 協(xié)議書附屬條件范本
- 母狗收養(yǎng)協(xié)議書范本
- 離婚協(xié)議書中的家庭農(nóng)場經(jīng)營權(quán)與土地流轉(zhuǎn)協(xié)議
- 車輛抵押擔(dān)保汽車維修保養(yǎng)擔(dān)保服務(wù)協(xié)議
- 采暖系統(tǒng)安裝與節(jié)能技術(shù)咨詢合同
- 貝娥婚姻關(guān)系終止合同
- 草莓苗種植與農(nóng)業(yè)科技園區(qū)合作合同
- 汽車質(zhì)押擔(dān)保借款合同范本
- 知識產(chǎn)權(quán)產(chǎn)業(yè)園區(qū)廠房轉(zhuǎn)租及創(chuàng)新成果轉(zhuǎn)化合同
- 腎結(jié)石非手術(shù)的護(hù)理查房
- 2025年氨水市場需求分析
- 貴州省銅仁市2023-2024學(xué)年高二下學(xué)期7月期末質(zhì)量監(jiān)測數(shù)學(xué)試題(含解析)
- 做課件教學(xué)視頻
- 2025安徽蚌埠市國有資本運(yùn)營控股集團(tuán)有限公司招聘4人筆試參考題庫附帶答案詳解析集合
- 期末試卷(含答案)2024-2025學(xué)年四年級下冊數(shù)學(xué)北師大版
- 2025年特種設(shè)備安全考試題庫特種設(shè)備安全管理人員法規(guī)應(yīng)用試卷
- (2025)輔警招聘考試試題庫附答案詳解(綜合題)
- 合同協(xié)議書范本模板圖片
- 小說作者授權(quán)協(xié)議書
- 特殊教育學(xué)校班主任培訓(xùn)
- 海洋法知到智慧樹章節(jié)測試課后答案2024年秋中國海洋大學(xué)
評論
0/150
提交評論