幾天前有消息稱,該公司 ByteDance (TikTok 的創造者)的 帕克的出版品 (PARtitioned KERnel),一項實驗性技術 允許您運行多個 Linux 內核 在單一實體機器上同時運行,而無需依賴 KVM 等傳統虛擬化解決方案。
這項進步是透過 Linux 核心開發人員郵件清單提出的,旨在解決現代系統中最重要的挑戰之一:具有大量 CPU 核心的電腦上的可擴展性。
大家好,
Parker 是 Linux 中提出的一項功能,允許多個 Linux 核心運作。
無需傳統的 KVM 虛擬化。這
可以對 CPU 核心、記憶體和裝置進行分區,
分區感知的 Linux 核心。
Parker,無需虛擬機器管理程式或虛擬機器的解決方案
帕克 它基於物理硬體分區的概念,將CPU核心、記憶體、輸入輸出設備劃分為獨立的區域。 每個核心實例 (稱為應用核心) 利用自己分配的資源進行運作,而引導核心管理初始系統配置和硬體分配。
與傳統虛擬化不同, 所有 Parker 實例共享相同的核心映像,這簡化了實作並降低了執行開銷。然而, 每個都可以有自己的最佳化、配置和參數 效能,適應不同的工作負載或使用場景。
內部運作與資源管理
帕克的中央機制 使用 kexec 動態載入新實例 內核在保留記憶體區域中的運行。在啟動這些實例之前,主核心會釋放 CPU 核心, 使用 CMA 保留實體記憶體 (連續記憶體分配器) 並取消連結 PCI 設備 它將專用於輔助核心。
每個分區都需要自己的設備 PCIe,例如 NVMe 驅動器或專用網路適配器,確保完全獨立的 I/O 環境。 Parker 還 提供基於 kernfs 的管理介面,它允許您管理分區並監視每個正在運行的核心的狀態。
目前的限制和未來的路線圖
在這個第一個版本中, 所有核心實例共享同一個域 隔離,l或意味著其中一個發生故障可能會影響整個系統位元組跳動將這一限制視為最初的設計決策,優先考慮簡單性和低開銷,而不是完全隔離。
然而,開發商 他們已經計劃利用硬體層面的隔離功能,例如CPU輔助虛擬化技術,以提高容錯能力並允許每個核心完全自主且安全地運作。
儘管帕克和 該項目 多元核心 (最近由 Linux 生態系統中的其他開發人員引入) 兩者在架構和技術方法上都有所不同。Parker 採用共享核心模型和實體分割的資源,而 Multikernel 則尋求多個協調核心之間的協作環境。
字節跳動強調,其實現完全獨立,並希望開發者社群提供意見和回饋,以完善這項技術。
值得一提的是 帕克正在成為一個有前途的實驗 這將重新定義 Linux 核心在多核心伺服器上的擴展方式。透過移除傳統的虛擬化層並直接利用實體資源, 這項技術為提高效率和降低延遲鋪平了道路 以及高效能係統上更靈活的配置。
儘管仍處於早期階段,但位元組跳動的舉措表明,大型科技公司對 Linux 核心創新的興趣日益濃厚,鞏固了他們不僅作為系統用戶的角色,而且作為系統發展的積極參與者的角色。
最後,如果您有興趣了解更多,可以查閱詳情 以下鏈接。