硬核老王 发布的文章

Linux 发行版在性能测试中击败 Windows 11

Phoronix 本周进行了一些有趣的 性能测试。所有 44 项测试的几何平均值显示,在当前这一代英特尔平台上,Linux 明显领先于 Windows 11。在这个系统上,Ubuntu / Arch / Fedora 总体上比 Windows 11 Pro 快 11% 左右。Clear Linux 比 Windows 11 快约 18%,总体上比其他 Linux 发行版的性能高约 5%。Clear Linux 获得了 33 项的第一,Windows 11 Pro 获得 3 项第一。

老王点评:不出意料的结果,不过 Clear Linux 居然得到大部分的第一,值得关注。

NASA 希望人工帮助改善火星车的人工智能

NASA 呼吁任何有兴趣的人为其火星车的机器学习算法 做出贡献,以帮助毅力号火星车四处游走。你所需要做的就是看一些图片并标记地质特征。毅力号有增强的人工智能,以帮助它避开障碍物。它有 23 个摄像头,可以从火星上捕捉到大量的视觉数据,但它必须依靠人类操作员来解释其中大部分图像,从而改善其人工智能水平。

老王点评:所谓人工智能还是需要“人工”才能智能。

Hive 勒索软件已经准备加密 Linux 和 FreeBSD

Hive 勒索软件团伙自 2021 年6月以来袭击了 30 多个组织,现在针对 Linux 和 FreeBSD 开发了 新的恶意软件变种 来加密这些系统。不过,ESET 发现,Hive 的新加密器尚在开发中,仍缺乏功能,并且存在一些 bug。相比之下,Hive 的 Windows 勒索软件具有更多功能。

老王点评:Linux 和 FreeBSD 管理员们需要注意了,它们并不具有先天的高安全性。

中国主要网站仍然不支持 IPv6

对 Alexa 排名前 500 网站的 检查显示,支持 IPv6 的网站占 25%。而中国主要网站基本不支持 IPv6,如天猫、百度、搜狐、淘宝、京东、奇虎360、微博、新浪、新华网等等。全世界的 IPv6 普及度 正在逐渐增长,根据 Google IPv6 的统计 显示,IPv6 的普及度已经达到了 35%,但中国的 IPv6 的普及度仍然较低。

老王点评:现在电信运营商对 IPv6 的支持比较好,毕竟 IP 不太够用。但是各个网站对此则动力不足。

磁带仍占有数据备份的 4% 份额

虽然早在 2003 年 LiveVault 就宣称“磁带备份是上个世纪的事情”,但将近 20 年过去了,仍有 4% 的组织 使用磁带备份,15% 在使用 “硬盘+磁带” 的混合式备份方案,但云端备份的使用率已增长到 51% 。磁带备案难以退出市场的主要原因是:组织机构需要保留多年的历史备份,大企业的转型动作更是既困难又缓慢;磁带的成本其实相当划算;磁带备份具有物理隔离的特性。

老王点评:虽然磁带备份看起来很老旧了,但是也有现在云端备份所不具备的一些优势。

世界论文索引 General Index 上线

一位美国技术专家 发布 了一个包含 1 亿多篇期刊文章中单词和短语的索引 General Index——其中包括了许多付费论文。 索引于 10 月 7 日发布可免费使用,包含超过 3550 亿个单词及相应论文中的句子片段。此举是为了帮助科学家使用软件从已发表论文中收集见解,即使他们没有合法访问相关论文的权限。索引不包含论文全文,只包含最多五个单词的句子片段。早期访问过该索引的研究人员表示,这是帮助他们使用软件搜索文献的重大进展。

老王点评:这对于科研来说应该很有用。

三年半后,X.Org 服务器重焕新生

X.Org 服务器的上一个版本 1.20 发布于 2018 年,三年半后,在新的维护者的努力下 发布 了新的版本 1.21 —— 哦不,现在流行飙版本号了,新版本号为 21.1.0。虽然 Wayland 有很多优势,但是 X.Org 服务器仍然被广泛使用,Wayland 对这些使用 X.Org 服务器的应用的兼容还不够好,而且 X.Org 服务器也有一些 Wayland 所没有的独特优势。去年,X.Org 服务器项目的长期维护者说它几乎被放弃了,它能复活要感谢新的维护者 Kanapickas,他在 7 月份站出来 接过了开发维护工作。有用户评价说,“不是所有的英雄都穿斗篷”。

老王点评:很多开源项目不是软件老了,而是维护软件的人老了啊。

国家鼓励金融部门拥抱自由和开源软件

据报道,该文件 “鼓励金融机构将开源技术应用作为提高核心技术自主可控能力的重要手段”,“积极参与开源生态建设,依法合规分享开源技术应用经验,共享开源技术研究成果”。并提出“金融机构应当遵循开源技术相关法律和许可要求,合规使用开源技术”。文件要求遵循安全可控、合规使用、问题导向和开放创新等原则,并着重指出金融机构要“在操作系统、数据库、中间件等基础软件领域和云计算、大数据、人工智能、区块链等新兴技术领域加快生态建设”。

老王点评:向来比较保守的金融部门能主动拥抱开源,可见开源已经成为了一种普遍共识。

微软放弃 Electron

在 Electron 上运行的 Teams 已经成为占用内存和降低计算机速度的代名词,微软甚至 专门解释 了为什么 Teams 占用这么多内存。最近,微软宣布,Teams 将转向他们自己的 Edge Webview2 渲染引擎,放弃 Electron 以寻求性能提升。据介绍,转型后,Teams 的内存消耗将减少 2 倍,它将被称为 Teams 2.0。有很多知名的应用程序都是由 Electron 驱动的,该框架可以帮助 Web 开发者将他们的 Web 应用转到桌面平台。但每个 Electron 应用程序的后台都有一个唯一的 Chrome OS 实例,运行两个以上的此类应用程序会耗尽主机的性能。

老王点评:Electron 开发的应用就和 Java 开发的桌面应用一样臃肿笨重。这种跨平台的代价不菲啊。

中国建造了两台性能速度远超美国竞争对手的量子计算机

根据最近发表在同行评议杂志《物理评论快报》和《科学通报》上的一项 论文,中国建造了两台性能速度远超美国竞争对手的量子计算机。

第一台 “祖冲之 2 号”是三个月前完成的,它是一台 66 量子比特的可编程超导量子计算机,比谷歌的 55 量子比特的“悬铃木”快 1000 万倍,令人难以置信,成为世界上最快的机器,也是两年来第一个击败谷歌的机器!

另外一台 “九章 2 号” 可以在一毫秒内计算出世界上最快的传统计算机需要 30 万亿年才能完成的任务。它是一种不同的量子计算机,使用光子来运行,但是应用场景较少。比当今最大的传统计算机快 100 sextillion 倍,即 1 后面有 23 个零。

老王点评:除了说“卧槽”啥也说不出来了。

中国超算率先突破百亿亿次大关

ExaFLOPS 代表每秒运行浮点运算百亿亿次(Exascale),即 1 的后面有 18 个零。

据报道,这两台性能 突破百亿亿次大关 超算分别是:

无锡国家超算中心的神威太湖之光,它最初使用申威 SW26010 处理器,由上海高性能集成电路设计中心设计,超算由 40,960 个节点构成,总共 10,649,600 个核心,此次升级后处理器核心数翻了一番,峰值性能达到 1.3 ExaFLOPS,持续性能 1.05 ExaFLOPS,功耗 35 兆瓦。

第二台是广州国家超算中心的天河三号,使用基于 Armv8 架构的飞腾 2000+ (FTP) 处理器,峰值性能达到 1.3 ExaFLOPS,Rmax 性能超过 1 ExaFLOPS。

老王点评:和第一条比起来没那么震撼,但是实用性更强。率先突破百亿亿次并不算太意外,不过我觉得最重要的是它们都使用的是国产 CPU。

字节跳动开源的 Semi Design,承认早期参考了阿里的 Ant Design

字节跳动 开源 了它使用的设计系统和 UI 库 Semi Design,采用 MIT 许可证。但它的代码中很快被发现有阿里巴巴设计系统 Ant Design 的痕迹。字节跳动的工程师随后发表了 致歉声明,承认早期使用了 Ant Design 的文案,但现在的版本与 Ant Design 相差巨大。

老王点评:平心而论,很多项目都会借鉴已有的开源项目,但是开源前一定遵循相关的许可证要求。

《沙丘》的剧本是在 MS-DOS 中完成的

《沙丘》的剧作家 Eric Roth 在过去三十年一直用 MS-DOS 程序 Movie Master 完成剧本写作。他说,“这一半是迷信,一半是对变化的恐惧。”他在 2018 年写下了《沙丘》的剧本,并在 2020 年的一个播客上解释说他仍在使用 Movie Master。这意味着《沙丘》也是用 MS-DOS 程序写的。Movie Master 有 40 页的页数限制,Eric Roth 认为这有利于他组织剧本。根据 2014 年发布的一则采访视频,他在 Windows XP 中通过一个 DOS 窗口启动 Movie Master 3.09,在一个古老的米黄色机械键盘上写剧本。

老王点评:虽然说能完成工作的都是好工具,但是我觉得恐惧变化才是老一代人的心理感受。

日本政务部门坚持使用软盘

按照之前的计划,今年底日本多家银行都会淘汰 3.5 寸软盘,但是日本的地方政府部门 并不乐意,在他们的争取下,该计划延期了 5 年,直到 2026 年之前他们还可以继续用软盘为客户服务。一个地方政府部门给出的理由是,过去多年的经验显示软盘及软驱几乎从未损坏过或者丢失数据,该地区长期以来一直都在使用软盘来保存员工的福利信息。此外,他们还表示政府部门的软盘库存充足,可以使用很多年,而软盘差不多在十年前就停产了。当然,要让银行继续支持软盘,他们需要每年多付出 5000 美元的费用。

老王点评:看来守旧的不仅仅是老年人,还有老年人工作的机构。

微软在 Windows 10 中强制安装 PC 健康检查应用程序

“PC 健康检查”是微软与 Windows 11 一起发布的一个新的诊断工具,它的主要用途是分析设备的硬件,检查它是否与 Windows 11 兼容。然而,微软已经开始使用新的 KB5005463 更新在 Windows 10 设备上 强制安装这个应用程序。虽然微软表示可以删除该应用,但是用户不得不无数次地卸载该应用程序,因为在下一次检查更新时,该应用程序又会被重新安装。更糟糕的是,当试图卸载 KB5005463 时,Windows 10 表示该更新没有安装。

老王点评:看来微软为了让符合条件的人升级到 Windows 11,真是耗尽了心血啊。

2021 国庆前一天,欧拉操作系统按照既定的半年发布一个创新版本的节奏,发布了第三个创新版本 openEuler 21.09。在前不久召开的“华为全连接 2021 大会”上,我听到了欧拉即将进行“全新”发布的消息。作为一名长期观察欧拉发展的业内人士,我对这“全新”的说法是好奇的,这究竟是一种宣传的手法,亦或是真的有了很大不同?

怀着这个疑问,我对在“华为全连接 2021”后几天发布的 openEuler 21.09 是颇为关注的,希望可以第一时间拿到它的白皮书一窥究竟。几天后,欧拉发布了该版本的技术白皮书。我在翻阅后感觉,与其说欧拉是一辆粉饰一新的新车,不如说是它在引擎盖下做了颇多改进。

在这份几十页的《openEuler 21.09 技术白皮书》,颇有一些值得重视的技术变化被掩盖在了枯燥的技术术语之中,因此,本着一飨读者的想法,我对其中值得关注的地方,用更浅显的语言进行了一些解读。

openEuler 发布

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

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

openEuler 版本图

如上所述,这次发布的 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、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 内核为基础的操作系统了,而是基于华为本身在这些领域的内核及应用开发的。可以理解为在一个统一的框架下的不同内核、不同操作系统。

欧拉的多场景支持

当然,除此以外,在这次发布的欧拉 21.09 中,还有很多具体方向的创新和改进,感兴趣的同学可以获取这份技术白皮书以了解究竟。

结语

每半年发布的一个创新版,我认为并不是很适合于需要特性稳定的产品环境部署,但是通过这些创新版本,社区和相关生态的企业可以提前针对新的特性进行开发、测试和优化。而无论是服务器环境,还是嵌入式、边缘技术,都需要一个具备稳定性、高性能、精细调优的操作系统,这就是明年 3 月将发布的下一个 LTS 版本的目标。而且,除了长期支持以外,我们可以期待在创新版中发布的新特性,也会经过打磨后融入到 LTS 版本中。

当然,我认为,LTS 版本并不是一个口号,而是需要真正地提供支持和维护。这是一种并不像发布新版本那么令人激动的工作,但是这种持续的支持,才是一个企业级的操作系统的根本。我们期望看到欧拉能够践行其对技术创新和长期支持的承诺和落实。


想要进一步了解这份《openEuler 21.09 技术白皮书》,可以点击此处下载