• Multikernel Linux låter flera Linux-kärnor dela på samma dator

    Med Multikernel Linux kan flera fristående Linux-kärnor köras samtidigt på samma fysiska dator – utan virtuella maskiner eller en hypervisor. Den första offentliga versionen bygger på Linux 7.0 och visar lovande resultat, men tekniken befinner sig fortfarande på experimentstadiet.

    En vanlig Linux-dator kör en enda kärna som ansvarar för allt från processorer och minne till nätverk, lagring och anslutna enheter. Det spelar ingen roll om datorn har fyra eller hundra processorkärnor – alla resurser styrs normalt av samma Linux-kärna.

    Multikernel Linux tar ett helt annat grepp. I stället för att låta en enda kärna sköta hela datorn delas hårdvaran upp mellan flera självständiga Linux-kärnor. Varje kärna får sina egna processorkärnor, sitt eget minne och vid behov egna PCI-enheter.

    Den första offentliga versionen har fått beteckningen v7.0-mk2 och bygger på Linux 7.0. För närvarande stöds endast datorer med arkitekturen x86_64. Utvecklarnas lanseringsmeddelande finns i Linux-kärnans e-postarkiv.

    Som flera datorer inuti samma dator

    Det enklaste sättet att förstå tekniken är att tänka sig en stor fysisk server som delas upp i flera mindre datorer.

    En Linux-kärna fungerar som värd och förfogar över en pool med processorer, minne och enheter. Värdkärnan kan exempelvis ge fyra processorkärnor och två gigabyte minne till en andra Linux-kärna. En tredje kärna kan samtidigt få åtta processorkärnor, mer minne och direkt tillgång till ett nätverkskort eller en grafikprocessor.

    Varje Linux-kärna arbetar sedan självständigt med sin egen schemaläggare, nätverksstack och uppsättning processer.

    Det kan påminna om vanliga virtuella maskiner, men det finns en viktig skillnad: de extra Linux-kärnorna körs inte ovanpå en hypervisor som KVM, VMware eller Hyper-V. De arbetar direkt mot den tilldelade hårdvaran.

    Nya kärnor startas med en utökad variant av Linux befintliga kexec-funktion. Normalt används kexec för att starta en ny kärna utan att först gå genom datorns BIOS eller UEFI. I Multikernel har mekanismen byggts ut så att den nya kärnan kan startas bredvid värdkärnan i stället för att ersätta den.

    Resurserna kan flyttas

    Uppdelningen behöver inte vara permanent. En instans kan stängas av och lämna tillbaka sina processorkärnor, sitt minne och sina enheter till värdkärnan. Resurserna kan därefter användas för att starta en ny instans, möjligen med en annan version eller konfiguration av Linux-kärnan.

    Det öppnar för servrar där olika arbetsuppgifter får specialanpassade kärnor. En webbserver kan exempelvis använda en kärna optimerad för nätverkstrafik, medan en databas får en annan kärna med inställningar anpassade för lagring och minneshantering.

    Projektets verktyg Kerf används för att skapa instanser, tilldela resurser och starta kärnorna. Den som vill prova behöver själv kompilera kärnan med Multikernel-stödet aktiverat. Projektet har publicerat en komma igång-guide med bygg- och installationsanvisningar.

    Snabbare än KVM i vissa tester

    Utvecklarna har även jämfört Multikernel med en välkonfigurerad virtuell KVM-maskin. Testerna genomfördes på en server med två Intel Xeon Gold 5418Y-processorer. Båda miljöerna fick två processorkärnor, en gigabyte minne och samma kärnversion.

    Minneslatens och minnesbandbredd var i stort sett identiska. Det visar hur effektiv modern hårdvaruvirtualisering har blivit när processorn och minnet får arbeta utan många avbrott.

    Större skillnader syntes vid täta processbyten och kommunikation mellan processer:

    • Ett kontextbyte mellan två processer tog 1,37 mikrosekunder med Multikernel och 3,42 mikrosekunder i KVM.
    • Kommunikation genom en pipe tog 3,24 mikrosekunder med Multikernel och 7,06 mikrosekunder i KVM.
    • Kommunikation genom en lokal Unix-socket tog 4,81 mikrosekunder med Multikernel och 7,48 mikrosekunder i KVM.

    En mikrosekund är en miljondels sekund. Skillnaden är alltså omöjlig att märka vid en enstaka operation, men i servrar där miljontals processbyten och meddelanden sker varje sekund kan den sammanlagda effekten bli betydande.

    Varför blir den virtuella maskinen långsammare?

    En stor del av skillnaden beror på hur vilande virtuella processorer väcks.

    När en virtuell KVM-processor inte har något att göra lämnar den normalt den virtuella maskinen och överlämnar kontrollen till värdsystemet. När processorn behövs igen måste hypervisorn väcka den och återgå till den virtuella miljön. Denna övergång kostar lite tid.

    Multikernel-instansen styr sina fysiska processorkärnor direkt och behöver inte göra samma resa genom en hypervisor.

    KVM kan ställas in för att låta de virtuella processorerna vänta aktivt i stället för att somna. Då minskar en stor del av skillnaden, men processorkärnorna ser samtidigt fullt belastade ut och förbrukar mer energi. I projektets test ökade effektförbrukningen med upp till 19 watt.

    Resultaten betyder därför inte att Multikernel alltid är flera gånger snabbare än KVM. Skillnaden beror på arbetsbelastningen och hur den virtuella maskinen är konfigurerad. Testerna är dessutom genomförda och publicerade av Multikernel-projektet självt och bör betraktas som projektets egna resultat tills de har bekräftats genom fler oberoende tester. Den fullständiga jämförelsen mellan Multikernel och KVM beskriver både resultaten och kompromisserna kring strömförbrukning.

    Inte samma sak som containrar

    Containrar som Docker delar värdsystemets Linux-kärna. Det gör dem små och snabba, men innebär också att alla containrar är beroende av samma kärna.

    Virtuella maskiner kan köra var sin kärna och ger starkare avskiljning, men lägger till en hypervisor mellan operativsystemet och hårdvaran.

    Multikernel försöker kombinera delar av båda modellerna. Varje instans får en egen Linux-kärna, samtidigt som den körs direkt på tilldelad hårdvara. Om en kärna kraschar eller drabbas av ett problem är tanken att övriga kärnor ska kunna fortsätta arbeta.

    Det gör tekniken intressant för stora servrar, molntjänster, databaser, AI-system och andra miljöer där många processorkärnor ska utnyttjas med låg latens.

    Fortfarande ett experimentellt projekt

    Multikernel Linux är ännu inte en del av den officiella Linux-kärnan från kernel.org. Den första offentliga versionen ligger i projektets separata källkodsträd på GitHub.

    Stödet är än så länge begränsat till x86_64, även om gränssnitten har delats upp för att underlätta framtida stöd för andra processorarkitekturer. Det återstår också omfattande arbete med drivrutiner, säkerhet, stabilitet och verktyg innan tekniken kan betraktas som ett moget alternativ till etablerad virtualisering.

    Den första offentliga versionen är ändå ett viktigt steg. Multikernel visar att en kraftfull server inte nödvändigtvis måste välja mellan en enda stor Linux-kärna och traditionella virtuella maskiner. Det kan finnas en tredje väg: flera riktiga Linux-kärnor som arbetar sida vid sida direkt på samma hårdvara.

    > Teknisk fakta: Multikernel Linux

    Version:
    v7.0-mk2
    Bygger på:
    Linux 7.0
    Arkitektur:
    x86_64
    Princip:
    Flera självständiga Linux-kärnor körs samtidigt på samma dator.
    Virtualisering:
    Ingen hypervisor krävs.
    Resurser:
    Varje kärna kan tilldelas egna processorkärnor, eget minne och egna PCI-enheter.
    Startmetod:
    Utökad Linux kexec-funktion.
    Hantering:
    Kommandoradsverktyget Kerf.
    Fördel:
    Direkt tillgång till hårdvaran och låg latens utan traditionell virtualisering.
    Status:
    Experimentellt projekt och ännu inte en del av den officiella Linux-kärnan.

    [SYSTEM] Flera kärnor. En fysisk dator. Ingen hypervisor.

  • Linus Torvalds: Från programmerare till utvecklingsledare

    Linus Torvalds skriver numera sällan kod själv och beskriver sin roll som utvecklingsledare. Under Open Source Summit India 2026 berättade han om arbetet bakom Linuxkärnan, synen på AI och Rust samt varför föråldrad teknik ibland måste tas bort.

    Linus Torvalds skriver numera sällan kod själv. I stället leder han utvecklingen av Linuxkärnan genom att granska större förändringar, samordna utvecklare och fatta beslut om projektets inriktning.

    Under Open Source Summit India 2026 berättade han att Git och e-post fortfarande är hans viktigaste verktyg. Arbetet handlar i dag mer om människor, prioriteringar och helhet än om enskilda kodrader.

    Linux utvecklas stegvis, med nya kärnversioner ungefär varannan månad. Torvalds föredrar små förbättringar framför stora och riskfyllda förändringar. Han är särskilt försiktig med sena rättningar, eftersom även mindre ändringar kan skapa nya problem.

    Enligt Torvalds är mänskliga konflikter ofta svårare att lösa än tekniska fel. Kod kan rättas, medan problem med kommunikation och samarbete kan bli betydligt mer komplicerade.

    Han anser också att Linux inte kan stödja all gammal hårdvara för alltid. Teknik som inte längre används måste ibland tas bort för att minska mängden kod som behöver underhållas.

    Rust är enligt Torvalds ett viktigt tillskott, men inget fullständigt skydd mot fel. Språket kan förhindra vissa minnesproblem, men inte logiska misstag. Därför kommer C även fortsättningsvis att spela en viktig roll i Linuxkärnan.

    AI-verktyg används allt mer för att hitta buggar och granska kod. Samtidigt har de skapat felaktiga rapporter och ytliga lösningar. Torvalds anser därför att människor alltid måste kontrollera och ansvara för AI-genererade bidrag.

    Han använder själv AI för mindre experiment och prototyper, men anser ännu inte att tekniken är tillräckligt pålitlig för att självständigt skriva kod till Linuxkärnan.

    Torvalds främsta uppgift är numera inte att programmera, utan att se till att tusentals utvecklares arbete tillsammans leder till en stabil och långsiktigt hållbar Linuxkärna.

    https://www.zdnet.com/article/open-source-summit-linus-torvalds

Etikett: kärnutveckling

  • Multikernel Linux låter flera Linux-kärnor dela på samma dator

    Med Multikernel Linux kan flera fristående Linux-kärnor köras samtidigt på samma fysiska dator – utan virtuella maskiner eller en hypervisor. Den första offentliga versionen bygger på Linux 7.0 och visar lovande resultat, men tekniken befinner sig fortfarande på experimentstadiet. En vanlig Linux-dator kör en enda kärna som ansvarar för allt från processorer och minne till…

  • Linus Torvalds: Från programmerare till utvecklingsledare

    Linus Torvalds skriver numera sällan kod själv och beskriver sin roll som utvecklingsledare. Under Open Source Summit India 2026 berättade han om arbetet bakom Linuxkärnan, synen på AI och Rust samt varför föråldrad teknik ibland måste tas bort. Linus Torvalds skriver numera sällan kod själv. I stället leder han utvecklingen av Linuxkärnan genom att granska…