Ir uzsākts pirmais publiskais Multikernel Linux projekta (mklinux-v7.0-mk2) izlaidums, kas attīsta Linux kodola variantu ar iespēju vēlāk palaist vairākus neatkarīgus kodola eksemplārus uz viena fiziskā datora bez hiper-vizora un virtualizācijas izmantošanas. Katram kodola eksemplāram ir tieša piekļuve aparatūras resursiem un to var izmantot, lai palaistu atsevišķus izolētus sistēmas vidus. Pirmais izlaidums balstās uz Linux kodolu 7.0 un satur kompilācijas iestatījumu „CONFIG_MULTIKERNEL”, kura atslēgšana padara kodolu pilnīgi līdzīgu standarta 7.0 kodolam. No CPU arhitektūrām pagaidām tiek atbalstīts tikai x86_64.
Multikernel tiek piedāvāts kā jauns izolācijas mehānisms, kas aizņem nišu starp virtualizāciju, izmantojot hiper-vizoru, un konteineru izolāciju, kuras pamatā ir kopīgs kodols. Atšķirībā no virtualizācijas, Multikernel neprasa hiper-vizora izmantošanu, vienkāršo vidumu izveidi, lai atsevišķi palaistu lietojumprogrammas, un nodrošina augstu veiktspēju bez virtualizācijas izmaksām. Atšķirībā no konteineriem, Multikernel nodrošina augstu izolācijas līmeni un ļauj katrā izolētajā vidē izmantot atsevišķu kodolu, kuras avārijas izbeigšana vai drošības ievainojamības izmantošana neietekmē citas vides.

Hosta kodols nodrošina esošo CPU, atmiņas un PCI ierīču sadalījumu starp paralēli strādājošiem papildu kodola eksemplāriem. Katrs eksemplārs tiek izpildīts uz atsevišķa veltīta CPU kodola, strādā ar tam piesaistītām ierīcēm un ir piekļuve rezervētai fiziskās atmiņas zonai. Vairāku kodolu vienlaicīga izpilde notiek bez virtualizācijas, izmantojot SMP apstrādātāju, kas sadala pieejamos CPU. Tiek atbalstīta dinamiska resursu piešķiršana palaistajām vidēm un nodrošināta prognozējama veiktspēja.
Izslēdzot virtuālās infrastruktūras raksturīgos pārvaldības izdevumus, Multikernel sniegums tiek novērtēts kā tuvs atsevišķas aparatūras sniegumam. Izmantojot Multikernel, nav kontrolēšanas fāzes starp virtuālajām mašīnām (VM exit), netiek izmantotas otrā līmeņa atmiņas lapas, atsevišķa ierīču modeļa un IOMMU translācija. Salīdzinājumā ar hipervizoru KVM izmantojot Multikernel, novēro palielinātu dažādu sistēmas izsaukumu un funkciju veiktspēju no 1.07 līdz 2.5 reizēm (fork + exit — 1.07x, write() — 1.39x, AF_UNIX — 1.55x, Pipe — 2.18x, konteksta maiņa — 2.50x), caurlaidība un aiztures laiki darbā ar atmiņu ir uz vienā līmeņa.

Avots: opennet.lv
