24资源网

24资源分享网,分享资源,收集整理资源,有态度的分享资源网

首先回顾一下欧拉的基本情况。欧拉最初脱胎于华为内部的 Linux 发行版 EulerOS,后于 2019 年底宣布开源,成为 openEuler。其主要面对的是服务器基础设施领域,并在次年春季发布了第一个 LTS 版本。欧拉的主要技术路线沿袭了红帽系的技术方向,无论是从软件包管理、文件系统布局、操作系统体验方面,都吸收了不少 CentOS/RHEL 惯例。但是,欧拉又不是一个 CentOS 的某个版本的下游分支版本,因为其从内核、特性、技术演进方向,都有自己的独立而确定的发展计划,这一点和 SUSE 公司的 openSUSE/SLES 发行版家族类似。

欧拉采用了定期发布版本的发行计划,每两年发布一个长期支持版本(LTS)。除了作为服务器操作系统所重视的长期支持和特性稳定之外,欧拉也是一个技术孵化器,它每半年发布一次的创新版,集成了社区的最新技术成果,将社区验证成熟的特性逐步回合到发行版中。从 2020 年 3 月发布第一个 LTS 版本之后,它已经发布了三个创新版本,按照计划,下一个 LTS 版本将于 2022 年 3 月到来。

如上所述,这次发布的 21.09 是一个创新版本,主要是迭代演进即将放入到下一个 LTS 版本中的新特性。在这个版本中,重点引入和发展的特性有:

一、内核的创新:新介质文件系统和内存分级扩展

欧拉 21.09 还是基于 Linux 内核 5.10 构建,但在进程调度、内存管理、网络等方面带来了 12 处创新,这主要有:用来提升性能的进程调度优化、大页内存性能优化、OOM 内存回收优化、XDP 网络性能优化等。

除了这些隐蔽但重要的内核改进之外,如今在运维领域已经大量使用的非易失性内存(NVDIMM)存储介质,在使用传统的 ext4 文件系统时,尚缺乏针对性的优化,因为 Ext4 本身是针对旋转式硬盘设计的文件系统。尤其在元数据管理方面,基于现有日志同步机制,元数据管理开销大,且容易出现写放大问题,NVDIMM 优势无法充分发挥。华为推出的 Eulerfs 创新的元数据软更新技术,减少了元数据同步开销,有效提升文件系统的系统调用性能。在单机应用、云原生分布式应用高性能数据存储场景,可以代替 Ext4、XFS 等文件系统。

二、云原生创新:容器操作系统、安全容器和双平面部署

欧拉面向云原生业务混合部署场景提出了一种 QAS 算法。它是一种适用于云原生场景,业务混合部署的全新调度算法,可以确保在线任务对 CPU 的快速抢占,确定性的调度运行,同时压制离线任务干扰。此外,在欧拉中还优化了 OOM(内存使用超量)时内存回收调度算法,在发生 OOM 时,优先对低优先级的进程组进行内存回收,保障在线业务的正常运行。这些改进适用于对交互类等时延敏感型业务(比如 MySQL、Redis、Nginx 等)和 CPU 消耗重且时延不敏感的业务(如 AI 离线训练)混合部署,它包括了容器与容器、容器与进程、容器与虚机、虚机与虚机等多种混合部署场景。

Kubernetes 已经成为事实上的云原生软件基础设施底座。业界的主流操作系统厂商都推出了针对云原生场景的操作系统。欧拉自然也不甘人后,推出了容器化操作系统 KubeOS,实现云原生集群操作系统的统一容器化管理。它可以对操作系统容器化管理、对接 Kubernetes、原子化的生命周期管理;它也对操作系统进行了轻量化裁剪,减少不必要的冗余包,可实现系统的快速升级、替换等。

再往底层看,欧拉结合虚拟化运行时 StratoVirt、容器管理引擎 iSulad 构建了安全容器方案,较之传统的 Docker + Qemu 方案,其底噪和启动时间优化高达 40% 以上,为应用提供了一个轻量、安全的执行环境,隔离了容器和宿主机操作系统间、容器间的安全风险。

三、架构支持

欧拉提供的毕昇 JDK 是基于 OpenJDK 开发的增强版本,具备高性能、高可用等优点,可用于生产环境。值得一提的是,它积累了大量使用场景,并针对 ARM 进行了性能优化。毕昇 JDK 支持 OpenJDK 8 和 OpenJDK 11 两个版本。

在欧拉中也有鲲鹏处理器打造的高性能编译器,Kunpeng GCC 编译器是基于 GCC 开发的,可以充分发挥鲲鹏的硬件特性,运行效率更高。

据测试,毕昇 JDK 在 SPECjbb2015 等基准测试中性能优于 OpenJDK。Kunpeng GCC 编译器在 SPEC CPU 2017 等基准测试中性能大幅优于上游社区的 GCC 10.3 版本。欧拉最初就是针对华为鲲鹏硬件架构开发的操作系统,因此,在欧拉中自然提供了针对性的优化,以充分发挥鲲鹏服务器硬件特性,这也算是应有之义。

在这次发布中,华为还重点提及,欧拉最初是作为对鲲鹏硬件的支持出现的,但是现在已经扩展到支持 x86、ARM、RISC-V 等多处理器架构,未来还会扩展 PowerPC、SW64 等更多芯片架构支持。但是从白皮书中,我们尚没有看到对其它处理器架构的特定优化工作和测试数据

四、场景支持

欧拉透露,它将发布面向边缘计算的版本 openEuler 21.09 Edge 和面向嵌入式的版本 openEuler 21.09 Embedded。这两个针对不同场景的版本突破了原有的服务器基础设施领域,但是,从我了解到的情况看,这其实已经不是 Linux 内核为基础的操作系统了,而是基于华为本身在这些领域的内核及应用开发的。可以理解为在一个统一的框架下的不同内核、不同操作系统。

               
发表评论