Multikernel-projektin ensimmäinen julkinen versio on julkaistu. Linux (mklinux-v7.0-mk2), ytimen kehitysversio Linux, jota on parannettu kyvyllä ajaa useita itsenäisiä kernel-instansseja yhdellä fyysisellä tietokoneella ilman hypervisoria tai virtualisointia. Jokaisella kernel-instanssilla on suora pääsy laitteistoresursseihin ja sitä voidaan käyttää erillisten, eristettyjen järjestelmäympäristöjen ajamiseen. Ensimmäinen julkaisu perustuu kerneliin Linux 7.0 ja sisältää "CONFIG_MULTIKERNEL"-koontiasetuksen. Kun se on poistettu käytöstä, ytimestä tulee täysin identtinen alkuperäisen 7.0-ytimen kanssa. Tällä hetkellä vain x86_64-suoritinarkkitehtuureja tuetaan.
Moniydintä mainostetaan uutena eristysmekanismina, joka täyttää aukon hypervisoripohjaisen virtualisoinnin ja jaetun ytimen konttieseristyksen välillä. Toisin kuin virtualisointi, moniydin ei vaadi hypervisoria, yksinkertaistaa eristettyjen ympäristöjen luomista yksittäisten sovellusten suorittamista varten ja mahdollistaa korkean suorituskyvyn ilman virtualisoinnin aiheuttamaa lisärasitusta. Toisin kuin kontit, moniydin tarjoaa korkean eristystason ja mahdollistaa erillisen ytimen käytön jokaisessa erillisessä ympäristössä, joten kaatuminen tai haavoittuvuuden hyödyntäminen yhdessä ympäristössä ei vaikuta muihin ympäristöihin.

Isäntäydin jakaa käytettävissä olevat suorittimet, muistin ja PCI-laitteet samanaikaisesti käynnissä olevien muiden kernel-instanssien kesken. Jokainen instanssi toimii erillisellä, dedikoidulla suorittimen ytimellä, toimii sille osoitettujen laitteiden kanssa ja sillä on pääsy dedikoituun fyysisen muistin alueeseen. Useiden ytimien samanaikainen suoritus onnistuu ilman virtualisointia käyttämällä SMP-käsittelijää, joka jakaa käytettävissä olevat suorittimet. Dynaaminen resurssien allokointi käynnissä oleviin ympäristöihin on tuettu, mikä varmistaa ennustettavan suorituskyvyn.
Poistamalla virtualisointiin liittyvän lisäkuormituksen, moniytimisen suorituskyvyn arvioidaan olevan lähellä erillislaitteiston suorituskykyä. Moniytiminen poistaa virtuaalikoneen lopetusvaiheen, L2-muistisivut, erillisen laitemallin ja IOMMU-käännöksen. Verrattuna hypervisoriin, KVM Moniytimistä (Multikernel) käytettäessä erilaisten järjestelmäkutsujen ja -funktioiden suorituskyky kasvaa 1.07-kertaisesti 2.5-kertaiseksi (fork + exit - 1.07x, write() - 1.39x, AF_UNIX - 1.55x, Pipe - 2.18x, kontekstinvaihto - 2.50x), ja muistin kanssa työskenneltäessä läpimenoaika ja latenssi ovat samalla tasolla.

Lähde: opennet.ru
