Linuxi tuuma arendajate poolt on välja pakutud patchide seeria, mille on loonud Multikernel projekt, mis hiljuti muudeti avatud lähtekoodiga tarkvaraks ja nüüd areneb see koos kogukonnaga. Multikernel võimaldab ühel füüsilisel arvutil käitada mitu sõltumatut Linuxi tuuma eksemplari, mis pääsevad otse riistvarale ja mida saab kasutada mitme eraldatud süsteemikeskkonna käitamiseks. Projekti on loonud Multikernel Technologies, mille asutas ja juhib Cong Wang, kes hooldab Linuxi tuumas liikluse juhtimise (TC, Traffic Control) alamsüsteemi.
Tuummade käivitamiseks ja haldamiseks on ette nähtud täiustatud kexec-kõne, mis erinevalt klassikalisest kexec-st ei piirdu töötava tuuma asendamisega, vaid võimaldab käivitada täiendavaid tuuma eksemplare, mida töötatakse paralleelselt. Käivitatud tuumaeksemplaride jälgimiseks ja tõrkeotsinguks on rakendatud liidese „/proc/multikernel“, ja tuumade vahelise suhtlemise ning töö koordineerimise jaoks on välja pakkuda Multikernel IPI kommunikatsiooniraamistik.

Multikernel esitatakse uue isoleerimisarhitektuurina, mis asub virtuaaliseerimise ja konteinerite isoleerimise vahel, mille aluseks on ühine tuum. Erinevalt virtuaalizatsioonist ei vaja Multikernel hüperviisorit, lihtsustades keskkondade loomist eraldatud rakenduste käitamiseks ja saavutades kõrge jõudluse ilma virtuaaliseerimise ülekateteta. Erinevalt konteineritest tagab Multikernel kõrge isoleerituse ja võimaldab kasutada eraldi tuuma igas eraldatud keskkonnas.

Multikerni kasutamise jõudlust hinnatakse peaaegu sama kõrgele nagu eraldi riistvaral töötamise korral. Seda on õnnestunud saavutada virtuaalizatsiooni iseloomulike ülekannete puudumise tõttu, mis tekivad juhtimisvahetustes (VM exit), IOMMU tõlgendamise ja hüperviisori sekkumise tõttu privileege tegevustes. Toetatakse dünaamilist ressursside jaotamist käivitatavatele keskkondadele ja tagatakse ettearvatav jõudlus.
Mitme tuuma samaaegne käitamine toimub ilma virtualiseerimiseta, kasutades SMP-protsessorit, mis jaotab saadavalolevaid CPU-sid Linuxi tuumade eksemplaride vahel. Iga Linuxi tuuma eksemplar on seotud ühe või mitme sellele määratud CPU tuumaga, samas kui ülejäänud riistvararesursse jagatakse.
Multikernel peamised eelised:
- Parandatud isoleeritus toimingute tõrgete eest.
- Suurenenud turvalisus tuuma tasemel jagamiseks.
- Tõhusam ressursside kasutamine võrreldes traditsiooniliste hüperviisoril põhinevate virtuaalmasinatega, nagu KVM ja Xen.
- Potentsiaalne võimalus tuuma värskendamiseks töö katkestamata KHO (Kernel Hand Over) mehhanismi kasutamisel.
- Toetatakse integreerimist standardsete pilveinfrastruktuuridega ja pakkuda sujuvat üleminekut traditsioonilistelt virtuaaliseerimise ja konteinerite isoleerimise süsteemidelt.
- Täielik ühilduvus olemasolevate rakenduste ja Linuxi süsteemi liideste vahel. Multikernel muudab ainult tuuma punktuaalselt, säilitades täieliku ühilduvuse API tasemel.
Allikas: opennet.ru
