最近,TikTok 母公司 字节跳动(ByteDance) 在 Linux 内核邮件列表上提交了一份新的 RFC(Request for Comments),提出了一个名为 Parker 的全新概念——全称为 “PARtitioned KERnel”(分区内核)。这项提案引发了全球开源社区的关注与讨论。
🧩 Parker 是什么?
Parker 的核心想法很大胆:
它允许 多个 Linux 内核在同一台物理服务器上同时运行,而且不需要 KVM 或传统虚拟化层。
这个设计由字节跳动的两位工程师 Fam Zheng 和 Thom Hughes 发起,他们希望 Parker 能为高核心数服务器提供一种更高效、更可控的多内核运行方式。
在这个体系中,系统会先启动一个 引导内核(Boot Kernel),它负责分配 CPU 核心、内存区间和 I/O 设备等硬件资源。随后,这些资源被交给多个 应用内核(Application Kernel)——也就是独立运行的 Linux 内核实例。
每个内核互不干扰,各自管理分到的资源,这意味着在理论上,Parker 可以实现不同内核同时运行不同配置、不同优化策略的工作负载。
⚙️ 它是怎么做到的?
Parker 通过一个新的 kernfs 接口 实现分区功能。
引导内核会提前:
- 下线指定 CPU;
- 预留一部分内存;
- 分离部分 I/O 设备;
随后利用 kexec 技术,将应用内核热加载到这些被“划出来”的硬件区域中。
换句话说,Parker 不是传统意义上的虚拟机,而是在物理层面把整台服务器拆成几个“逻辑小机器”,每个部分都运行一个完整的 Linux 内核。
⚡ 潜在优势与应用场景
字节跳动的工程师认为,Parker 适合那些需要同时运行多个高负载任务、但又不希望被虚拟化层性能损耗拖慢的场景。
例如:
- 不同内核可针对不同业务(如视频转码、AI 推理、缓存服务)进行性能调优;
- 在同一台物理机上运行多个版本的内核以进行测试;
- 在高密度计算节点上减少虚拟化开销,提高利用率。
简单来说,这是一种更接近硬件层面的“多系统共存”方案。
🧱 但也存在争议
并非所有人都看好这一思路。
英特尔工程师 Dave Hansen 就在邮件中指出,如果没有中央监督层,不同内核之间可能会互相干扰。例如,一个内核执行系统级指令(如 WBINVD 或修改分裂锁检测设置)时,可能会导致其他内核出现异常或崩溃。
这种安全性与隔离性的担忧,也让一些开发者怀疑 Parker 是否能真正落地。
🧠 接下来会怎样?
目前,Parker 仍处于 RFC(征求意见稿)阶段,还未正式被 Linux 主线接受。它的命运将取决于社区的反馈与后续改进。
这已经不是第一次有人尝试让多内核共存。就在一周前,一个名为 Multikernel Project 的团队也提出过类似的想法。但 Parker 的实现方式更激进,也更贴近大型互联网公司的生产需求。
究竟这次字节跳动的尝试会不会像之前的方案一样被搁置?
还是能真正推动 Linux 内核架构的新一轮创新?
还要等社区的进一步讨论和实验结果。
📌 一句话总结:
字节跳动的 Parker 提案,重新点燃了 Linux 内核世界关于“多内核系统”的讨论。它可能是一场创新,也可能只是又一次“理想主义实验”。但无论如何,它证明了中国科技公司正在越来越多地参与全球底层技术创新。