Prvá verejná verzia projektu Multikernel bola vydaná. Linux (mklinux-v7.0-mk2), vývojová verzia jadra Linux, vylepšený o možnosť spúšťať viacero nezávislých inštancií jadra na jednom fyzickom počítači bez použitia hypervízora alebo virtualizácie. Každá inštancia jadra má priamy prístup k hardvérovým zdrojom a možno ju použiť na spúšťanie samostatných, izolovaných systémových prostredí. Prvé vydanie je založené na jadre Linux 7.0 a obsahuje nastavenie zostavenia „CONFIG_MULTIKERNEL“. Po vypnutí sa jadro stane úplne identické so štandardným jadrom 7.0. V súčasnosti sú podporované iba architektúry CPU x86_64.
Multikernel je propagovaný ako nový izolačný mechanizmus, ktorý vypĺňa medzeru medzi virtualizáciou založenou na hypervízore a izoláciou kontajnerov so zdieľaným jadrom. Na rozdiel od virtualizácie Multikernel nevyžaduje hypervízor, zjednodušuje vytváranie izolovaných prostredí na spúšťanie jednotlivých aplikácií a umožňuje vysoký výkon bez réžie virtualizácie. Na rozdiel od kontajnerov Multikernel poskytuje vysokú úroveň izolácie a umožňuje použitie samostatného jadra v každom izolovanom prostredí, takže zlyhanie alebo zneužitie zraniteľnosti v jednom neovplyvní ostatné prostredia.

Hostiteľské jadro rozdeľuje dostupné CPU, pamäť a PCI zariadenia medzi ďalšie inštancie jadra, ktoré bežia súbežne. Každá inštancia beží na samostatnom, vyhradenom jadre CPU, pracuje so zariadeniami, ktoré sú jej priradené, a má prístup k vyhradenej oblasti fyzickej pamäte. Súčasné vykonávanie viacerých jadier sa dosahuje bez virtualizácie pomocou obslužného programu SMP, ktorý rozdeľuje dostupné CPU. Podporovaná je dynamická alokácia zdrojov bežiacim prostrediam, čo zabezpečuje predvídateľný výkon.
Elimináciou réžie spojenej s virtualizáciou sa odhaduje, že výkon pri použití viacjadrového systému sa blíži výkonu pri spustení na samostatnom hardvéri. Viacjadrový systém eliminuje fázu ukončenia virtuálneho stroja, pamäťové stránky L2, samostatný model zariadenia a preklad IOMMU. V porovnaní s hypervízorom, KVM Pri použití Multikernelu sa výkon rôznych systémových volaní a funkcií zvyšuje z 1.07 na 2.5-krát (fork + exit - 1.07x, write() - 1.39x, AF_UNIX - 1.55x, Pipe - 2.18x, prepínanie kontextu - 2.50x), priepustnosť a latencia pri práci s pamäťou sú na rovnakej úrovni.

Zdroj: opennet.ru
