當作業系統告別了“碎片化”,會是種怎樣的體驗?|Q推薦

語言: CN / TW / HK

作者 | 鄭思宇

在手機端,安卓和 iOS 是當前兩大主流的作業系統,但在工業智慧化的發展過程中,伺服器和工業裝置的作業系統卻相互割裂,這導致資料孤島化的情況進一步加劇,如何能讓不同裝置、不同場景形成有效協同,成為了亟需解決的問題。

在剛剛落下帷幕的 openEuler Summit 2021 中 ,尤拉開源社群技術委員會主席胡欣蔚發表了《全場景尤拉 - 志之所趨,無遠弗屆》的主題演講。在隨後的媒體溝通會中,InfoQ 約訪了胡欣蔚,圍繞 openEuler 21.09 的技術升級以及作業系統“碎片化”等問題與他做了進一步探討。

作業系統“碎片化”怎麼破?

正如前文所言,生態割裂、應用重複開發、協同繁瑣是當前作業系統領域的現狀,為了打破這種局面。9 月 30 日,首個支援數字基礎設施全場景的 openEuler 21.09 創新版本應運而生,這也是尤拉全新發布後的第一個社群版本。

新尤拉可廣泛部署於伺服器、雲端計算、邊緣計算、嵌入式等各種形態裝置,應用場景覆蓋 IT(Information Technology)、CT(Communication Technology)和 OT(Operational Technology),實現統一作業系統支援多裝置,應用一次開發覆蓋全場景。

自 2019 年 12 月 31 日 openEuler 成立以來,華為以及尤拉社群始終沒有忘記在核心技術和社群基礎能力兩方面持續投入,在 openEuler 21.09 創新版中也是如此。

由於不同晶片架構對記憶體模型以及鎖原語的定義略有差異,如果這些差異不能在作業系統中有效解耦,就意味著上層應用在不同架構間移植時會出現很多問題。目前,針對鎖和記憶體模型的形式化的驗證研究,已經能夠證明同步的併發原語在不同資料結構的正確性,這一點對於多樣性計算來說極為關鍵。

同樣以多樣性算力出發,對於多工共享虛擬記憶體池,已實現了跨程序零拷貝;UADK 加速器框架也已經能為加速器開發提供統一介面。

其次,RISC-V 被認為是繼 X86 架構和 ARM 架構之後第三個主流架構,畢昇 JDK 作為一個高效能、可用於生產環境的 OpenJDK 發行版,目前已經實現了 RISV-V 架構下的 JIT。

在虛擬化方面,openEuler 社群首發同時支援輕量虛機容器和標準虛擬機器,初步統一了虛機容器生態。

除次以外,對於一個作業系統開源社群而言,如何才能長期、有效地構建作業系統?這一次,openEuler 21.09 在社群基礎能力上帶來了五大突破:

社群內實現完整的淨室構建、網路隔離:如果沒有把構建環境隔離,則有可能在構建過程中被注入不安全的網路元件。目前,openEuler 在構建過程中用到的元件都源自可控、可管理的內容網路,能夠保障開發者交付的版本與社群開源的程式碼是一一對應的;

基礎構建支援邊緣和嵌入式版本:釋出面向邊緣計算場景的版本 openEuler 21.09 Edge,整合 KubeEdge+ 邊雲協同框架,具備邊雲應用統一管理和發放等基礎能力;釋出面向嵌入式領域的版本 openEuler 21.09 Embedded,映象大小

社群門禁引入證書檢查和程式碼片段檢查;

加速映象站點建設,新增映象站點 10+。

當前,已經在多樣性算力和多樣性場景上有了全面、長足的發展:在多樣性算力上,不僅包含 X86、ARM 以及 RISC-V 的支援,SW 以及 LoongArch 架構也在社群內有了初步的開發;在多樣化硬體方面,覆蓋了虛擬機器、伺服器、小型開發版以及 DPU;此外,社群針對不同場景做了作業系統的延伸版本,包括面向雲的 NestOS、KubeOS,面向邊緣的 OSWare、openEuler Edge 以及面向工業控制領域的 GearOS、openEuler Embedded。

openEuler 21.09 創新版本釋出後,我們不難看出 openEuler 在根技術持續投入的決心,正如胡欣蔚在演講中提到的那樣:“要想成為中國基礎設施的根基,openEuler 需要先把自身的根基打牢、打紮實。

社群如何為全場景提供支援?

由於“效能、可靠、安全、擴充套件、確定”是以上覆雜場景對於技術的歸一訴求,元件原子化、構建服務化、協同套件化則是 openEuler 社群給出的答案,基於這三方面的能力,openEuler 社群可以為雲、邊、嵌入式提供支援。

元件原子化:雖然在過去兩年中,openEuler 是按照一定節奏來發布版本,但對於自定義行業來說,他們還希望有更快的演進速度,這意味著 openEuler 要支援原子化特性單獨釋出、按需整合。另外,為了滿足不同行業的應用訴求,還需要用多個核心 + 原子化服務,支援不同場景做靈活地組合應用。

構建服務化:為了讓各種作業系統能夠共享統一的平臺機線,使得業務遷移沒有障礙。openEuler 社群提供了構建服務化的能力,其中包括統一的構建資料表達、靈活地構建程式語言、靈活的本地執行引擎以及大規模分散式執行引擎。

協同套件化:為了實現對儲存裝置統一管理,讓任務在多樣性算力間快速流動,openEuler 社群提供了基於一套協同化套件,讓應用在使用協同能力時變得更方便。

下一步怎麼走?

一般來說,可以將資料鏈路分為裝置層、邊緣層、企業層以及產業層,openEuler 21.09 創新版本問世以後,資料孤島被打破,從而實現了從資料流到決策流的理想閉環,讓企業在數字化、資訊化的發展浪潮中實現了快速的增長。

openEuler 21.09 釋出以後,引發了行業內的高度關注,這讓我們不禁對尤拉在 2022 年的發展方向產生了好奇。眾所周知,openEuler 每年都會在 3 月和 9 月釋出兩個新版本,胡欣蔚大致為我們介紹了兩個方面:

一方面,由於嵌入式作業系統與服務系統的構建方式有很大不同,之前,openEuler 能夠編譯出一個面向伺服器的版本,但現在利用同樣的流程卻無法編譯出面向嵌入式的版本。在 2022 年,openEuler 將會在構建系統方面做調整,讓其在面向不同場景時可以用一套程式碼進行構建。同時,這也將成為技術委員會在明年重點發力的方向。

另一方面,在當前的伺服器發展趨勢中,單個節點的記憶體已經越來越不足以支撐業務發展的需要,現有計算架構的瓶頸越發凸顯。在 openEuler 後續版本中將推出分散式儲存的特性,分散式記憶體套件是叢集分散式應用加速平臺,針對大資料、HPC、AI、分散式儲存、資料庫、雲與虛擬化等分散式應用場景,通過記憶體資料處理、近數計算等關鍵技術實現應用效能倍數級提升。分散式記憶體套件在多樣化算力和端邊雲協同場景也可以實現應用的加速。

寫在最後

在 openEuler Summit 2021 中,胡欣蔚引用了莊子的一句話作為演講結束語:“其分也,成也,其成也,毀也”。細究這句話,其實與當前作業系統領域的現狀如出一轍。最開始,不同作業系統在不同領域中多樣化發展,但在時代發展的過程中,各自為營的作業系統正在成為企業進一步發展的阻力。

我們有理由相信,凝聚了 869 名貢獻者力量的 openEuler21.09,僅僅只是一個開始,構建全場景也並不會是華為一家的工作。不遠的將來,隨著越來越多生態夥伴的加入,橫亙在企業發展道路中的這股阻力終將被打破。