多樣性計算時代,鯤鵬遷移和調優關鍵技術全解讀

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"當前,千行百業數字化轉型步伐加快,對算力提出了更高的要求,與此同時,行業應用的多樣性也帶來了數據和算力的多樣性。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"在此背景下,華爲通過構建鯤鵬計算產業,擁抱多樣性計算新時代。圍繞“硬件開放、軟件開源、使能夥伴、發展人才”的策略,鯤鵬生態已交出了一份高分答卷。不過當前,鯤鵬生態發展仍面臨諸多挑戰。其中,應用軟件的遷移尤爲關鍵。爲了幫助開發人員更快熟悉鯤鵬平臺,更好地完成基於傳統架構的應用服務遷移工作,鯤鵬發佈了開發使能套件 DevKit,提供覆蓋代碼掃描、遷移、編譯、調優等研發全流程。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"在 2021 年 5 月 29 日 QCon 2021 北京站上,華爲鯤鵬編譯技術專家樂永年作爲“"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"鯤鵬平臺軟件遷移和調優實踐"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"”專題出品人兼講師,攜手薛永輝、魏偉、呂研冬博士三位華爲技術專家爲開發者深度解讀鯤鵬一站式開發套件 DevKit 的工具套件和關鍵技術。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"鯤鵬 DevKit 中彙編翻譯特性的應用和實現"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"編譯器無法編譯源碼中其他平臺的彙編代碼,因此如何高效識別 x86 中的彙編代碼並快速遷移到鯤鵬平臺上,是鯤鵬生態快速建設和拓展亟需解決的一個技術課題。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"華爲鯤鵬編譯技術專家樂永年表示,在具體解決思路上,首先需要提供高效彙編翻譯的能力;其次,針對用戶彙編代碼的使用情況,有重點的解決彙編翻譯;最後,幫助用戶維持項目中的源碼,從而提供源碼級的高可維護性。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"基於此,"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"鯤鵬彙編總體設計方案爲“W+二”"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"。其中,"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"“W”由四個步驟完成,分別是彙編註解、局部異構平臺反編譯、編譯優化和代碼生成"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"。彙編註解解決了彙編樣式多樣的問題,局部異構平臺反編譯解決平臺差異問題,代碼質量由編譯器的編譯優化和代碼生成完成。"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"“二”是兩條快速翻譯路徑"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":",一條是基於規則的快速指令翻譯,用於簡單嵌入彙編翻譯,另一條是編譯器裏基於向量化語義函數的 SIMD 指令翻譯。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"通過這個方案,鯤鵬 DevKit 中的代碼遷移工具能快速實現 x86 彙編代碼到鯤鵬平臺的自動遷移,保障應用遷移高效率完成。總的來說,“W+二”方案做到了“能用則用、需改盡改、當快則快、曲折前行”,沿着問題本身的邏輯,利用對現有的技術的改造和增刪,完成最終的翻譯。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"在介紹具體的解決方案外,樂永年還分享了彙編代碼翻譯中的幾個細節問題。比如在彙編代碼的識別上,如果用傳統的方式去查找,會漏掉很多彙編代碼,因此需要使用編譯器的語法能力,如 LLVM 的 Clang-Tidy 工具框架,通過在源代碼裏生成的抽象語法樹,找到彙編代碼並進行自動翻譯,用語法解析的方式避免代碼漏掃,從而精準地識別需要遷移的彙編代碼。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"在嵌入彙編的翻譯問題上,對於簡單的嵌入彙編,可以通過擴展檢查規則,把嵌入彙編的語法植入,查找嵌入彙編對應的語法元素,然後進行翻譯。至於複雜的彙編,雖然情況各有不同,但也可以一鍵翻譯成爲鯤鵬的彙編代碼。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"最後樂永年表示,在未來,鯤鵬 DevKit 還會根據用戶的需要,不斷地優化彙編翻譯能力,具體包括指令語義的衆籌、更多場景的支持以及新硬件指令支持。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"鯤鵬加速庫在業務性能調優中的應用"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"在開發過程中,加速庫(即高性能軟件庫)的意義不言而喻。具體來說,加速庫的意義體現在以下兩個方面:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"第一,通過加速庫開發,可以實現計算效率的極大提升。加速庫通過改進軟件實現流程或算法,從而充分利用芯片計算能力,提升代碼執行效率,使用戶獲得更好的性價比。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"第二,加速庫是系統工程重要的組成部分。IT 系統是多組件、不可分割的,任何一個組成部分的改進對於整體性都會帶來改進,而加速庫在其實的提升作用更加重要。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"總的來說,加速庫是應用軟件性能調優的最佳實踐方法之一,也是解決方案的基石。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"華爲鯤鵬數學庫架構師薛永輝表示,要想做好加速庫,首先需要熟悉硬件平臺的能力,再配合紮實的軟件技術棧,通過有效利用編譯器技術和工具鏈能力進行構建。在開發加速庫的過程中,要先識別出來瓶頸在哪裏,其次進行算法優化設計,再基於優化方案完成編碼,最後再通過相應的工具評估加速庫是否能夠達到性能要求。加速庫開發是一個循環往復的有趣過程。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"基於鯤鵬微架構的加速技術,華爲構建了鯤鵬加速庫。薛永輝介紹說,鯤鵬基於行業常用的軟件庫,通過軟硬協同、算法創新,打破性能瓶頸,充分釋放鯤鵬處理器的澎湃算力。目前已經覆蓋了壓縮庫、加解密庫、系統庫、媒體庫、數學庫和存儲庫等常用的基礎軟件庫,爲鯤鵬應用提供極致的性能保障。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"硬件加速庫方面,鯤鵬加速引擎基於華爲自研 UACCE 加速器內核框架,通過UIO,池化,分塊等技術,提供最佳能力,且100% 繼承 OpenSSL 和 Zlib 接口,應用層代碼邏輯無需調整,使用簡單。在優化效果上,Web 應用使用 KAE 硬加速 Nginx,相比主流加速卡性能提升 35%;大數據使用硬加速庫啓用數據安全加解密,CPU 性能損耗小於 5%;分佈式存儲使用硬加速庫,混合讀寫(7:3)帶寬性能最高提升 40%。在未來芯片發展的過程中,鯤鵬硬件加速庫也會根據市場需求進一步研發更多更好的功能。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"軟件加速庫方面,薛永輝重點介紹瞭如何通過軟件編碼提升軟件性能的幾個技巧,如通過解決 IO(訪存)瓶頸、改善流水線、算法優化提升性能等,此外,還有一些其他的常見優化技巧,如指令重排、循環展開、標量替換、循環分塊、強度削弱、重複利用。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"目前,DevKit 加速庫插件支持加速函數一鍵識別、智能聯想,支撐應用快速集成鯤鵬高性能軟件庫,爲應用遷移後的性能保駕護航。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"鯤鵬編譯優化技術探索與軟件優化實踐"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"畢昇編譯器是一種 Linux 下針對鯤鵬處理器的高性能編譯器,於 2020 年正式發佈上線。它基於開源 LLVM 10.0.1 版本開發,並進行了優化和改進,同時將 flang 作爲默認的 Fortran 語言前端編譯器。除支持 LLVM 通用功能和優化外,畢昇編譯器還做了以下增強:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"numberedlist","attrs":{"start":null,"normalizeStart":1},"content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":1,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"高性能編譯算法。"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"編譯深度優化,增強多核並行化,自動矢量化等,大幅提升指令和數據吞吐量。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":2,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"加速指令集。"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"結合 NEON\/SVE 等內嵌指令技術,深度優化指令編譯和運行時庫,發揮鯤鵬架構最佳表現。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":3,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"AI 迭代調優。"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"內置 AI 自學習模型,自動優化編譯配置,迭代提升程序性能,完成最優編譯。"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"華爲畢昇編譯器架構師魏偉表示,畢昇編譯器結合鯤鵬架構特點,針對不同場景,不同應用特點,使用不同的編譯優化手段,通過深度優化指令編譯,引入或增強優化算法等,發揮鯤鵬極致算力。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"會上,魏偉還分享了畢昇編譯器的幾個優化技術,如:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"循環優化。循環優化是編譯器中極爲重要的一個優化手段,具有極爲廣泛及多樣化的優化措施。編譯器通過不同的優化方法來提高循環的性能。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"結構體內存佈局優化。基於全程序優化來提高緩存利用率,優化的主要手段是將結構體數組轉換爲數組結構體。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"結構體指針壓縮優化。通過將指針成員由 64bits 壓縮至 32bits,減小每個結構體 node 的內存體積。這一概念同結構體內存佈局優化有些類似,目的都是改善訪存局部性,提升緩存利用率。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"自動向量化。畢昇編譯器重點優化了循環矢量化及 SLP 矢量化,充分保持程序局部性,高效提升計算密集型場景的性能。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"Pipeline 優化。編譯器在做後端基於硬件流水線的優化,在特定場景下可以帶來很多收益。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"Autotuner。其引入了基於 ML 的自動搜索技術,可以節省調優時間。"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"效果方面,畢昇編譯器與鯤鵬芯片協同,通過編譯器技術充分發揮芯片的性能,提升鯤鵬硬件平臺上業務的性能體驗。基於鯤鵬上編譯器優化,SPEC2017 性能比 gcc 平均高 20% 以上。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"據魏偉介紹,畢昇編譯器 1.3.3 版本將於今年 6 月 30 日正式發佈,新版本支持基於 Structure Peeling 的特性增強及指針壓縮優化,完善 Fortran2003\/2008 語言特性,同時新增大量優化特性,增強與完善 Autotuner 特性,改善調優時間。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"ExaGear:動態二進制翻譯技術原理及應用實踐"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"ExaGear 是華爲自主可控的動態二進制翻譯軟件,通過利用動態二進制翻譯技術,結合動態二進制優化能力,能夠穩定支持無源碼的 x86 和 ARM32 存量業務運行在鯤鵬平臺上。具體實現上,ExaGear 將 guest 應用的 x86 或 ARM32 指令翻譯成 ARM64 指令,並模擬 guest 應用調用的操作系統 API。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"簡單來說,"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"ExaGear 是一種“中間件”軟件解決方案"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":",位於 guest 應用程序和 ARM Linux OS 之間。它主要具有以下幾方面優勢:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"numberedlist","attrs":{"start":null,"normalizeStart":1},"content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":1,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"代碼 0 修改。"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"直接加載被翻譯執行的二進制應用程序文件,用戶無需重新編譯或修改二進制應用程序,無需對業務應用進行額外的二次開發,最小化業務遷移成本。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":2,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"業務無損。"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"經過翻譯執行的業務邏輯與原生業務行爲一致,保證翻譯過程自身透明性,翻譯工具無需解釋業務邏輯,不直接處理用戶數據。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":3,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"性能領先。"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"集成高性能編譯技術,實現一種指令集到另一種指令集的跨指令體系結構實時轉換,識別熱點指令並在線深度優化熱點指令翻譯過程,達到指令翻譯性能業界領先。"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"華爲二進制翻譯技術專家呂研冬博士表示,開發者使用 ExaGear,通過無源碼應用遷移,大幅降低了存量業務部署門檻,"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"讓用戶以最低的人力和時間成本平滑遷移業務,實現了應用業務快速遷移到鯤鵬"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"四位華爲技術專家爲開發者們詳細解讀了鯤鵬一站式開發套件 DevKit 的的各大使能工具,與會者不僅瞭解了鯤鵬平臺軟件遷移過程中的關鍵技術,也收穫了應用調優上的相應技巧。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"圍繞着硬件使能、基礎使能、應用使能和開發使能層持續投入,華爲通過全棧開放開源,構建鯤鵬計算生態。未來,華爲將會把更多優秀的技術推向市場,爲企業和開發者提供完備、易用和高效的工具鏈,加速鯤鵬生態繁榮和產業成功。"}]}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章