Bemutatkozik a Multikernel Linux (mklinux-v7.0-mk2) projekt első nyilvános kiadása, amely a Linux kernel egy olyan változatát fejleszti, amely lehetővé teszi több független kernel példány futtatását egyetlen fizikai számítógépen hypervisor és virtualizáció nélkül. Minden kernel példány közvetlen hozzáféréssel bír a hardveres erőforrásokhoz, és külön izolált rendszerek futtatására használható. Az első kiadás a Linux 7.0 kernelre épül, és tartalmazza a "CONFIG_MULTIKERNEL" build beállítást, amelynek kikapcsolásakor a kernel teljesen hasonlít a szokásos 7.0 kernelhez. Jelenleg csak az x86_64 CPU architektúrát támogatja.
A Multikernel új izolációs mechanizmusként van bemutatva, amely a hypervisor alapú virtualizáció és a közös kernel alapú konténerizált izoláció között foglal helyet. A virtualizálással ellentétben a Multikernel nem igényel hypervisort, egyszerűsíti az izolált környezetek létrehozását különböző alkalmazások számára, és lehetővé teszi a magas teljesítményt a virtualizációs többletköltségek nélkül. A konténerekkel ellentétben a Multikernel magas szintű izolációt biztosít, és lehetővé teszi külön kernel használatát minden izolált környezetben, amelyben a hibás leállítás vagy a sebezhetőség kihasználása nem befolyásolja a többi környezetet.

A host kernel felelős a rendelkezésre álló CPU, memória és PCI eszközök elosztásáért a párhuzamosan működő kernel példányok között. Minden példány egy dedikált CPU magon fut, az általa rögzített eszközökkel dolgozik, és hozzáféréssel bír a dedikált fizikai memória területhez. A több kernel párhuzamos futtatása virtualizáció nélkül valósul meg, SMP kezelő segítségével, amely elosztja a rendelkezésre álló CPU-t. Támogatott a dinamikus erőforrás-elosztás a futó környezetek számára, biztosítva a kiszámítható teljesítményt.
A Multikernel használatával a virtualizációs költségek kiküszöbölésének köszönhetően a teljesítmény a különálló hardveren végzett teljesítményhez hasonlítható. A Multikernel használata esetén nincs VM exit fázis, nem használnak második szintű memóriafelületeket, külön eszközmintát, és IOMMU fordítást sem. KVM A Multikernel használatakor a különböző rendszerhívások és funkciók teljesítménye 1,07-től 2,5-szeres emelkedést mutat (fork + exit — 1,07x, write() — 1,39x, AF_UNIX — 1,55x, Pipe — 2,18x, kontextusváltás — 2,50x), a memóriahasználat mellett pedig a sávszélesség és a késleltetés szintje változatlan marad.

Forrás: opennet.ru
