《2-d3s1-2-openEuler 對 RISC-V 的支持現狀和未來發展路線-RISCV2023(1).pdf》由會員分享,可在線閱讀,更多相關《2-d3s1-2-openEuler 對 RISC-V 的支持現狀和未來發展路線-RISCV2023(1).pdf(27頁珍藏版)》請在三個皮匠報告上搜索。
1、openEuleropenEuler對對RISCRISC-V V的支持現狀和未來發展路的支持現狀和未來發展路線線報告人:席靜openEuler RISC-V SIG Maintainer&中國科學院軟件研究所 OERV團隊主管2023/08/25The Current Status and Future Development Route of OpenEulers Support for RISC-V目目 錄錄openEuler和RISC-V SIG簡介0103OERV未來計劃02OERV支持現狀與成果本OERV簡稱openEuler RISC-V openEuleropenEuler和和R
2、ISCRISC-V SIGV SIG簡介簡介openEuleropenEuler簡介簡介openEuler 簡稱歐拉,是開放原子基金會托管的面向數字基礎設施的開源操作系統。openEuler 突破性的實現了一套OS 架構下,100%支持主流計算架構,是最佳支持多樣性算力的開源操作系統。openEuler開創性的提出全場景操作系統理念開創性的提出全場景操作系統理念,通過全棧原子化解耦和榫卯架構,實現版本靈活構建、服務自由組合。通過一套操作系統架構,實現對服務器服務器、云計算云計算、邊緣計算邊緣計算和嵌入嵌入式式等場景的支持。通過一套操作系統架構,南向支持多樣性設備支持多樣性設備,北向覆蓋覆蓋全場
3、景應用全場景應用,橫向對接 OpenHarmony 等其他操作系統,通過能力共享實現生態互通生態互通。圖片來源于https:/openeuler-website.obs.ap-southeast- RISCopenEuler RISC-V SIG V SIG 簡介簡介openEuler RISC-V SIG主要工作是推進 openEuler 操作系統在RISC-V指令集架構上的適配,是 openEuler 操作系統在多架構支持上的重要組成部分。SIGSIG組主要工作:組主要工作:版本鏡像的管理與發布版本鏡像的管理與發布基礎設施建設與維護基礎設施建設與維護軟件適配軟件適配硬件適配硬件適配測試測試
4、宣傳推廣人才培養主要參與單位:openEuler RISCopenEuler RISC-V SIG V SIG 大事件大事件2021.03openEuler RISC-V 使能runc 容器2021.07 在中科院的鏡像倉發布openEuler forD1D1鏡像鏡像2021.08 openEuler RISC-V 使能xfce桌面2021.11 2021 openEuler summit 峰會展示在D1上運行帶界面的java游戲2021.11在中科院的鏡像倉發布openEuler for Hifive unmatched鏡像2020.04 openEuler RISC-V SIG 成立202
5、0.06 在中科院的鏡像倉發布了第一版rootfs和kernel鏡像2020.08 在OBS構建系統開始構建openEuler RISC-V軟件包2020.09 在華為全聯接HC2020大會上發布了openEuler RISC-V,國內首發國內首發RISCRISC-V V版版LinuxLinux2020.10 中科院成功移植openEuler RISC-V到果殼(果殼(nutshellnutshell)2020.11 在openeuler鏡像倉發布第二版rootfs和kernel鏡像,可以在qemu中啟動鏡像,體驗openEuler RISC-V移植版2020.12 2020 openEule
6、r summit 峰會展示在果殼上執行openEuler RISC-V2022.03 openEuler RISC-V 22.03版本發布2022.05 openEuler RISC-V實現24小時5000包構建效率,并完成自動鏡像CI2022.05 歐拉開源操作系統成功適配賽昉賽昉 VisionFive RISCVisionFive RISC-V V 單板計算機單板計算機2022.08 Chromium 等多個桌面軟件登錄歐拉開源操作系統2022.12 RISCRISC-V SIG V SIG 推出基于推出基于openEuler openEuler 的下游發行版的下游發行版 Eulaceur
7、aEulaceura2022.12傲來操作系統傲來操作系統 2.0 RISC2.0 RISC-V V 版本已上線官網開放下載版本已上線官網開放下載2023.01 openEuler RISCopenEuler RISC-V V 的的 Firefox Firefox 性能大升級,最高性能大升級,最高 40 40 倍性能提升倍性能提升2023.02 openEuler RISC-V 成功適配VisionFive 2 VisionFive 2 單板計算機2023.03 RISC-V SIG 創建專屬郵件列表和論壇板塊2023.04 openEuler RISC-V 23.03 創新版本亮相:全面提升
8、硬件兼容性和桌面體驗2023.04openEuler Techday EP04 Leap into the future with the openEuler RISC-V SIG2023.04openEuler 成功適配SG2042SG2042服務器板卡加速軟件包構建2023.04openEuler RISC-V 成功適配LicheePi 4A LicheePi 4A 開發板,推動 RISC-V 生態發展2023.05 openEuler 成功適配LeapFive InFive Poros LeapFive InFive Poros 開發板開發板2023.07 Eulaceura 版本 23
9、H1:RISC-V 架構新的里程碑2023.08 獨家首發!獨家首發!OpenEulerOpenEuler主線集成主線集成LuaJIT RISCLuaJIT RISC-V JITV JIT技術技術OERVOERV支持現狀與成果支持現狀與成果Nezha D1 適配openEuler 成功在果殼(Nutshell)、全志 Nezha D1、SiFive Unmatched、賽昉星光VisionFive 1&VisionFive 2、矽速 Lichee RV、Lichee Pi 4A、算能 SG2042 以及躍昉 Poros 上成功運行。SiFive Unmatched 適配賽昉星光 VisionF
10、ive 1適配VisionFive 1 samuel_yuan果殼(Nutshell)硬件適配硬件適配完成主流的完成主流的RISCRISC-V V開發板適配開發板適配硬件適配硬件適配完成主流的完成主流的RISCRISC-V V開發板適配開發板適配LicheePi 4A 適配Sophgo SG2042 適配LeapFive適配賽昉星光VisionFive 2 適配軟件適配軟件適配 軟件包分層策略軟件包分層策略openEuler 社區根據軟件包的來源、質量屬性、維護方式等不同維度劃分為四類。版本發布時重點維護的是核心包、基礎包+EPOL擴展包,這個也是過去和當前RISC-V SIG適配和驗證的軟件
11、包范圍。鏡像鏡像EPOLextra packages(oepkgs.)developer packages(EUR)核包+基礎包(4600+)社區版本團隊主導,開源,QA質量保障默認安裝軟件、命令、服務、開箱即擴展包(1300+)社區伙伴主導,開源,伙伴質量保障本地同步官鏡像倉庫,通過dnf/yum命令鍵安裝第三包:開源/閉源(36000+)機構、企業、個主導,閉源/開源oepkgs源,通過dnf/yum命令聯鍵安裝戶軟件倉openEuler社區針對開發者推出的個軟件包托管平臺。鏡像源6000 src rpm數據更新時間:2023/08l 軟件代碼:同源異構;版本均已對齊主線(x86_64&a
12、arch64)。l 適配范圍:超99%的核心包和基礎包(base)、超96%全量包(everything)、近90%擴展包(epol)范圍的軟件包編譯構建成功。軟件包適配成功占比軟件包適配成功占比工程名架構總包數成功數成功率openEuler:23.09:BaseOS riscv641236122799.27%openEuler:23.09riscv644555440196.62%openEuler:23.09:Epolriscv641144101288.46%openEuler:23.03riscv644315423998.24%openEuler:23.03:Epolriscv641241
13、119195.97%openEuler:22.03riscv644291416196.97%openEuler:22.03:Epolriscv6486366977.52%參考https:/build.tarsier- 軟件適配軟件適配 成果與現狀成果與現狀基礎軟件包版本包名版本包名版本kernel6.4llvm/clang12.0.1gcc12.3llvm-15/clang-1515.0.7glibc2.38openjdk-1.8.01.8.0.382.b05binutils2.40openjdk-1111.0.20-galibmpc1.3.1openjdk-1717.0.8gmp6.3.0o
14、penjdk-latest20.0.2python33.11.4golang1.20.7perl5.38nodejs18.16.0rust1.17.1參考:https:/ 桌面環境:初步適配了 7 款桌面環境,XFCE、UKUI、DDE、KDE、Kiran、GNOME、Cinnamon 瀏覽器:FireFox(with SpiderMonkey JIT-enabled)、Chromium 文檔:LibreOffice 郵件:Thunderbird 多媒體:VLC 圖像:GIMP、ImageMagick 圖形:Mesa(with LLVMpipe JIT-enabled)、Qt、Vulkan 代
15、碼:Eclipse、vimopenEuler RISCopenEuler RISC-V V Desktop is readyDesktop is ready!容器和容器集群Docker、iSulad、Kubernetes 等數據庫SQLite、MySQL 等網絡相關組件DPDK 等Web 服務Nginx、Tomcat 等openEuler RISCopenEuler RISC-V V Server software works,but is limited in performanceServer software works,but is limited in performanceFire
16、foxFirefoxFirefox JavaScriptJavaScript性能提升近性能提升近4040倍倍openEuler RISC-V 率先為Firefox 引入軟件所開發的SpiderMonkey JIT 補丁。FirefoxRISC-V開啟SpiderMonkeyJIT優化之后,JavaScript 程序的運行速度提升最高達到解釋執行的近 40 倍,其中以圖片渲染模塊提升最為顯著,高斯模糊算法的執行速率提升在 170%270%之間。相對于其他發行版相對于其他發行版,openEuleropenEulerRISCRISC-V V率先擁有了率先擁有了 RISCRISC-V V 領域最快的領
17、域最快的 FirefoxFirefox。Mesa Mesa 引入引入 LLVMpipe JIT LLVMpipe JIT 提升渲染性能提升渲染性能為解決LLVMpipe 軟件渲染性能短板,RISC-V SIG為新升級的22.3.2版本Mesa引入了軟件所基于LLVM Orcjit 為 LLVMpipe 添加新的 JIT 引擎并支持RISC-V 的優化補丁。與每秒 5 幀的 glxgears 齒輪測試對比,添加補丁的LLVMpipe能夠輸出大致與測試機顯示器同步的60 幀左右。對于對于 QEMUQEMU 和沒有和沒有 GPUGPU 的開發板硬件的開發板硬件,FirefoxFirefox網頁瀏覽和
18、視頻播放更加流暢網頁瀏覽和視頻播放更加流暢,可見性能得可見性能得到明顯改善到明顯改善。LuaJIT RISCLuaJIT RISC-V JITV JIT技術技術集成到集成到OERVOERV中,中,OERVOERV擁有高效的擁有高效的LuaLua運行時運行時由于LuaJIT的核心部分使用匯編編寫,移植到不同指令集平臺中的復雜性加大。尤其是LuaJIT的JIT部分不依賴于如LLVM的通用編譯框架,此前僅在x86、ARM等平臺完成移植,而RISC-V指令集的移植工作尚未開始,任何依賴LuaJIT的程序在RISC-V平臺上或無法運行,或只能使用低速的原版Lua5.1。目前,中科院軟件所成功移植了 Lu
19、aJIT 的大部分功能,包括 DynASM 動態匯編器,解釋器運行時和RISC-V后端,現已通過 PUC Lua5.1 回歸測試與 LuaJIT回歸測試。OERV目前已經將上述移植成果集成到系統中,LuaJIT 和相關軟件在RISC-V架構下的支持也被合入到 openEuler 主線代碼中。openEuleropenEuler 將成為首個在主線將成為首個在主線分支為分支為 LuaJITLuaJIT 提供提供 RISCRISC-V V 架構支持的主流發行版架構支持的主流發行版。VisionFive2LicheePi 4A l發布頻率:發布頻率:繼承 openEuler 社區的版本發布計劃,從20
20、22年3月起,穩定的每半年發布一個新版本l鏡像版本:鏡像版本:20.03、22.03(長期維護版本,update V1、V2)、22.09、23.03l鏡像類型:鏡像類型:l按照運行環境劃分:QEMU、全志哪吒 D1、矽速 Lichee RV、Lichee Pi 4A、SiFive Unmatched、賽昉VisionFive 1&2、算能 SG2042l按照鏡像類型劃分:Base 基礎鏡像、桌面鏡像l鏡像下載:鏡像下載:https:/ RISCopenEuler RISC-V V 發行版發行版OERV的成果也同樣支撐了 中科院軟件所的商業發行版傲來EulixOS,這種RISC-V基礎軟件方面
21、的成果共享也是OERV的積極完善RISC-V開源軟件生態的意義所在,希望基于OERV的開發者們可以更加專注于一些特性的優化。EulixOS官網:https:/ 下游發行版Eulaceura,相較于OERV前期旨在夯實OERV軟件基礎和豐富軟件生態,Eulaceura更加注重用戶體驗的提升。下載地址:repo.tarsier-項目地址:https:/ OERV 下游發行版下游發行版基礎設施基礎設施o構建平臺構建平臺 OBSOBSo兼具 qemu-system 全系統模擬和 qemu-user 用戶態模擬兩種 runneroriscv64,x86_64,aarch64 三架構支持o接入 RISC-
22、V 真實硬件以加速構建o鏡像構建鏡像構建 GitLabGitLab CICIo自有腳本和流水線按時/按需生成鏡像o自動化測試自動化測試oMugen 基本系統測試oOpenQA 圖形化測試oKernel CI 內核測試UpstreamUpstream100000+100000+projectsprojects開發者測試開發者測試孵化項目版本集成測試版本集成測試催熟項目版本發布版本發布/軟件軟件測試測試發行穩定版本兼容性測試兼容性測試聯合生態繁榮IHV/ISV/OSV門禁測試門禁測試License檢查基本信息檢查接口變更檢查敏感信息檢查構建測試構建測試安裝部署軟件包管理組件測試簡化版集成測試集成測
23、試集成測試開源測試項目集成服務類測試特性類測試場景化和場景化和DFXDFX測試測試集成用戶場景類服務類 故障注入穩定壓力 性能 升級安全測試安全測試掃描類Fuzz測試補丁測試補丁測試問題修復補丁測試南向測試南向測試硬件驅動類兼容性測試測試用例庫測試組手工測試社區用戶眾測自動化測試工具開發自動化測試套和用例自動化測試北向測試北向測試軟件包兼容性測試構建功能測試構建功能測試編譯構建接口/功能集成測試集成測試白盒測試白盒測試代碼評審Fuzz測試自動化測試自動化測試手工測試手工測試加固測試加固測試加固測試圖片根據openEuler QA SIG-分層測試策略修改https:/openEuler社區測試
24、系統介紹.pptx開發員測試員測試框架測試框架OERV未來計劃推動RISC-V進入主線成為openEuler官方支持的架構OERV進主線評審對象:評審對象:通過TC+Release+QA+安全委員會 4個SIG的評審流程路線:流程路線:QA SIG 安全委員會 Release SIG TC主要要求:主要要求:1.代碼同源:發布范圍內的軟件包需要滿足代碼同源要求;2.鏡像工具開源且統一:與x86_64和aarch64架構鏡像工具統一;3.構建效率&缺陷修復效率:軟件效率和問題修復效率滿足發版測試時間要求;4.發布范圍內的軟件包需要達到 QA SIG 測試要求;5.發布鏡像符合安全性要求;定義發布
25、范圍代碼同源(發布范圍內代碼回合)質量保障(參考QA質量標準)安全性要求基礎設施&構建效率提升問題解決的效率鏡像具統OERV進主線Kernel全量OS4000+基礎OS1000+EPOL1000+23.09全部基礎OS合主線可選:90%全量OS+Epol合主線24.03基礎設施、CI/CD完善全量OS+Epol合主線l 23.09:至少完成全部基礎基礎OSOS(baseosbaseos)范圍軟件包合入)范圍軟件包合入主線;可選完成全量OS和Epol軟件包的合入;l 24.03:完成所有全量所有全量OS+EpolOS+Epol的合入的合入;也包括可能的基礎設施(硬件)、CI/CD完善等效率提升工
26、作的完善和健全;1 1.RISCRISC-V V 架構在架構在 2323.0909 版本合并進入版本合并進入 openEuleropenEuler 主線主線l23.09:BaseOS 范圍的變更合并進入主線l24.03:所有 RISC-V 相關變更并入主線l發布 openEuler RISC-V 第一個正式的長期支持(LTS)版本l進入 RISC-V Lab 推薦使用的 RISC-V 操作系統列表2 2.LLVMLLVM 平行宇宙計劃平行宇宙計劃(用LLVM取代GCC編譯整個openEuler操作系統,由Compiler SIG牽頭)l23.09:lOERV LLVM 平行宇宙計劃完成構建和測
27、試版本的并行發布l平行發布全 Clang/LLVM 構建的 openEuler,x86_64/aarch64/riscv64 三架構鏡像l24.03:lLLVM 平行宇宙合入 openEuler 主線3.3.支持中科院軟件所如意支持中科院軟件所如意SDKSDK開發者套件的開發,并提供對應的開發者套件的開發,并提供對應的 Sysroot Sysroot 和硬件鏡像和硬件鏡像4 4.20252025 年年面向面向 RISCRISC-V V 集群場景發布集群場景發布 openEuleropenEuler RISCRISC-V V forfor HPCHPC5 5.支持支持V V擴展擴展6 6.高性能
28、支持:高性能支持:DPDKDPDK,SPDKSPDK,OVSOVS(一個來自社區貢獻者的支持計劃一個來自社區貢獻者的支持計劃 samuel_yuansamuel_yuan)未來計劃openEuleropenEuler RISCRISC-V Sig:V Sig:https:/ openEuleropenEuler Source Code for RISCSource Code for RISC-V V:https:/ Tarsier OBSTarsier OBS:https:/build.tarsier- openEuleropenEuler RISCRISC-V ImagesV Images:https:/ 代碼倉庫代碼倉庫:代碼庫:https:/ to join usWelcome to join us!微信公眾號openEuleropenEuler 官網官網:https:/www.openeuler.org/zh/