Den första versionen av mklinux för samtidig körning av flera Linux-kärnor

Den första offentliga versionen av Multikernel Linux-projektet (mklinux-v7.0-mk2) har presenterats. Det utvecklar en variant av Linux-kärnan, som har möjligheten att köra flera oberoende kärninstanser på en fysisk dator utan att använda hypervisorer och virtualisering. Varje kärninstans har direkt åtkomst till hårdvaruresurserna och kan användas för att driva separata isolerade systemmiljöer. Den första versionen är baserad på Linux-kärnan 7.0 och innehåller bygginställningen "CONFIG_MULTIKERNEL", som när den stängs av gör kärnan helt lik den standardkärna som 7.0. Endast x86_64 CPU-arkitekturen stöds för tillfället.

Multikernel presenteras som en ny isoleringsmekanism som fyller en nisch mellan virtualisering via hypervisorer och containerbaserad isolering med en delad kärna. Till skillnad från virtualisering kräver Multikernel inte användning av en hypervisor, förenklar skapandet av miljöer för isolerad körning av separata applikationer och möjliggör hög prestanda utan kostnader för virtualisering. Till skillnad från containrar erbjuder Multikernel en hög nivå av isolering och gör det möjligt att använda en separat kärna i varje isolerad miljö, där en krasch eller utnyttjande av sårbarhet inte påverkar andra miljöer.

Värdkärnan hanterar fördelningen av tillgängliga CPU, minne och PCI-enheter mellan parallellt körande ytterligare kärninstanser. Varje instans körs på en separat tilldelad CPU-kärna, arbetar med de enheter som tilldelas den och har tillgång till ett dedikerat område av fysisk minne. Samtidig körning av flera kärnor sker utan virtualisering, med hjälp av en SMP-hanterare som distribuerar tillgängliga CPU. Dynamisk resursallokering för de körande miljöerna stöds, liksom säkerställande av förutsägbar prestanda.

Genom att utesluta de kostnader som är typiska för virtualisering, bedöms prestandan vid användning av Multikernel vara nära prestandan av att köra på dedikerad hårdvara. Vid användning av Multikernel saknas fasen för överföring av kontroll mellan virtuella maskiner (VM exit), nivå 2 minnessidor används inte, en separat enhetsmodell och IOMMU-översättning behövs inte. Jämfört med hypervisorer KVM vid användning av Multikernel observeras en prestandahöjning för olika systemanrop och funktioner från 1,07 till 2,5 gånger (fork + exit – 1,07x, write() – 1,39x, AF_UNIX – 1,55x, Pipe – 2,18x, kontextväxling – 2,50x), bandbredd och latens vid minneshantering ligger på samma nivå.



Källa: opennet.ru
Köp pålitlig webbhotell med DDoS-skydd, VPS VDS-servrar 🔥 Köp pålitlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster