作者介绍

陈海波,OpenHarmony 技术指导委员会主席,华为中央软件院副总裁,华为基础软件首席科学家。主要研究领域包括操作系统、并行与分布式系统、系统安全等。

长期从事基础软件的研究与产业落地工作,开创华为微内核与自动形式化证明等技术,主持与推动操作系统多项核心技术在端、管、云场景海量商用,带领团队在 Linux 5.10/14 等版本 patch 数贡献世界排名第一,近五年在操作系统领域高水平学术论文数居世界第一(csrankings.org 统计),合著的《现代操作系统:原理与实现》出版仅 2 月就获得 2020 年度 51CTO 最受读者喜爱 IT 图书奖。

关键字

操作系统、芯片硬件、万物智联、系统工程

摘要

操作系统在计算机系统中发挥中枢作用,承担释放芯片与硬件能力、使能应用高效运行、提升全局能效的关键角色,同时也为应用与云服务提供生态入口。

本篇文章将面向 2030 年中长期愿景,分别从计算架构与硬件演进趋势、产业与应用场景演进趋势等角度,分享本人对操作系统演进的观察与思考。

面向 2030 的操作系统总体展望

操作系统是软硬件系统的中枢,向上要支持应用与服务,包括提升用户体验、提高业务竞争力、提供生态入口。向下需抽象并管理相关硬件,其核心挑战是如何统筹全系统资源。

为解决此挑战,我们可基于系统工程及运筹学的方式思考。类似运筹学研究工厂和作业的管理与调度,操作系统要解决的也是任务如何在硬件上进行管理和调度,主要提供三个关键能力,即:

  1. 抽象协同芯片硬件,释放硬件能力

  2. 统筹管理资源供需,提升全局能效

  3. 使能应用高效运行,提供生态入口

相应地,操作系统的架构演进也会受到三个关键因素的驱动:

第一,新的产业场景与生态。产业场景对操作系统的影响非常大,场景的需求及其负载特征会对操作系统带来新的驱动力。

第二,新的芯片与硬件架构。操作系统运行在芯片和硬件之上,释放芯片和硬件的能力,因此芯片和硬件架构变化也会推动操作系统演进。

第三,软硬件供需。操作系统作为核心的技术与生态底座,会受到软硬件整体供需及先进要素的可获得性的影响。

从统计规律来看,操作系统约每 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 个演进思考。包括操作系统如何赋能万物智联新场景与新生态,支撑新硬件,构建新的抽象与协同能力等。

声明:本文来自OpenHarmony TSC,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。