作者介紹
陳海波,OpenHarmony 技術指導委員會主席,華為中央軟件院副總裁,華為基礎軟件首席科學家。主要研究領域包括操作系統、并行與分布式系統、系統安全等。 長期從事基礎軟件的研究與產業落地工作,開創華為微內核與自動形式化證明等技術,主持與推動操作系統多項核心技術在端、管、云場景海量商用,帶領團隊在 Linux 5.10/14 等版本 patch 數貢獻世界排名第一,近五年在操作系統領域高水平學術論文數居世界第一(csrankings.org 統計),合著的《現代操作系統:原理與實現》出版僅 2 月就獲得 2020 年度 51CTO 最受讀者喜愛 IT 圖書獎。 摘要 操作系統在計算機系統中發揮中樞作用,承擔釋放芯片與硬件能力、使能應用高效運行、提升全局能效的關鍵角色,同時也為應用與云服務提供生態入口。
本篇文章將面向 2030 年中長期愿景,分別從計算架構與硬件演進趨勢、產業與應用場景演進趨勢等角度,分享本人對操作系統演進的觀察與思考。
面向 2030 的操作系統總體展望
操作系統是軟硬件系統的中樞,向上要支持應用與服務,包括提升用戶體驗、提高業務競爭力、提供生態入口。向下需抽象并管理相關硬件,其核心挑戰是如何統籌全系統資源。
為解決此挑戰,我們可基于系統工程及運籌學的方式思考。類似運籌學研究工廠和作業的管理與調度,操作系統要解決的也是任務如何在硬件上進行管理和調度,主要提供三個關鍵能力,即:
抽象協同芯片硬件,釋放硬件能力
統籌管理資源供需,提升全局能效
使能應用高效運行,提供生態入口
相應地,操作系統的架構演進也會受到三個關鍵因素的驅動:
第一,新的產業場景與生態。產業場景對操作系統的影響非常大,場景的需求及其負載特征會對操作系統帶來新的驅動力。
第二,新的芯片與硬件架構。操作系統運行在芯片和硬件之上,釋放芯片和硬件的能力,因此芯片和硬件架構變化也會推動操作系統演進。
第三,軟硬件供需。操作系統作為核心的技術與生態底座,會受到軟硬件整體供需及先進要素的可獲得性的影響。
從統計規律來看,操作系統約每 20 年左右會進行一次換代,2030 年對操作系統而言其實很近。在這個階段中,操作系統會持續不斷向前演進,同時會出現局部的革命。
面向 2030,操作系統呈現萬物智聯新場景、新硬件和新供應三大趨勢
萬物智聯的新場景
交互方式上,從觸摸式交互演進為時空自然交互;任務調度上,從單節點調度,變成端到端確定性調度;算力資源上,從通用算力,變成多樣性融合的算力資源;同時隨著社會對隱私保護和數據安全的需求日益增強,還可能會有一些新的數字身份與核心信用體系誕生。
新的芯片與硬件架構
隨著Chiplet、3D 堆疊、Wafer Scale Computing 等芯片技術的出現,芯片工藝可能會演變為芯片工程,成為提升算力密度的關鍵路徑;還有新的計算存儲架構,包括多樣性算力、新非易失性存儲、新互聯、硅碳融合存儲等;此外,5.5G/6G 的大帶寬、低時延、高密度、高精度的互聯通信也會使能新的場景。
軟硬件供需
面對新的全球形勢,軟硬件的先進要素供應可能會呈現出多元化供應體系,這反過來也會對操作系統的演進帶來很大影響。
賦能萬物智聯新場景與新生態
近年來,尤其受到疫情影響,社會數字化轉型至少加速五年。在過去,人類通過不斷創新數字技術來連接物理世界;在當下,元宇宙、數字身份等這些新技術的出現,會推動數字世界和物理世界的融合。操作系統從硬件的附屬品到一個獨立軟件,再到生態入口,其重要性不斷增加。在萬物智聯時代,操作系統會發揮更關鍵的作用。
展望 2030,操作系統將成為數字世界與物理世界融合的技術底座
接下來會從操作系統賦能萬物智聯的新場景和新生態,支撐新硬件,構建新抽象協同算力,技術重構等幾個關鍵方面,與大家分享 10 個操作系統的演進思考。
演進思考 1:從觸摸交互走向時空自然交互,新交互帶來體驗躍遷
第一個思考來自交互的變化。人類的交互體驗從原來的機械式交互 (比如鍵盤、鼠標等) 到現在的觸摸式交互,得到了大幅提升。在未來,交互是否會走向時空自然交互?
自然空間交互:比如基于語音、眼神、空間/姿態,甚至注意力/腦電波等更自然的人機交互形式。當前這類交互模式已有雛形出現,包括腦機交互,及通過各種方式去抓取人的眼球動作進行交互的模式等。不同于傳統的桌面、應用入口,操作入口可能會變成場景式的智能時空入口形態。
系統級觸達:當前 APP 的使用方式已深入人心,未來是否會變成一個彼此可嵌套的系統級可觸達方式,打破傳統應用邊界,實現以任務和用戶為中心的推薦式、啟發式交互,也是下一步我們需探索的。
演進思考 2:從單節點確定性走向端到端確定性
第二個演進思考是有關任務調度的。在過去,我們關注單節點的確定性。當前,尤其在通信場景和很多工業場景中,我們更關注能否做端到端的確定性時延。在未來,隨著數字世界和物理世界的融合,會出現更多的時延敏感場景,比如遠程醫療、5G/6G to B (智能制造、工業 4.0) 、XR (實時交互) 等,對端到端的時延帶來很多新挑戰。
在時延敏感場景中,大家的第一反應往往是降低網絡時延。5G 等技術在推動整個網絡時延的下降。當網絡時延下降到一定階段后,操作系統在端到端時延的保障上就會起到非常關鍵的作用。在全系統的時延中,操作系統扮演著“樂隊指揮”的角色,需進行全鏈路的管理,把云服務、承載網、端側設備打造成一個端到端的確定性低時延體系。
演進思考 3:從垂域分治走向異構融合,支撐萬物智聯多樣性計算
第三個演進思考是有關算力資源的。在過去,我們常通過一個軟硬件垂域承載某一類計算,如通用計算、概率計算、AI 計算、物理計算、圖形計算等。但從發展趨勢上來看,計算架構正在從“通用+專用計算”向“多樣性算力融合”演進,但也存在大量挑戰。以“HPC+AI”為例,即高性能計算與人工智能的融合,要解決HPC 和 AI 的精度要求不一樣的問題,前者對浮點運算精度要求非常高,后者對精度要求相對高,有時采用 Int8、Int16 來做近似計算。這些就需要操作系統從垂域分治走向異構融合,將標量、向量等算力進行有效統籌。
同時,芯片架構從原來的以CPU為中心,到如今CPU+XPU的協同,并逐步形成統一內存架構 (Unified Memory Architeture, UMA),減少數據搬遷,有效緩解內存墻與存儲墻問題;此外存算一體和近數計算也可提升能效,即數據在哪就在哪計算,例如在搭載較強算力單元的智能網卡、智能 SSD 上。上述應用和硬件的演進都需要操作系統去使能,以支撐萬物智聯時代多樣化的計算。
演進思考 4:從 OS 走向 OS Kit,元 OS 架構支撐場景千變萬化
第四個思考是,如何從多個割裂的操作系統走向操作系統組件庫的集合,即 OS 到 OS Kit。原來的操作系統往往是場景專用的,如服務器操作系統、手機操作系統等,其很多能力和組件是孤立的。隨著 DSA (Domain Specific Architecture) 的發展,硬件和場景越來越多,可能會出現越來越多的操作系統。
這會帶來“昆蟲綱悖論”問題,即場景越來越多,設備形態也越來越多,雖然每類設備單獨的市場空間不大,但加起來的總空間十分大。另一方面,生態的碎片化使得這些設備難以充分發揮價值,不能形成規模產業,而沒有規模就沒有利潤,無法繼續發展,產生悖論。
我們提出了元 OS 架構來緩解這個問題。通過一個操作系統去適應所有場景,即“One OS for All”,已被證明是十分困難的。但如果將操作系統進行一個有效的解耦/元化,將系統組件 kit 化,實現“One OS Kit for All”。這樣在面向多場景的不同需求時,可將kit進行有效的組裝,來解決多場景能力共享、生態互通、極簡互聯、按需組合等問題。當然,元 OS 架構有很多的技術挑戰。例如如何對操作系統的狀態進行有效管理,如何在解耦后保障其性能等。
演進思考 5:從統計與推測走向精算與智能,精準統籌資源供需
第五個思考有關操作系統的資源管理。前文提到操作系統與系統工程中的運籌學有很多相通之處。如操作系統資源統籌調度的問題,如果在數學上進行抽象,和運籌學中 作業車間調度問題 (JSP) 與背包問題 (KP) 這兩個 NP 難問題是比較相近的。通過一定的轉化規約,可將資源統籌調度問題變成一個多對象、多目標優化的實時在線 JSP 問題。
受限于設備運行時算力、語義鴻溝、調度時延等約束,傳統操作系統很難進行理想的“精算”。例如每隔5-10ms 就可能進行一次調度,那么調度本身開銷期望是微秒量級。因此當前操作系統基于統計、分而治之等實踐方法來用最小的開銷求一個盡可能優的解,如采用公平輪轉的任務調度,根據訪問頻率采決策緩存的替換策略等。
隨著應用場景的變化,有兩個因素可能會使基于“精算”的資源統籌變得有價值:
一方面,在萬物互聯的時代,系統復雜性劇增,通過簡單近似算法來進行資源管理的效果會不斷下降。另一方面,隨著多樣性算力的出現,NPU 和加速器對特定負載可以有很強的算力提升,使得精確求解的收益變大。同時,操作系統通過語義透傳等技術,使得實時精算的收益大于成本,從而做到更加精準的資源統籌和更為平衡的供需管理。
支撐新硬件,構建新的抽象與協同能力
接下來會從如何支撐新硬件,構建新的抽象與協同能力的視角來分享幾個演進思考。
演進思考 6:從算力抽象走向架構感知,協同芯片工程提升算力密度
第六個思考是,如何從算力抽象走向架構感知。抽象是計算機學科的重要方法論,是將一些底層細節和能力進行封裝,從而實現更好的跨系統、跨算力。在工藝紅利放緩的背景下,芯片工程成為提升算力密度的關鍵路徑。芯片除了提供調頻調壓等能力,會出現更多的異構組合,甚至是動態的異構,這樣就需要操作系統去感知芯片的架構,甚至架構的實時變化,協同芯片工程,提升算力的密度。
在此過程中,操作系統需要去攻克一系列挑戰,包括如何去更精準地進行選核 (當前有大、中、小,甚至可能有一些微型核),如何做任務的瞬態遷移,如何做數據的局部性保障,如何在新架構下進行并發和協同設計等。(在動態異構的芯片工程體系下,并發從原來的相對對稱變成非對稱的并發,這給協同也帶來很大挑戰。舉一個具體的例子,原來實現一個自旋鎖 spinlock,會假設所有線程拿鎖的機會差不多,但如果硬件是大小核架構,或者是不同工藝的核,去同時競爭一把 spinlock 時,小核會有很大概率一直拿不到,因為它搶鎖的能力沒有大核強,這樣就會使資源分配不均衡。)
演進思考 7:從 CPU 為中心和 DSA 對等架構走向新計算架構,計算范式重定義
第七個思考是,計算架構的演進。計算架構從以 CPU 為中心,逐步到現在的DSA 對等架構 (包括 CPU、GPU、NPU、DPU、QPU 等,QPU 即量子計算單元)。未來會怎樣繼續演進呢?會出現怎樣的新計算架構?
在技術延長線上,操作系統要持續去攻克DSA 架構下的 XPU 異構算力間的高效協同與資源共享能力。但可以看到,DSA 的原生弊端正在逐步顯現,一方面是廠家需要看護多種多樣的硬件架構,維護成本極其高,且存在功能重疊的問題。而且DSA 很多是為特定運算設計的,稍微改變運算的形狀 (shape),可能會導致效率有很大下降。此外,還存在軟件棧難共享,XPU 間協同調度效率低等問題。
按照牧村定律,業界有望誕生出新的計算架構。(牧村定律/牧村波動,是日立公司總工程師牧村次夫 (Tsugio Makimoto) 在 1987 年提出,芯片架構的發展,總是在分層解耦和垂直整合之間交替擺動,大概每十年波動一次。牧村定律背后是性能功耗和開發效率之間的平衡。)經過當下 DSA 這樣的“分”之后,未來一段時間內,如果大部分的算力模型已定型,出于維護、成本、能力發揮等因素的考量,大家可能會自然想到,能否將各種 XPU 進行融合,甚至融合到同一個架構上去呢?這個新計算架構到底是什么,目前還需要進一步探索。但不管怎么樣,操作系統的計算范式可能會被重新定義,其底層的機制也將大幅重構。
演進思考 8:從多層走向一層融合存儲,泛存儲范式重定義
第八個演進思考是從存儲的視角來看的。存儲有可能會從多層走向一層,或者是多層走向兩層三層的融合存儲。
一方面來講,新介質與新互聯技術在持續地突破,加上高速存儲的存在,操作系統的存儲是否會向泛存儲范式演進?傳統以 CPU 為中心的三層存儲架構,即 CPU + DRAM + 閃存/硬盤,是否會演進為一個以數據為中心的單級存儲 (Single-Level Store) 呢?(單級在這里是一個虛數,實際上可能熱數據在一層,冷數據在一層,同時冷數據還使用傳統的硬盤進行存儲。)
進一步地,結合計算架構的演進,存儲范式是否會演進到以業務為中心的原位計算呢?事實上,傳統做法是將任務遷移到數據所在位置進行計算。由于任務調度開銷性能方面的影響 (任務調度的開銷可能比數據搬移更大),如果數據搬移的效率能得到非常顯著的提升,那么我們就可以考慮采用原位計算的方式,即不遷移任務到數據處,而是將數據搬移過來進行計算,從而顯著降低時延。
演進思考 9:從信任設備走向信任應用,數字信任體系重構
第九個演進思考,即從信任設備逐步走向以應用為中心構建信任模型。萬維網之父曾提過,如何去重構當下中心化的互聯網架構,如何去中心化。到底是不是去中心化,可能會受到各種技術因素和商業因素的影響。但我們可以看到,互聯網的安全模型正在從信任設備走向信任應用,這要求我們重構數字信任體系。
簡單來說,機密計算架構 (Confidential Compute Architecture, CCA) 是重構數字信用體系中一個很重要的軟硬件架構。早在 2002 年,ARM 就提出了 TrustZone 的概念,到現在正好 20 年。當前 TrustZone 基本在 ARM 體系里,包括手機、車、電信設備等等,華為構建的 iTrustee 安全操作系統也已布局在公司的各大平臺上。此外,2015 年 Intel 發布了 SGXv1,2016 年 AMD 推出 SEV,2019 年 AWS 也在軟硬件設計上進行一些使能和推廣,云上也出現了 Confidential VM 這樣的新形態,RISC-V 上也有 KeyStone、Penglai 等新的機密計算架構。
以 ARM 2021 年發布的 V9 CCA 架構規范為例,可看到 Realm 架構更多考慮從應用視角出發,如何提供一個安全的機密計算執行環境。從過往來看,ARM 每 10 年會有一次大的架構創新,其 CCA 架構對面向 2030 的信任體系影響是巨大的。操作系統的信任范式也很有可能會被重新定義,例如 ARM V9 CCA 架構正是從“信任設備、不信任應用”,演進到“信任自己的應用,但不必信任基礎設施提供商”。
ARM 2021 年發布 V9 CCA 新架構
因此,面向 2030,操作系統要思考如何去支撐數字信任體系的重構。按照華為公司發布的《智能世界2030》預測,50% 的場景將要采用隱私增強的技術。
全球產業展望 (GIV)《智能世界2030 —— 無界探索,翻開未來》:圍繞人類社會發展的需求,華為嘗試探索智能世界 2030,為每個人、每個家庭、每個組織發掘新機會,創造關于未來的無限可能。
報告地址:https://www.huawei.com/cn/giv
演進思考 10:從分層解耦走向垂直整合,底座技術重構
第十個思考,是從新的全球局勢來看,操作系統如何成為技術底座重構的關鍵。
垂直整合和分層解耦看似是兩種不同的方法論,但實際是辯證統一的。分層抽象和解耦,是計算機領域普遍適用的分而治之思想。圖靈獎獲得者 Butler Lampson 提過這樣一個大家熟知的理念,即“計算機科學的任何問題都可以通過增加一個中間層來解決”(其實是增加一個抽象來解決),但他后面還講了一句話大家都常常忽視,“除了因此引起的層次厚重的問題”。我們可以看到,過去 IT 系統的發展主要是逐層抽象、分層解耦的方式。
為什么還要做垂直整合,因為在逐層抽象的過程中,不可避免地會出現一些冗余抽象,我們需要不斷消除冗余,降低開銷。另外,如果“過于抽象”,還會帶來跨層的語義鴻溝問題,使得上下層供給不精準,跨層協同難。所以在計算機設計中,對于抽象理念有一個很重要的原則:“Abstract, but don't hide power”,即你可以抽象,但是不要隱藏能力。因此,我們要做跨層的精準協同與精準供給。
另一方面,抽象也不會是普適的,無法適用于所有場景。我們在很多場景中還是需要一些短鏈條式的創新。比如,操作系統的應用調用,可以分不同層級,使其調用到不同效率的接口。整體而言,垂直整合是面向硬件與業務的重新分層與協同,并非走向“血肉模糊”與“煙囪化”。在合理軟硬分工協同上,應結合硬件與業務的特征,提供“短鏈條創新”。
當然,垂直整合仍要堅持軟件的平臺化,構筑友好的生態,而不是走向自我封閉。
總結
小結一下,本文面向 2030,從三大驅動力的視角,向大家分享了操作系統的 10 個演進思考。包括操作系統如何賦能萬物智聯新場景與新生態,支撐新硬件,構建新的抽象與協同能力等。
編輯:黃飛
-
操作系統
+關注
關注
37文章
6856瀏覽量
123455 -
計算機系統
+關注
關注
0文章
289瀏覽量
24142
原文標題:業界洞察 | 陳海波:面向 2030 的操作系統架構與演進思考
文章出處:【微信號:LinuxDev,微信公眾號:Linux閱碼場】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論