字节跳动工程师Thom Hughes提Linux新方案Parker,单服务器多内核并行不靠虚拟化
与之前提出的其他多内核方案不同,Parker 通过划分硬件资源实现: 启动时,首先由所谓的“启动内核”(Boot Kernel)接管硬件,划分出CPU 核心、内存区域及 I/O 设备 然后将划分出的资源交…
近日,Linux 内核社区迎来了一项颇具创新性的设计提案——Parker。该方案由字节跳动工程师 Thom Hughes 提出,全称为“PARtitioned KERnel”,旨在通过一种全新的架构实现多个 Linux 内核在同一台物理服务器上并行运行,且无需依赖 KVM 等传统虚拟化技术。
Parker 的核心思路在于通过硬件资源划分实现多内核共存。具体而言,系统启动时由“启动内核”(Boot Kernel)首先接管硬件,对 CPU 核心、内存区域及 I/O 设备进行划分。随后,这些资源被分配给独立的“应用内核”(Application Kernels),每个内核可独立管理分配给自己的资源,彼此之间无直接通信。这种设计理论上在高核心数服务器上具备更好的可扩展性。
从技术实现层面看,Parker 通过 kernfs 接口暴露资源,并利用 kexec 技术将次级内核镜像热加载至预留内存。在此过程中,Boot Kernel 需提前下线部分 CPU、预留内存并分离设备,以确保各分区安全运行。这种机制为运行配置或性能优化不同的内核提供了可能,例如满足多样化的工作负载需求。
然而,该提案也引发了部分争议。英特尔工程师 Dave Hansen 指出,在缺乏统一监督层的情况下,不同内核间可能产生冲突。例如,若某个内核修改了拆分锁检测(split lock detection)设置,或执行了 WBINVD 等系统级指令,可能对其他内核造成影响。这类问题在多内核并行运行的场景中尤为关键。
目前,Parker 提案已通过 RFC 形式提交至 Linux 内核邮件列表,但能否最终被采纳仍需社区进一步讨论和评估。该方案是否会像以往类似尝试一样逐渐淡出,抑或成为 Linux 内核发展的重要突破,仍有待观察。
(来源:小熊科技)免责声明:本文内容来源于第三方或整理自互联网,本站仅提供展示,不拥有所有权,不代表本站观点立场,也不构成任何其他建议,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容,不承担相关法律责任。如发现本站文章、图片等内容有涉及版权/违法违规或其他不适合的内容, 请及时联系我们进行处理。
