世界 TOP500 超级计算机全部采用 Linux 操作系统;其次,微软在 2012 年首次推出基于 ARM 的Windows 8 RT、2016 年的“Windows on ARM”、2018 年的 windows10 for ARM 以及最近的 Windows11 均存在一定缺陷,包括不能运行 64 位程序、模拟运行等,对 ARM 处理器支持有限。Linux 主要指 Linux 发行版(Linux distribution)是基于 Linux 内核构建的可安装操作系统,包含常用用户程序和相关库,Linux 发行版可分为由商业公司维护的商业版本和由开源社区维护的免费发行版本两大类。国外主流的商业版包括 Red Hat 和 SUSE,Red Hat 主要的市场是美国而 SUSE主要面向欧洲用户,国内的主要商业版本包括银河麒麟和统信。相比而言,开源操作系统百花齐放,Linux 开源版本主要有相应社区维护,包括 CentOS、Fedora、Debian、Ubuntu、OpenEuler 等。需要指出,主流商业版包括 SUSE、Red Hat 和麒麟均存在相应的社区版本,例如 Fedora、OpenSUSE 和OpenKylin,事实上这些开源社区已成为其对应的商业版本的上游社区,商业版吸收社区版本进展并开展性能、安全等方面的完整测试,出售专业技术服务。总体而言,几乎所有主流 Linux 商业版和开源版均支持 ARM 指令集兼容架构处理器,本篇介绍若干 ARM 指令集兼容架构上重要的 Linux 发行版。
目前国内的 ARM 指令集兼容架构服务器都能够支持 HPC 麒麟操作系统,银河麒麟操作系统适应虚拟化、云计算、大数据、工业互联网时代对主机系统可靠性、安全性、性能、扩展性和实时性等需求,依据 CMMI5 级标准研制的提供内生本质安全、云原生支持、自主平台深入优化、 高性能、易管理的新一代自主服务器操作系统,同源支持飞腾、鲲鹏等自主平台。目前,OpenKyling 正在推动其ARM 指令集兼容架构上的开放操作系统发布。
4、Red Hat
Red Hat 于 1995 年发布其第一个 Linux 发行版,也是最早使用 RPM 的操作系统。2003 年,Red Hat 发布其企业版 Red Hat Enterprise Linux (RHEL),并将支持开源社区继续开发其家用版 Fedora Linux。RHEL 是一个开源的商业 Linux 发行版,将 Fedora 作为其上游。Red Hat 于 2015 年发布了一个预览版本支持 64 位 ARM 架构,主要用于硬件合作商研发验证。2017 年,Red Hat 在其企业版 Red Hat Enterprise Linux 7.4 中加入了对 ARM 架构的支持,其目标是构建一个单一的操作系统平台覆盖不同厂商基于 ARMv8 架构的 64 位服务器级处理器。
5、SUSE
SUSE Linux 是德国 SUSE Linux AG 公司发行维护的 Linux 发行版,1994 年年初发布第一个版本,2004 年 SUSE Linux AG 被 Novell 公 司 收 购。SUSE Linux 企 业 版(SUSE Linux Enterprise Server,SLES)存在 ARM 版本支持 AArch64 架构 ARM 服务器并开展了相应的性能优化、企业级安全、高可靠性以及相应的技术支持。OpenSUSE 是在 Novell 收购 SUSE Linux AG 后创建的社区项目,目前是 SLES 的上游社区,即SLES 来源于 OpenSUSE 但具有更长的发行期。OpenSUSE 存在两个版本,OpenSUSE Leap 是传统的发行版,在发行间隔期间提供安全更新与错误修复,并且与面向企业的 SUSE Linux Enterprise(SLE)共享代码库;OpenSUSE Tumbleweed 则替代了传统的数字版本号且周期性更新的版本,使用滚动发布体系:软件更新持续不断地推出。OpenSUSE 与 SLE 的关系类似 Fedora 与 RHEL 关系。同样,OpenSUSE 也支持 AArch64 架构 ARM 处理器。
6、Ubuntu
Ubuntu 是由 Mark Shuttlework 于 2004 年开发的基于 Debian 的发行版,与 Debian 哲学相反,Ubuntu 非常易于使用。Ubuntu 最新 22.04.1 版支持最新 64 位 ARM 架构服务器。Ubuntu ARM 服务器版本支持LXD 容器监视器,允许实时查看基础性能参数,在网络服务、数据库服务等方面也具有强大的支持和部署功能,此外,Ubuntu 支持企业级全天候服务。
7、Arch Linux
Arch Linux ARM 是 Arch Linux 的移植版,而 Arch linux 是一种以轻量简洁为设计理念的 Linux 发行版,Arch linux 采用滚动升级方式,提供多数软件的最新稳定版本。Arch Linux ARM 为各种消费类设备和开发平台上的软浮动 ARMv5te,硬浮动 ARMv6 和 ARMv7 以及ARMv8 AArch64 指令集提供有针对性的内核和软件支持,旨在为最终用户提供简单性和完全控制。
8、Debian
Debian 由 Ian Murdock 于 1993 年创建,目前有稳定、测试和非稳定三个版本,在近 300 个 Linux 活跃发行版中,有近一半源自 Debian。Debian 提供了三种 ARM 移植,可以为各种不同的机器提供最佳支持,这是由于 ARM 架构是随着时间的推移而发展,现代 ARM 处理器提供了旧型号上不可用的功能。Debian/armel 针对旧的 32 位 ARM 处理器,而不支持硬件浮点单元(FPU);Debian/armhf 仅适用于较新的 32 位 ARM 处理器,其至少实现了 ARMv7 架构,且支持 ARM 矢量浮点规范(VFPv3)第 3 版。此移植可利用这些型号上可用的扩展和性能增强功能;Debian/arm64 适用于 64 位 ARM 处理器,其至少实现了 ARMv8 架构。Debian 现在仅支持小尾端 ARM 系统,也自从 Debian 11 开始内核映像编译时加入 SMP 支持。
9、Fedora
Fedora Linux 是由开源社区维护的 Linux 发行版,为 Red Hat Enterprise Linux 的上游。自从Fedora 35 后,Fedora 存在 6 个版本,PC、工作站、服务器、云计算、容器和物联网,Fedora 的特点是更新速度,其与各种新技术预计上游 Linux 社区保持紧密合作,每 6 个月更新一次版本。Fedora ARM支持 ARMv7 (armhfp, aarch32, and arm-32) 和 aarch64 (ARMv8 and arm64),覆盖的硬件范围包括服务器、工作站以及 IoT 等。对于 32 和 64 位 ARM 架构而言,Fedora 软件栈是一致的。目前 Fedora 已经停止对 32 位 ARM 架构的继续开发,并鼓励用户使用其 aarch64 版本。白皮书内容覆盖技术、生态、用户篇,详情参看白皮书报告开放架构HPC技术与生态白皮书。