• Multikernel: Linux tar steget bortom den enskilda kärnan

    Linux står inför en ny milstolpe. Med projektet Multikernel öppnas dörren för en framtid där flera Linux-kärnor kan samarbeta på samma maskin. Genom att bygga vidare på den beprövade kexec-tekniken vill utvecklarna skapa ett mer flexibelt och skalbart Linux – anpassat för moln, datacenter och hyperskala.

    Linux har alltid haft ett rykte om sig att vara skalbart. Från små inbyggda system till världens största superdatorer – samma grundidé, samma kärna. Men under ytan finns det en begränsning: Linux bygger fortfarande på en modell där en enda kernel styr hela hårdvaran.

    Nu håller det på att förändras.

    Ett nytt initiativ, kallat Multikernel, vill ge Linux en helt ny arkitektur. Projektet öppnades nyligen upp för allmänheten och i samband med detta skickade Googles mjukvaruingenjör Cong Wang in de allra första kodändringarna till den klassiska Linux Kernel Mailing List (LKML).

    Från en till många
    Tänk dig att du sitter vid en server med en kraftfull processor och många kärnor. Ändå kör allt fortfarande under samma Linux-kärna, som ensam bestämmer hur resurserna används. Men vad händer om du vill köra två helt olika versioner av Linux sida vid sida – utan att ta till virtuella maskiner?

    Det är här Multikernel kommer in.

    Istället för att hålla fast vid en monolitisk modell låter Multikernel dig starta flera Linux-instanser på samma maskin, som sedan samarbetar som jämlikar. Varje kernel lever sitt eget liv, men de kan samtidigt dela på arbetsuppgifterna.

    Idén är inte helt ny. Forskare har tidigare experimenterat med samma tanke – bland annat i projektet Popcorn Linux, som visade att det går att låta flera kärnor samspela över olika hårdvaruplattformar. Men Multikernel försöker göra detta till något praktiskt och direkt användbart för dagens Linux.

    Byggt på gamla beprövade mekanismer
    Hur får man då flera Linux-kärnor att leva sida vid sida? Multikernel bygger vidare på en redan existerande funktion i Linux: kexec.

    Kexec har i mer än 20 år använts för att snabbt starta en ny kernel utan att starta om hela datorn. Multikernel använder samma teknik – men istället för att ersätta en gammal kernel med en ny, kan man nu ”spawna” flera kärnor som kör parallellt.

    Det betyder att man inte behöver uppfinna allt från början. Istället tar Multikernel något som redan är vältestat och förlänger det in i en ny riktning.

    Ett Linux för molnet och hyperskalan
    Varför behövs då detta? Svaret finns i de enorma datacenter som driver molnet.

    Där räcker inte alltid idén om ett enhetligt systemavtryck. I storskaliga miljöer kan det vara mer praktiskt att låta flera kernels hantera olika delar av arbetsbördan, ungefär som flera hjärnor som samarbetar i samma kropp.

    För utvecklare betyder det också något viktigt: man kan börja experimentera med denna arkitektur redan nu, utan att skriva om hela Linux från grunden.

    Öppenhet som filosofi
    Multikernel är inte ett slutet projekt. Tvärtom bygger det på öppenhet och samarbete.

    Alla ändringar, alla arkitekturval, allt delas öppet med Linux-communityt. Målet är inte att säga: ”så här ska det vara”, utan att bjuda in fler till diskussionen om hur framtidens kernel kan se ut.

    Teamet bakom Multikernel planerar också en serie instruktionsvideor som förklarar tekniken bakom projektet – både hur Multikernel fungerar och hur kexec gör det möjligt.

    Ett första steg på en lång resa
    Just nu befinner sig projektet i sin linda. Patcherna som släppts är bara första stenen i grunden. Men riktningen är tydlig: Multikernel vill göra Linux mer flexibelt, mer anpassningsbart och mer redo för en värld där datorer inte längre bara är en maskin – utan ofta tusentals maskiner som arbetar i kluster.

    Och det kanske mest spännande? Alla kan vara med. Koden finns på GitHub, diskussionen förs öppet på LKML, och vem som helst med intresse kan bidra med idéer och förbättringar.

    Multikernel är alltså inte bara ett tekniskt experiment – det är en inbjudan till att tänka om Linux från grunden.

    https://linuxiac.com/linux-kernel-multikernel-project-opens-up

    Teknisk fakta – Multikernel
    • Arkitektur: Multikernel (replikerad/”peer” kernel-design ovanpå kexec)
    • Kärnmekanism: Startar extra Linux-instanser via kexec (”spawned kernels”) på samma maskin
    • Isolering + samarbete: Varje kernel är isolerad men kan dela arbetsbörda med andra
    • Målmiljö: Hyperskala, moln, kluster och heterogena system
    • Användningsfall: Kör olika kernelversioner samtidigt utan VM; partitionera jobblaster per kernel
    • Resurshantering: Tänkbar partitionering av CPU-set, minnesområden och I/O-enheter per kernel
    • Kommunikation: Inter-kernel-kanaler (IKC) för kontroll- och dataplan (under uppbyggnad)
    • Kompatibilitet: Bygger på beprövad kexec-infrastruktur (20+ år i Linux)
    • Designmål: Minimala upstream-ändringar, robusthet och transparent integration
    • Relation till forskning: Inspirerat av Popcorn Linux och andra replikerade kernelprojekt
    • Status: Tidig fas; första patchset inskickat till LKML av Cong Wang (Google)
    • Utvecklarfokus: Möjliggör experiment utan omfattande omskrivning av kärnan
    • Begränsningar (nu): Delning av vissa enheter/DRM/blk kan vara begränsad; aktivt arbete pågår
    • Säkerhet: Isolering per kernel; attackyta mellan kernels hanteras via kontrollerade gränssnitt
    • Bygg/krav: Kernel med CONFIG_KEXEC, kexec-tools; x86_64 först ut (andra ISA kan följa)
    • Felsökning: printk, tracing, loggkanaler per kernel; koordinering kräver nya verktygsflöden
    • Hemsida/Repo: GitHub (källkod) och LKML (diskussion); tekniska videor utlovas
    • Engagera dig: Testa patcharna, ge feedback på LKML, skicka förbättringar via pull requests

Etikett: Multikernel

  • Multikernel: Linux tar steget bortom den enskilda kärnan

    Linux står inför en ny milstolpe. Med projektet Multikernel öppnas dörren för en framtid där flera Linux-kärnor kan samarbeta på samma maskin. Genom att bygga vidare på den beprövade kexec-tekniken vill utvecklarna skapa ett mer flexibelt och skalbart Linux – anpassat för moln, datacenter och hyperskala. Linux har alltid haft ett rykte om sig att…