Linux 多年来发展迅猛,但其设计从根本上仍然局限于单内核硬件视图。然而,这种情况即将改变。
多内核项目 (Multikernel project)是一个旨在跨多节点扩展的全新 Linux 内核设计,现已正式开源。随着代码公开发布,谷歌软件工程师王聪 (Cong Wang)向 Linux 内核邮件列表 (Linux Kernel Mailing List)提交了首批补丁。
现在,让我们进一步阐述一下它的真正含义。Multikernel 的核心在于重新思考 Linux 处理大规模系统的方式。它摒弃了传统的单片机模型,而是采用了基于 kexec 的方法。目前,如果要同时运行两个截然不同的内核版本,则需要运行虚拟机。Multikernel 试图通过将多个内核视为对等体来解决这个问题。
使用此补丁,您可以实际在同一台计算机上启动其他 Linux 实例并将它们链接在一起。每个实例都以独立内核运行,但会与其他实例协作分担工作负载。这个想法的灵感来源于早期项目,例如Popcorn Linux,它们也探索了分布式内核模型。
新发布的补丁为这一设计奠定了基础,包括用于并行管理多个内核的基本基础设施。根据 Wang 的帖子,目标是在实现功能齐全的多内核环境的同时,尽可能减少更改。
项目网站上的公告还概述了 Multikernel 的发展方向。该团队的目标是增强 Linux 对云和超大规模部署的适应性,在这些部署中,跨处理器集群(甚至多台机器)运行工作负载需要与单个系统映像不同的模型。
此外,对于开发者来说,这意味着他们无需重写内核的主要部分即可开始尝试该架构。目前,该项目仍处于早期阶段。有兴趣测试或贡献代码的开发者可以在 LKML 上找到补丁,并在其GitHub 代码库中关注项目的进展。
更多信息,请参阅公告。