




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、鯤鵬軟件平臺遷移方案前言本課程將從程序運行原理開始介紹,以了解軟件遷移的背景與必要性。并通 過軟件遷移過程介紹遷移的五個步驟以及每個步驟的具體事項。第1頁目標第2頁學完本章節后,您將能夠:了解程序運行原理了解軟件遷移至鯤鵬計算平臺的過程目錄為什么要做軟件遷移軟件遷移過程概述 典型案例第3頁計算技術棧與程序執行過程計算技術棧程序執行過程Application(應用)Algorithm(算法)High-Level Language(高級編程語言)Assembly Language(匯編語言)Machine Code(二進制機器碼)Instruction Set Architecture(指令集架構
2、)Micro Architecture(微架構)Gates/Registers(門/寄存器)Transistors(晶體管)Physics(物理原材料)Increasing order of ComplexityIncreasing order of AbstractionSoftwareHardware高級語言匯編語言機器碼0000 1001 1100 0110 1010 1111 0101 1000 1010 1111 0101 1000 0000 1001 1100 0110 1100 0110 1010 1111 0101 1000 0000 10010101 1000 0000 10
3、01 1100 0110 1010 1111C/C+編譯器Fortran編譯器匯編器指令集指令1數據1temp = v k; vk = vk+1; vk+1 = temp;TEMP = VK VK = VK+1 VK+1 = TEMPlw $t0, 0($2) lw $t1, 4($2) sw $t1, 0($2) sw $t0, 4($2)第4頁程序代碼(C/C+):int main()int a = 1;int b = 2; int c = 0;c = a + b;return c;匯編代碼指令說明ldrx1, sp,#12b9400fe1從內存將變量a的值放入寄存器x1ldrx0, sp
4、,#8b9400be0從內存將變量b的值放入寄存器x0addx0, x1, x00b000020將x1(a)中的值加上x0(b)的值放入x0寄存器strx0, sp,#4b90007e0將x0寄存器的值存入內存(變量c)匯編代碼指令說明mov -0 x4(%rbp),%edx8b 55 fc從內存將變量a的值放入寄存器edxmov -0 x8(%rbp),%eax8b 45 f8從內存將變量b的值放入寄存器eaxadd %edx,%eax01 d0將edx(a)中的值加上eax(b)的值放入eax寄存器mov %eax,-0 xc(%rbp)89 45 f4將eax寄存器的值存入內存(變量c)
5、在鯤鵬編譯后生成指令 在x86編譯后生成指令鯤鵬處理器與x86處理器的指令差異編譯第5頁為什么要做軟件遷移軟件遷移過程概述典型案例目錄第6頁遷移準備遷移分析編譯遷移測試與認證性能調優信息收集環境申請軟件棧分析編程語言/代碼/依賴庫分析性能指標測試性能優化壓力測試長穩測試規模商用/鯤鵬 展翅認證代碼遷移軟件包遷移遷移過程概述五個步驟完成軟件遷移第7頁Openlab遠程環境,一站式遷移調優平臺移植 X86-鯤鵬兼容性 測試技術 認證辦公環境可以連接公網環境無需配置物理服務器,向Openlab申請遠程服務器資源提供認證,生態推廣信息收集收集軟件技術棧硬件信息芯片/服務器信息自研軟件中間件/編譯器操作
6、系統/虛擬機開源軟件商業軟件軟件信息遷移準備收集軟件棧信息,準備遷移環境環境申請第8頁X86 芯片StreamXP /2288H客戶自研軟件開源軟件JDK閉源軟件軟件依賴庫GCCOS ToolsOS軟件技術棧業務軟件運行環境開源軟件第9頁自研軟件商用軟件JDK編譯器操作系統開源軟件:獲取開源軟件ARM64軟件包或下載源碼重新編譯依賴組件:獲取ARM64包或獲取源碼重新編譯,閉源組件需升級替換 ARM版本或替換類似組件庫編譯語言:C/C+/Go類編譯語言重新編譯解釋語言:Java/Python等解釋型語言替換ARM版本JDK或PVM虛擬機獲取支持鯤鵬處理器或TaiShan服務器的軟件版本如無法獲
7、取到兼容版本,需更換其他類似軟件替換支持鯤鵬版本JDK,如OpenJDK使用操作系統自帶的編譯器或者下載源碼重新編譯,如GCC 7.3替換支持鯤鵬操作系統,可使用智能計算產品兼容性查詢助手查詢*說明:在華為云社區的鯤鵬論壇,已經建立了軟件倉庫,部分軟件包可以在軟件倉庫直接下載遷移分析分析軟件棧,制定遷移策略代碼遷移軟件包遷移編譯型語言 C/C+/Go解釋型語言 Java/Python掃描依賴:掃描軟件包的運行依賴庫/可執行程序依賴庫編譯:編譯型語言需重新編譯,解釋型語言基于對應的虛擬機運行軟件打包:按照軟件安裝包原有結構重新制作成鯤鵬的軟件包代碼修改:源碼中對指令集依賴的宏定義及builtin
8、函數腳本修改:替換成支持鯤鵬的編譯選項內聯匯編:替換后重新編譯,比如rdtsc指令等不兼容指令:如SSE Intrinsic類加速指令,需重新編寫遷移類型子類修改點RPM第10頁DEB編譯遷移軟件編譯打包,驗證基本功能直接翻譯:純解釋型語言開發的應用程序,代碼無需修改,程序也不需要重新編譯, 如Java軟件安裝ARM版本JDK即可依賴庫編譯:如果軟件含依賴庫,則需要重新編譯建立基準壓力測試確定瓶頸實施優化確認效果調優前根據當前的硬件配置、組網、測試模型做綜合評估,建立合理的調優目標。通過壓力測試工具對系統加壓,同時監控系統數據,記錄數據變化。在壓力測試下,測試系統瓶頸比較容易顯現。系統的瓶頸通
9、常會在CPU過于繁忙、IO等待、 網絡等待、響應時延等方面出現。根據瓶頸點針對性地實施優化措施,同時記錄優化措施,一旦出現負向效果,及時回退。重新啟動壓力測試,準備好相關的工具監視系統,確認優化效果。性能調優利用五步法優化軟件性能第11頁層層測試,保障業務高性能穩定運行鯤鵬展翅認證現狀測試與認證保障商用上線,共建鯤鵬生態功能測試性能測試 長穩測試 規模商用測試業務基本功能在鯤鵬上運行是否正常,含單元測試及系統集成測試測試業務性能表現是否符合目標,同時監測 各系統指標是否正常長時間運行測試程序,以檢測業務能否長期 穩定運行上市資料刷新割接上線累計661家行業合作伙伴獲得鯤鵬展翅認證,平均每月認證
10、申請43份、 發放證書55份。覆蓋數字政府、電力、安平、運營商、金融等9大行業方案,以及數 據庫、中間件、大數據、分布式存儲、云&虛擬化等9個水平方案。*說明:上述數據為截止到2020年5月8日的統計數據第12頁目錄為什么要做軟件遷移軟件遷移過程概述典型案例第13頁步驟一 遷移準備步驟二 遷移分析步驟三 編譯遷移步驟四 性能調優步驟五 規模商用鯤鵬軟件遷移 的五個步驟工期2周2周6周8周4周業務特征第14頁代碼規模:C/C+( 272萬行)、Java( 165萬行 )、Python( 17萬行 )和JavaScript( 10.8萬行 )依賴庫:Java及C+的依賴庫總計140個,其中C/C+
11、語言 相關的34個性能目標:與x86持平遷移修改174個依賴庫需要重新編譯代碼歸一,構建腳本歸一匯編指令替換編譯選項修改數據類型修改華為內部項目:大型平臺軟件歷時4個月完成規模商用原有平臺2.4GHz / 2P / 48核Debian OS業務系統C+/匯編/Java 520+源碼文件鯤鵬/TaiShan2.6GHz / 2P / 96核Debian OS適配補丁(30個)業務系統55個依賴庫移植39個編譯問題,195行代碼修改5人月完成520+源碼文件移植,性能提升10%案例:行業伙伴核心應用系統遷移技術分析硬件環境 代碼評估 環境部署性能優化熱點函數分析 多核綁定內存就近訪問 網卡隊列優化
12、代碼移植C+/匯編語言移植 安裝JDK編譯開源代碼 更換依賴庫互聯網行業伙伴核心應用遷移環境準備:1人月第15頁代碼編譯和修改:2人月性能優化:2人月遷移規模:整體遷移,涉及的商業軟件較多,編碼類型主要以Java居多,涉及的Java軟件包100多個測試場景:大數據/數據庫/虛擬化/物理機性能/業務系統功能整體用時:整體遷移用時1.5個月,測試及調優用時1個月測試結果:各業務系統功能驗證通過,各測試場景性能均優于友商Skylake 61482280H V5業務應用軟件WeblogicOracle JDKOracle DBRedhat linuxVMWareKunpeng 920TaiShan 200 2280業務應用軟件TomcatOpen JDKGauss DB中標麒麟FusionSph
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版商鋪租賃三方協議書范例
- 物業承包合同
- 分店承包合同分店承包合同范文二零二五年
- 2025年生物質氣化機組合作協議書
- 2025年膠原蛋白護膚水項目可行性研究報告
- 2024年合肥廬陽科技創新集團有限公司招聘筆試真題
- 2024年恩施州巴東縣綠蔥坡鎮公益性崗位招聘筆試真題
- 2025-2030中國物流管理軟件行業發展趨勢與前景展望戰略研究報告
- 2025-2030中國潛水半干衣行業市場發展趨勢與前景展望戰略研究報告
- 2025-2030中國混合機行業市場發展分析與發展趨勢及投資風險研究報告
- 2024新版《藥品管理法》培訓課件
- 制冷與空調設備運行操作作業安全技術實際操作考試標準
- 安踏組織架構分析
- 2024新版(閩教版)三年級英語上冊單詞帶音標
- 有限空間中毒窒息事故警示教育
- 2024年國家公務員考試《行測》真題卷(行政執法)答案和解析
- DB12∕T 947-2020 城市道路交通指引標志設置規范
- 生豬屠宰獸醫衛生檢驗人員理論考試題庫及答案
- ISO9001-ISO14001-ISO45001三體系內部審核檢查表
- T-SHZSAQS 00278-2024 智慧農場水肥一體化系統運行技術規程
- 基于STM32的鋰電池管理系統設計與實現
評論
0/150
提交評論