鱼和熊掌可得兼:Anolis OS双内核特性解读

x_single
发布于 2022-5-6 18:54
浏览
0收藏

双内核方案

当前各行业的服务器领域,CentOS已经占据统治地位并成为了事实标准。面对CentOS 停服的事件,各行业如何稳妥、平滑、有序地过渡,是很多行业用户正在考虑、甚至是迫在眉睫的诉求。
同时面对日渐多元化的硬件、软件、云场景、AI场景的大背景下,如何全面覆盖软硬件生态的支撑?也是未来OS需要考虑的需求和问题。
怎样满足多维度的行业客户各种需求呢,是否鱼和熊掌真的不可兼得?
不!
OpenAnolis(龙蜥)社区联合阿里、统信在内的众多理事和成员协同开发了开源操作系统龙蜥(Anolis)OS,并引入了双内核解决方案,可以让各行业客户按照各自应用场景有选择地切换内核版本。龙蜥(Anolis)OS搭载了两种不同版本的内核,分别是RHCK和ANCK。
鱼和熊掌可得兼:Anolis OS双内核特性解读-鸿蒙开发者社区RHCK与CentOS 8 内核同源,并会做到版本的同步迭代更新,该内核已经被CentOS用户认可,其稳定性已经得到充分验证。
ANCK 目前基于上游4.19 LTS kernel研发,来自于 Alibaba Cloud Linux 2 项目的开源捐赠,该内核不仅快速复用上游社区特性,还融入了阿里内核团队十年自研特性的积累;该内核已经在阿里云全网发布,其稳定性也经过了规模化验证;搭载该内核的 Alibaba Cloud Linux 当前在阿里云市场部署量居第二,仅次于 CentOS,份额远超 Windows 及 Ubuntu 等其他发行版搭载的内核。同时在龙蜥社区Cloud Kernel SIG组的协同开发下,该内核可更好支持海光、飞腾、兆芯、鲲鹏等平台。
内核版本选择安装也很方便,以ISO安装为例。在ISO手动安装过程中,添加了对应的 内核选项按钮。如图,会有一个安装选择项 (Kernel Selection) 供用户选择内核版本,缺省情况下默认安装RHCK版本。
鱼和熊掌可得兼:Anolis OS双内核特性解读-鸿蒙开发者社区如果是kickstart安装方式的话,在 %packages 字段设定内核版本即可。如图,若选择ANCK 4.19内核,增加kernel-4.19.91即可。
鱼和熊掌可得兼:Anolis OS双内核特性解读-鸿蒙开发者社区ANCK 4.19 内核

硬件生态支撑
ANCK 4.19硬件生态支撑方面,不仅具备国际性,还支持丰富国产化平台。支持平台有Intel,还有海光、飞腾、 兆芯、鲲鹏等国产化芯片。龙蜥团队在研发阶段做了大量平台相关的验证测试。
鱼和熊掌可得兼:Anolis OS双内核特性解读-鸿蒙开发者社区再来列举一些ANCK 4.19 内核继承自 Alibaba Cloud Linux 2 的特性。
基于 cgroup 的资源隔离技术
首先是基于 cgroup 的资源隔离技术。
在复杂业务场景下,业务应用模型可大致分成实时的在线任务与重计算的离线任务,通常我们称之为延迟敏感型和资源消耗型任务。如何充分利用在线任务机器上的空闲资源是一个重要话题。
基于 cgroup 的资源隔离技术可通过调度优先级、内存 QoS 以及异步 IO 限流等自研技术,来隔离限制不同类型任务的 CPU、内存及 IO 等资源使用,有效地减少干扰,保障服务 SLO。该技术已经在多个业务中落地应用,并发挥重要作用。 
鱼和熊掌可得兼:Anolis OS双内核特性解读-鸿蒙开发者社区高性能存储技术 IO Uring

再看看高性能存储技术 IO Uring。
传统的 Linux 异步 IO —— libaio 技术一直被大家诟病, 主要存在两个问题:一是它仅支持 Direct IO, 不支持 buffer IO;二是 libaio 机制存在额外的内存拷贝开销, 性能差。
IO Uring 重新定义了异步IO技术,在设计之初就充分考虑框架自身的高性能和通用性, 从根本上解决 libaio 存在的问题和约束。IO Uring 同时支持 DirectIO 和 buffer IO。
它不仅仅面向传统的基于块设备的领域,对网络异步编程也提供支持。极大地扩展了异步 IO 优化应用范围;同时大大提升了Linux 异步IO性能, 实测性能提升1.5倍之多, 几乎能比肩 SPDK。
鱼和熊掌可得兼:Anolis OS双内核特性解读-鸿蒙开发者社区内核跟踪诊断技术
第三个值得一提的技术是在内核跟踪诊断技术上的增强特性。
这些特性有效地扩展了内核诊断技术,可应对复杂场景下的内核问题。
这些技术包括:

  • 基于 eBPF 自研的扩展工具集;
  • 的内核子系统 QoS 框架: 调度器 & 内存 SLI 及 TCP-RT;
    eBPF 是近年比较热门的内核技术, 它由经典BPF框架上的扩展增强而来, 在系统跟踪、探测、安全、网络、性能调优等领域发挥重要的角色。
    TCP-RT 是阿里原创功能之一,通过在内核 TCP 协议栈提前埋点,来识别和统计请求在协议栈中接收的时间, 以及服务进程处理耗时等信息,协助诊断分析网络问题。TCP-RT 已经在内部数据库、CDN 等场景以及多个业务中发挥作用。
    鱼和熊掌可得兼:Anolis OS双内核特性解读-鸿蒙开发者社区ANCK 5.10 内核版本

目前ANCK 5.10内核版本也在积极开发中,预计今年三季度发布。
SIG 参与方式
聊了这么多ANCK的特性以及亮点,那么社区的小伙伴如何参与呢?可以通过Cloud Kernel SIG的方式来参与交流和开发。
以下是相关的链接:
SIG基本信息是开发规范
https://openanolis.cn/sig/Cloud-Kernel
内核源码树对应的链接
https://codeup.openanolis.cn/codeup/kernel/cloud-kernel
内核RPM树对应链接
 https://codeup.openanolis.cn/codeup/kernel-rpm/cloud-kernel


 

已于2022-5-6 18:54:17修改
1
收藏
回复
举报
回复
    相关推荐