写点什么

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

  • 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|龙蜥技术

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2022-12-15 17:302422

评论

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

Pocket Yoga for mac(口袋瑜伽)v14.3.0激活版

影影绰绰一往直前

如何在苹果手机上进行文件管理

每日一题:LeetCode-209. 长度最小的子数组

半亩房顶

算法 LeetCode 二分查找 前缀和 滑动窗口

重磅!参编我国首个图计算平台标准 引领图数据库行业新机遇

百度安全

MES生产执行系统在生产车间的主要作用

万界星空科技

工业互联网 MES系统 生产管理系统 mes 数字化车间

使用API接口获取拼多多商品详情

Noah

数字人源码独立部署的教程!

青否数字人

数字人

4K Video Downloader Plus Pro for Mac(4K视频下载器)v1.4.0激活版下载

影影绰绰一往直前

DxO ViewPoint 4 for Mac(照片修复校正工具)v4.13.0.282激活版

影影绰绰一往直前

得物云原生容器技术探索与落地实践

得物技术

云原生 技术分享

Navicat Charts Creator for Mac(Navicat图表创建器)v1.2.15激活版

影影绰绰一往直前

DxO PureRAW for Mac(RAW照片处理器)v3.9.0中文激活版

影影绰绰一往直前

Meta Llama大模型:引领人工智能创新

百度开发者中心

人工智能 深度学习 大模型

一文带你揭秘淘宝终端技术

阿里技术

基础设施 招聘 淘宝 终端技术

数据展现之道:精心打造可在线浏览的动态数据报表

EquatorCoco

数据库 动态数据

即时通讯技术文集(第32期):IM开发综合技术合集(Part5) [共12篇]

JackJiang

网络编程 即时通讯 IM

ERP对接MES的3种类型的接口

万界星空科技

低代码 MES系统 系统集成 万界星空科技 系统对接

Code Llama:基于 Llama 2 的 AI 代码生成大模型

百度开发者中心

人工智能 大模型 代码生成

如何提升时序数据多表低频场景的写入性能?一文详解

TDengine

tdengine 时序数据库

类似 Microsoft Project 的12款在线项目管理工具

PingCode

项目管理 项目经理 项目管理工具

基于企业级SaaS低代码平台的协同制造产品解决方案

万界星空科技

低代码 MES系统 低代码开发 万界星空科技 低代码云MES

深入了解LLaMA大模型

百度开发者中心

深度学习 nlp 大模型

使用 Taro 开发鸿蒙原生应用 —— 快速上手,鸿蒙应用开发指南

京东科技开发者

为什么要将应用微服务化?

伤感汤姆布利柏

程序员 微服务 低代码 架构师 JNPF

如何写好大模型提示词?来自大赛冠军的经验分享(基础篇)

Baihai IDP

人工智能 AI LLM Prompt Prompt Engineering

千万级数据深分页查询SQL性能优化实践

京东科技开发者

鸿蒙HarmonyOS实战-ArkTS语言(基本语法)

不在线第一只蜗牛

HarmonyOS 鸿蒙开发 HarmonyOS框架

Video-LLaMA:为AI大模型注入视听觉

百度开发者中心

人工智能 大模型

AI数字人源码部署,打造自己品牌!

青否数字人

【第七在线】服装企业对于智能商品计划系统的误区有哪些?

第七在线

AI数字人给教育行业带来机会!

青否数字人

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