我读了几十页《openEuler 21.09 技术白皮书》,研究发现,一些值得注意的技术变化被枯燥的技术术语所掩盖
•作者:老王
(字数:3957,阅读时间:约7分钟)
2021国庆节前一天,欧拉按照半年内发布创新版本的既定节奏,操作系统发布了第三个创新版本开瓶器二十一点零九。“不久前举行”华为全通2021会议”我听说欧拉即将发布“新”版本。作为一名长期观察欧拉发展的内部人士,我对这一“全新”的说法感到好奇。这是一种宣传方式,还是真的非常不同?
有了这个问题,我是“华为《全面连接2021》发布几天后,Openeuler21.09备受关注。我希望我能第一次看到它的白皮书。几天后,欧拉发布了这个版本的技术白皮书。看完后,我觉得欧拉与其说是一辆喷漆的新车,不如说是它在引擎盖下做了很多改进。
在这几十页中《openEuler 21.09 技术白皮书》,相当多值得注意的技术变化被枯燥的技术术语所掩盖。因此,为了给读者提供一场盛宴,我用更简单的语言解释了其中的一些内容。
开瓶器释放首先,让我们回顾一下欧拉的基本情况。欧拉最初来自华为内部的Linux发行版EulerOS,后来在2019年底宣布开源,成为开瓶器。它主要面向服务器基础设施领域,并于次年春天发布了第一个lts版本。欧拉的主要技术路线已经被遵循红帽该系统的技术方向从软件包管理、文件系统布局和操作系统经验等方面吸收了大量经验森托斯/瑞尔公约。然而,欧拉并不是某个版本CentOS的下游分公司版本,因为它从内核、功能和技术演进的方向上有自己独立的、确定的开发计划,这与SUSE公司类似openSUSE/Sles分布家族相似。
欧拉采用常规发布版的发布计划,每两年发布一个长期支持版(LTS)。除了作为服务器操作系统受到长期支持和稳定功能的重视外,欧拉还是一个技术孵化器。每半年发布一次创新版本,整合社区最新技术成果,逐步将社区验证的成熟功能转化为发布版本。自2020年3月发布第一个lts版本以来,它已经发布了三个创新版本。根据计划,下一个lts版本将于2022年3月发布。
Openuler版本图
如上所述,这次发布的21.09是一个创新版本,主要是迭代进化将在下一个lts版本中引入的新功能。在此版本中,引入和开发的关键功能包括:
- 核心创新:新媒体文件系统和内存分层扩展
- 云原生创新:容器操作系统、安全容器和双平面部署
- 增强功能:支持语言编译器、操作和维护
- 全场景创新:支持编译计算、嵌入式场景和集群加速引擎
让我们详细介绍一下这些功能。
白话文分析白皮书如果您不是欧拉社区的相关贡献者和长期参与者,您可能会发现本技术白皮书有点难以阅读。我也这么认为。然而,经过梳理,我将这几十页的内容浓缩成几个关键词:内核特性、容器技术、架构支持和场景支持。
内核特性
你觉得Linux怎么样?可能有很多答案,但归根结底,这是一座建筑Linux华夏基于内核。内核提供的各种新特性最终通过上层应用程序提供了各种通用特性。因此,Linux操作系统的根是内核。
另一方面,CentOS在中国广受欢迎的主要原因是我们相信它的内核。做过操作和维护的人都知道这一点。作为中国领先企业,华为在Linux内核方面取得了巨大成就。近年来,华为Linux内核他做出了很多贡献。
核贡献图
在过去十年中,华为在芯片架构、ACPI、内存管理、文件系统、媒体、内核文档、内核质量增强和代码重建方面为社区贡献了17000多个补丁。在Linux内核版本5.10和5.14中,欧拉的内核研发团队在代码贡献方面排名世界第一。
让我们看看欧拉在这个版本的内核中做了什么。
欧拉21.09仍然基于Linux内核5.10构建,但它在进程调度、内存管理和网络方面带来了12项创新,主要包括进程调度优化、大页面内存性能优化、oom内存回收优化、XDP网络性能优化等。
除了这些隐藏但重要的内核改进外,非易失性存储器已广泛应用于操作和维护领域(NVDIMM)存储介质,使用传统的ext4文件系统仍然缺乏针对性的优化,因为ext4本身就是为旋转硬盘设计的文件系统。尤其是在元数据在管理方面,基于现有的日志同步机制,元数据管理nvdimm的开销大,容易发生写放大问题,无法充分发挥其优势。华为推出的EulerFS创新元数据软更新技术,降低了元数据同步开销,有效提高了文件系统的系统调用性能。在为独立应用程序和云本地分布式应用程序提供高性能数据存储的场景中,它可以取代ext4小马和其他文件系统。
容器技术
当前的操作和维护领域几乎总是被称为云本地。它也成为了本机操作系统虚拟化的试金石。
欧拉针对云本地服务的混合部署场景提出了一种QAS算法。它是一种新的调度算法,适用于云本地场景和混合业务部署,可以保证在线任务对中央处理器快速抢占、确定性调度操作,同时抑制离线任务干扰。此外,欧拉还优化了oom(过度内存使用)情况下的内存恢复调度算法。在发生oom时,优先考虑低优先级进程组的内存恢复,以确保在线业务的正常运行。这些改进适用于延迟敏感的服务,比如交互类(比如mysql)雷迪斯、Nginx以及CPU消耗大、延迟不敏感的服务(如AI离线培训),其中包括多种混合部署场景,如容器和容器、容器和流程、容器和虚拟机、虚拟机和虚拟机。
Kubernetes已经成为事实上的云原生软件基础设施。该行业主流制造商的本地操作系统已经发布。自然,欧拉不愿接受他人,推出了容器操作系统kubeos,实现了云原生集群操作系统的统一容器管理。它可以管理操作系统的容器,连接AndyLau,实现生命周期管理的原子化;它还以轻量级削减了操作系统,减少了不必要的冗余包,可以实现系统的快速升级和更换。
在底层,欧拉结合虚拟运行时stratovirt和容器管理引擎isulad构建了一个安全的容器方案,该方案优于传统方案码头工人+QEMU方案的底部噪声和启动时间优化了40%以上,为应用程序提供了轻量级和安全的执行环境,并隔离了容器和主机操作系统之间以及容器之间的安全风险。
架构支持
对于不同的硬件架构,欧拉编程语言还有建筑。
欧拉提供的毕昇JDK是基于openjdk开发的增强版。它具有高性能和高可用性的优点,可以在生产环境中使用。值得一提的是,它已经积累了大量的使用场景,并针对臂性能得到了优化。毕昇JDK支持openjdk8和openjdk11。
欧拉还拥有鲲鹏处理器打造的高性能编译器。Kunpenggcc编译器是在gcc的基础上开发的,可以充分发挥鲲鹏的硬件特点,运行效率更高。
根据测试,毕昇JDK在specjbb2015和其他基准测试中的性能优于openjdk。Kunpenggcc编译器在specCPU2017等基准测试中的性能明显优于上游社区的gcc10.3版。欧拉最初为华为鲲鹏的硬件架构开发了操作系统。因此,欧拉自然提供了有针对性的优化,以充分发挥硬件架构的作用鲲鹏服务器硬件功能,这也是由于。
在本次发布中,华为还强调欧拉最初是作为对鲲鹏硬件的支持出现的,但现在它已经扩展到支持x86、armRISC-V这么多处理器架构,它将在未来扩展PowerPC、更多芯片架构支持,如sw64。然而,从白皮书中,我们没有看到其他处理器架构的具体优化工作和测试数据。
现场支援
从白皮书中我们可以看到,欧拉已经逐渐从服务器场景的应用扩展到云计算、边缘计算、更多的场景,比如嵌入式,正在成为覆盖整个场景的操作系统。
欧拉透露,它将发布面向边缘的openeuler21.09edge版本和嵌入式版openeuler21.09embedded。针对不同场景的这两个版本突破了服务器基础设施的原始领域。然而,据我所知,这不是一个基于Linux内核的操作系统,而是基于华为自己在这些领域的内核和应用开发。它可以理解为统一框架下的不同内核和不同操作系统。
欧拉的多场景支持
当然,除此之外,本次发布的《欧拉21.09》在具体方向上有很多创新和改进。感兴趣的学生可以获得本技术白皮书以理解。
结语每六个月发布一次的创新版本不太适合部署需要稳定功能的产品环境,但通过这些创新版本,社区和相关生态企业可以提前开发、测试和优化新功能。无论是服务器环境、嵌入式还是边缘技术,它都需要一个稳定、高性能和微调的操作系统,这是明年3月发布的下一个lts版本的目标。此外,除了长期支持外,我们可以预期创新版本中发布的新功能也将被完善并集成到LTS版本中。
当然,我认为LTS版本不是口号,而是需要真正的支持和维护。这并不像发布新版本那么令人兴奋,但这种持续的支持是企业操作系统的基础。我们期待着欧拉履行承诺,实施技术创新和长期支持。
想了解更多吗《openEuler 21.09 技术白皮书》,你可以在这里下载:
https:www.openeuler。comorg/whitepaper/openEuler-whitepaper-2109。pdf
最新评论