Išleista pirmoji vieša „Multikernel“ projekto versija. Linux (mklinux-v7.0-mk2), branduolio kūrimo versija Linux, patobulinta galimybe paleisti kelis nepriklausomus branduolio egzempliorius viename fiziniame kompiuteryje nenaudojant hipervizoriaus ar virtualizacijos. Kiekvienas branduolio egzempliorius turi tiesioginę prieigą prie aparatinės įrangos išteklių ir gali būti naudojamas atskiroms, izoliuotoms sistemos aplinkoms paleisti. Pirmasis leidimas yra pagrįstas branduoliu Linux 7.0 versija ir jame yra „CONFIG_MULTIKERNEL“ kūrimo nustatymas. Kai jis išjungtas, branduolys tampa visiškai identiškas standartiniam 7.0 branduoliui. Šiuo metu palaikomos tik x86_64 procesoriaus architektūros.
Daugiabranduolis (Multikernel) reklamuojamas kaip naujas izoliacijos mechanizmas, užpildantis spragą tarp hipervizoriumi pagrįstos virtualizacijos ir bendro branduolio konteinerių izoliacijos. Skirtingai nuo virtualizacijos, daugiabranduoliui (Multikernel) nereikia hipervizoriaus, jis supaprastina izoliuotų aplinkų, skirtų atskiroms programoms vykdyti, kūrimą ir leidžia pasiekti didelį našumą be virtualizacijos pridėtinių išlaidų. Skirtingai nuo konteinerių, daugiabranduolis (Multikernel) užtikrina aukštą izoliacijos lygį ir leidžia naudoti atskirą branduolį kiekvienoje izoliuotoje aplinkoje, kad gedimas ar pažeidžiamumo išnaudojimas vienoje aplinkoje nepaveiktų kitų aplinkų.

Pagrindinis branduolys paskirsto turimus procesoriaus, atminties ir PCI įrenginius tarp papildomų branduolio egzempliorių, veikiančių vienu metu. Kiekvienas egzempliorius veikia atskirame, skirtame procesoriaus branduolyje, veikia su jam priskirtais įrenginiais ir turi prieigą prie tam skirtos fizinės atminties srities. Vienalaikis kelių branduolių vykdymas atliekamas be virtualizacijos, naudojant SMP tvarkyklę, kuri paskirsto turimus procesoriaus išteklius. Palaikomas dinaminis išteklių paskirstymas veikiančioms aplinkoms, užtikrinant nuspėjamą našumą.
Pašalinus virtualizacijai būdingas papildomas išlaidas, apskaičiuota, kad daugiabranduolio našumas yra artimas atskiros įrangos veikimui. Daugiabranduolis panaikina VM išėjimo etapą, L2 atminties puslapius, atskirą įrenginio modelį ir IOMMU vertimą. Palyginti su hipervizoriumi, KVM Naudojant „Multikernel“, įvairių sisteminių iškvietimų ir funkcijų našumas padidėja nuo 1.07 iki 2.5 karto (fork + exit - 1.07x, write() - 1.39x, AF_UNIX - 1.55x, Pipe - 2.18x, konteksto perjungimas - 2.50x), pralaidumas ir delsa dirbant su atmintimi yra tame pačiame lygyje.

Šaltinis: opennet.ru
