写点什么

领域专有时代的操作系统「龙蜥」,是如何炼成的?

  • 2022-12-15
    北京
  • 本文字数:3501 字

    阅读完需:约 11 分钟

领域专有时代的操作系统「龙蜥」,是如何炼成的?

本文整理自龙蜥社区技术委员会主席,阿里云操作系统技术总监杨勇在 DIVE 全球基础软件创新大会 2022 的演讲分享,主题为“龙蜥:领域专有时代的操作系统”。

以下为杨勇演讲的精华内容,经编辑。


后摩尔定律时代,领域专有架构(DSA)成为未来计算机体系结构创新的主旋律。以垂直场景为中心,System Design For Application 的时代再度到来。 


数据中心领域,传统 IT 业务 “云化” 是一个长期的过程,一云多芯,异构的数据中心逐渐呈现场景多样化的局面。从资源池管理,到操作系统、基础软件、业务软件的部署,碎片化的时代已经到来。 

由云计算、操作系统、芯片厂商共同发起的龙蜥社区,因何而生,解决了什么问题,又将如何应对未来的挑战?让我们一起了解龙蜥操作系统是什么,以及龙蜥操作系统如何应对新时代的挑战。 

龙蜥操作系统是什么

龙蜥社区是由 16 家理事单位共同发起、共同治理的,包括了主流的芯片厂商、操作系统厂商以及云厂商。我们社区也在一直积极地吸纳合作伙伴,目前已经形成初步产业覆盖。



龙蜥社区的合作伙伴由操作系统、芯片、云、硬件、应用软件开发商以及解决方案商组成,这些产业力量加入到开源社区以后,在社区的平台上有更多商业合作,也有更多的创新项目去孵化。这些项目围绕着“三大主线、六个方向”去开展。


“三大主线”分别是应用生态,基础软件以及硬件生态。从应用生态的视角来看,一个好的操作系统一定要考虑最新的、最领先的编程语言,一定要考虑新的赛道,考虑新型的编程模式对操作系统的冲击,因此在编程语言、云原生上,我们希望有更多的创新。而基础软件则有两个非常重要的方面,一个是安全可靠,一个是高性能化,这是所有基础软件必须考虑的问题。最后,硬件生态方面,就是要做好软硬协同,多芯片平台的支持。


我们社区的操作系统产品矩阵目前有两大形态,一类是经典的发行版,就是 Anolis OS,目前已经发布了多个版本。另外一个是针对云原生容器场景,容器专属的 OS,Lifsea OS。



首先介绍一下社区的 Anolis OS 8 发行版。Anolis OS 8 是龙蜥社区的一个经典版本,而且是长期稳定版,在 CentOS 停服以后,提供了低成本的 CentOS 迁移解决方案及工具。在发布的第一天,我们就支持了国内外的主流芯片,特别是国产芯片。整个操作系统的软件栈上有三层,分别包含 RHEL 兼容组件、社区创新自研组件、商业化组件。



接下来让我们介绍一下云原生场景专属 OS。随着云的演进、云的发展,传统 OS 在云原生场景下暴露出种种“不适”,主要体现在以下三方面。

• 体积臃肿:OS 镜像体积大、启动慢;

• 版本零散:集群内不同节点软件包版本不一致,给集群运维带来困难;

• 安全风险:冗余的组件带来更大攻击面,OS 黑屏运维操作难以追溯。


于是,新的云原生场景的专署操作系统应运而生,龙蜥推出了 LifseaOS,希望能够实践云原生场景的不可变基础设施的理念。LifseaOS 具有很多优势,它比传统 OS 更精简、系统攻击面更小、启动更快速;默认集成云原生组件,系统开箱即用;通过根文件系统只读、原子升级回滚,保证集群节点运维一致性。更重要的,这个 OS 已经在云计算厂商服务了众多容器化和 Serverless 的用户。

领域专有时代的挑战 

计算产业未来的趋势一定是云计算,而在云时代,操作系统面临哪些挑战呢? 

站在云厂商的角度,我们看到,未来有三大趋势或者挑战:一是系统设计以应用为中心,今天出现了基于云的专署定制的硬件。由于摩尔定律的失效,为提供更有竞争的算力,更多的芯片设计系统都是以应用为中心设计的;二是场景都是碎片化的,没有一个通用的操作系统能满足所有场景的挑战;三是资源分配精细化了,原来应用部署在一台物理机上,现在变成了几十个、上百个容器或者虚拟机。这些趋势让操作系统面临各种问题,比如算力难以充分释放、研发成本高、运维管理成本高。



面对这三大挑战,有什么应对之道?关键在于垂直协同优化。一方面做好分层抽象,同时要有自适应甚至智能调优的能力,让用户变得更简单。另外一方面也需要考虑实际的具体问题,具体场景大致可归纳为三类。

  • 系统设计以运营为中心,异构数据中心成为趋势。希望有统一的资源池管理这些异构数据中心,以减少异构系统并池管理带来的性能差异以及管理复杂度;随着面向应用场景设计的 DPU 的出现,支持 DPU 接口的多样性,真正释放硬件潜能也越来月重要。

  • 场景碎片化,系统无法做到开箱即用的最佳性能。同一套通用操作系统支持多个场景,怎么去做取舍成为难题。云原生的部署方式让我们不需要再做取舍,既提供通用镜像,也提供针对不同垂直场景优化的定制镜像,但又没有非云场景的定制镜像的部署成本。

  • 云原生高密部署呼唤更精细化的资源分配。微服务,多租户,制定异构资源池的容器高密部署场景下的细粒度资源分配方案带来非常多的挑战。龙蜥社区的创新案例中,有弹性的 CPU Burst 带宽控制方案、在多租户场景下使用效果显著。

技术案例

接下来让我们一起看看,龙蜥社区在过去一年积累的技术创新案例,通过这些案例,可以进一步理解龙蜥社区是如何应对云时代的三大挑战的。对每个技术案例,我们都会介绍一下,它们应对的什么样的场景和挑战,又创造了哪些价值和贡献。



KeenTune 是一款技术调优工具,它主要面向的场景和挑战: 

• 场景碎片化,开箱即用的性能无法得到保障;

• 性能调优门槛高,成本高,且非常容易出现跷跷板现象;

• 相似的场景下,业务代码持续迭代变更,调优经验难以固化。


它创造的价值和贡献: 

• 引用 AI 算法,协助进行敏感参数识别及参数调优,有效降低调优门槛和成本;

• 使用专家知识库进行复杂参数关系管理,同时解决经验固化问题;

• 在裸机、VM、容器等多场景上,达成平均 30%+性能提升。



Plugsched SDK 是一个调度器热升级开发框架,是给内核开发工程师提供了一个低风险、低开销、易应用的开发设施,它面向的场景和挑战是:

• 内核调度算法优化工作在碎片化场景下成本极高,风险极大;

• 内核发布周期长,升级内核成本高;

• 优化容易引发性能问题,且问题回滚难。


它创造的价值和贡献:

• 提供调度器算法开发框架,帮助实现模块插件构建和发布;

• 热安装模块插件,安全简便,让内核研发敏捷高效;

• 支持回滚卸载,降低风险。



Express UDP 是一个精简协议栈,它面向的场景和挑战是:

• QUIC 成为 HTTP3.0 事实标准,但在 DPU 上没有释放出最佳性能;

• DPU 的 virtio 接口对 XDP 支持不友好,XDP 场景存在可用性问题。


它创造的价值和贡献是:

• 解决了 DPU 对接 QUIC 场景的性能和易用性问题,QUIC+ Express UDP + virtio-net + DPU 形成软硬协同方案;

• UDP 收发性能提升 3~8 倍,QUIC 端到端 QPS 提升 50%;

• 升级 virtio 规范,成为事实标准。



SMC-R 是一个弹性 RDMA 内核协议栈,它主要面向的场景和挑战是:

• 随着 DPU 的普及,RDMA 成为 DPU 的标准接口,大规模 RDMA 部署成为可能;

• RDMA 应用生态缺乏,云上应用大部分不支持 RDMA。


它创造的价值和贡献:

• 基于 DPU RDMA 接口,支持所有网络应用通过标准接口使用 RDMA,形成 DPU + RDMA 驱动+ SMC-R 软硬协同的协议栈;

• 网络性能提升 20%~50%;

• 大量性能优化、功能及稳定性增强贡献到上游 Linux 社区,共 60+补丁。



CPU Burst 是一种弹性 CPU 带宽控制技术,它主要面向的场景和挑战是:

• CPU 资源分配不合理经常引发容器 QoS 问题,预留空闲资源容易造成 CPU 利用率低,高密部署时,CPU 限流设置经常导致应用突发负载引起的性能抖动。


它创造的价值和贡献是:

• 提出 CPU Burst 技术,更精细化分配 CPU 资源,允许容器积累过去未使用的 CPU 资源,在需要时突发使用 CPU 资源,避免不必要的 CPU 限流;

• 帮助用户同时获得高 CPU 利用率并确保性能。

因时间所限,更多的技术案例在这里不能一一介绍了,欢迎访问龙蜥社区的网站,或者加入龙蜥社区的用户开发者社群,进一步了解社区的最新进展。

未来展望

最后,讲一下关于未来,龙蜥社区的思考。

让我们设想一下面对云时代的三大挑战,一个理想的社区以及理想的操作系统应该是什么样的?



首先,如果未来的计算平台是以应用为中心去设计软硬件的,那么操作系统的软硬协同也应该以应用为中心来设计;其次,由于场景的碎片化,软硬协同的能力需要有一个体系化的方式。例如,用 SDK 去支持统一资源池的、高效的能力复用;用 SDK 去支持操作系统的开发者,以更低的成本在各个碎片化的场景里得到最优化的系统;最后,还有一个非常重要的点,就是操作系统帮助用户做到数据化、智能化的资源分配。


以上,就是龙蜥社区面对未来趋势的应对和探索。

讲师介绍:

杨勇,龙蜥社区技术委员会主席,阿里云操作系统技术总监。


相关链接:

龙蜥社区理事长马涛:进一步释放底层算力,打造面向云时代的操作系统

龙蜥技术委员会主席杨勇:下一代操作系统展望

系统运维利器,百万服务器运维实战总结!一文了解最新版 SysAK|龙蜥技术

2022-12-15 17:302925

评论

发布
暂无评论
发现更多内容

ClickHouse在自助行为分析场景的实践应用

转转技术团队

Clickhouse MPP 大数据分析 OLAP 场景实践

StarRocks技术内幕 | 打造一款强大成熟的数据库有多难?

StarRocks

数据库·

企业即时通讯软件哪个比较好用?

BeeWorks

2022年双碳背景下汽车行业发展洞察

易观分析

汽车 双碳

Renderbus瑞云渲染正式支持UE云渲染!离线渲染+实时渲染=渲染起飞!

Renderbus瑞云渲染农场

UE5 Renderbus瑞云渲染 3D制作软件

知识图谱与古希腊人物关系

数新网络官方账号

知识图谱

已经看过这本书的“眼替”,带你探索广告投放的秘密!“照着操作,果然就能有效果!”

图灵社区

流量

【异常】window 10 安装node.js时遇到2502 2503错误解决方法

No8g攻城狮

nodejs Node node,js

南京哪个java培训机构好?

小谷哥

鹅厂28K程序员,不会微服务,一周就被优化了?

小小怪下士

Java 程序员 面试 微服务

前端培训学习后程序员的就业前景怎么样?

小谷哥

揭秘倚天实例背后的硬核实力

阿里技术

云计算 云原生

数据库日常实操优质文章分享(含Oracle、MySQL等) | 11月刊

墨天轮

MySQL 数据库 oracle 性能优化 SQL语句

全面上新!阿里2023版(Java岗)面试突击手册,Github已标星37K

Java永远的神

程序员 架构 程序人生 后端 java面试

大数据培训前景怎样

小谷哥

开往春天的自动驾驶,从特斯拉和毫末智行的AI技术探索说起

脑极体

Redis缓存雪崩、击穿、穿透、双写一致性、并发竞争、热点key重建优化、BigKey的优化 等解决方案

C++后台开发

redis 中间件 后端开发 C++开发 redis缓存

大数据培训出来后就业好吗?

小谷哥

WorkPlus SE专业版:政企值得托付即时通讯移动办公平台

BeeWorks

【精彩剧透】PyCon China 2022 邀您共赴技术Party!

PyChina

Python 开源 开发者 技术日

谁能通俗的解释下,什么是云服务器?

Finovy Cloud

服务器 云服务器 云渲染 云渲染农场

极客时间运维进阶训练营第七周作业

好吃不贵

ZBC登录iZUMi Finance双挖池APY高达189%,极致通缩的典范

股市老人

随机方法性能差异

FunTester

用一张图说一说 ChatGPT 内部技术工作流程

非喵鱼

Java 人工智能 AI 12 月 PK 榜 ChatGPT

读书破万“卷”,《软件研发效能度量规范》的先进认知与开源实现

思码逸研发效能

研发效能 效能度量

KCL v0.4.4 发布!自定义 YAML Manifests 输出以及 Python SDK!

Peefy

编程语言 Configuration Kubernetes Serverless #DevOps

IT机构哪家Java培训比较好

小谷哥

已帮助数万程序员找到工作的阿里巴巴面试参考指南到底有什么魅力?

Java全栈架构师

程序员 程序人生 后端 java面试 八股文

ArkUI开发趣味体验,快来抽取限量HarmonyOS专属头像!

HarmonyOS开发者

HarmonyOS

领域专有时代的操作系统「龙蜥」,是如何炼成的?_开源_杨勇_InfoQ精选文章