A fost lansată prima versiune publică a proiectului Multikernel Linux (mklinux-v7.0-mk2), care dezvoltă o variantă a nucleului Linux, îmbogățită cu posibilitatea de a executa mai multe instanțe independente ale nucleului pe un singur computer fizic fără utilizarea hypervisor-ului și a virtualizării. Fiecare instanță a nucleului are acces direct la resursele hardware și poate fi utilizată pentru a lansa medii de sistem separate și izolate. Prima versiune se bazează pe nucleul Linux 7.0 și conține setarea de compilare „CONFIG_MULTIKERNEL”, care, atunci când este dezactivată, face nucleul complet similar cu nucleul standard 7.0. Deocamdată, este suportată doar arhitectura CPU x86_64.
Multikernel este prezentat ca un nou mecanism de izolare, ocupând o nișă între virtualizarea cu hypervisor și izolația containerelor pe bază de nucleu comun. Spre deosebire de virtualizare, Multikernel nu necesită utilizarea unui hypervisor, simplificând crearea de medii pentru lansarea izolate a aplicațiilor individuale și permițând obținerea unor performanțe ridicate fără suprasarcini legate de virtualizare. Spre deosebire de containere, Multikernel oferă un nivel înalt de izolare și permite utilizarea unui nucleu separat în fiecare mediu izolat, oprirea bruscă sau exploatarea unei vulnerabilități în care nu afectează alte medii.

Nucleul gazdă asigură distribuirea CPU-urilor, memoriei și dispozitivelor PCI disponibile între instanțele suplimentare ale nucleului care funcționează în paralel. Fiecare instanță rulează pe un nucleu CPU dedicat, funcționează cu dispozitivele atribuite și are acces la o zonă dedicată de memorie fizică. Execuția simultană a mai multor nuclee se realizează fără virtualizare, folosind un handler SMP care distribuie CPU-urile disponibile. Este suportată alocarea dinamică a resurselor pentru mediile care rulează și asigurarea unei performanțe predictibile.
Datorită eliminării cheltuielilor de virtualizare, performanța utilizării Multikernel este evaluată ca fiind aproape de performanța rulării pe echipamente dedicate. Cu Multikernel, nu există etapa de transfer al controlului între mașinile virtuale (VM exit), nu sunt folosite paginile de memorie de nivel secundar, un model de dispozitive separat și traducerea IOMMU. Comparativ cu hipervizorul, KVM utilizarea Multikernel observă o creștere a performanței diverselor apeluri de sistem și funcții între 1.07 și 2.5 ori (fork + exit — 1.07x, write() — 1.39x, AF_UNIX — 1.55x, Pipe — 2.18x, comutarea contextului — 2.50x), lățimea de bandă și întârzierile în lucru cu memoria rămân la același nivel.

Sursa: opennet.ro
