• ByteDance vill köra flera Linux kärnor på samma dator – utan virtualisering

    Kan flera Linux-kärnor dela på en enda server utan virtualisering? ByteDance, företaget bakom TikTok, tror det. Med sitt nya projekt Parker vill de ta ett koncept som länge funnits i stordatorvärlden – partitionering – och göra det möjligt på vanliga x86-servrar. Resultatet kan bli snabbare och mer flexibla system, men också nya risker.

    Vad är det som är nytt?

    ByteDance, mest känt för TikTok, har lagt fram ett förslag som kan förändra hur stora datorer används. Projektet kallas Parker och handlar om att låta flera Linux-kärnor köras samtidigt på samma fysiska dator – men utan att använda klassiska virtualiseringslösningar som VMware eller KVM.

    I stället delas själva hårdvaran upp: vissa processorkärnor, minne och nätverkskort går till en kärna, medan andra kärnor får sina egna resurser.

    Så här fungerar Parker

    Allt börjar med en Boot Kernel, som tar kontroll över datorn vid start. Den delar upp resurserna och tilldelar dem till olika Application Kernels.

    Efter det körs varje kärna helt självständigt, utan att de pratar med varandra. Det gör att de inte stör varandra – och kan ge mycket bättre prestanda på riktigt stora servrar.

    Varför är detta intressant?

    Moderna servrar kan ha hundratals processorkärnor. Att få dessa att jobba effektivt är inte alltid lätt. Parker skulle kunna:

    • Förbättra skalbarhet – varje kärna jobbar för sig själv.
    • Ge flexibilitet – olika kärnor kan ha olika inställningar och optimeringar beroende på arbetsuppgift.
    • Låta företag köra olika system samtidigt på samma maskin, utan att bygga upp en stor virtualiseringslösning.

    Men det finns risker

    Allt är inte guld och gröna skogar. Parker har ingen hypervisor som övervakar kärnorna. Det betyder att en bugg i en av kärnorna kan få hela datorn att krascha.

    En expert från Intel, Dave Hansen, varnade dessutom för att vissa systemkommandon – som normalt påverkar hela maskinen – kan skapa konflikter mellan kärnorna.

    Vad händer nu?

    Förslaget är än så länge bara på experimentstadiet. Linux-utvecklare världen över diskuterar just nu om Parker är ett genialiskt steg framåt – eller bara ännu ett misslyckat försök som kommer glömmas bort.

    Sammanfattning

    Parker är ett djärvt försök att köra flera Linux-kärnor parallellt, utan virtualisering. Om det lyckas kan det ge snabbare, mer flexibla servrar – men också innebära nya risker för stabilitet och säkerhet.

    Framtiden får utvisa om Parker blir verklighet eller bara stannar som en spännande idé på ritbordet.

    Parker – teknisk faktaruta

    • Typ: Partitionerad Linux-kärna (utan hypervisor)
    • Syfte: Köra flera Linux-kärnor samtidigt på samma maskin
    • Primärt mål: Stora x86-servrar med mycket högt kärnantal
    • Resurser per instans: Dedikerade CPU-kärnor, minnesregioner och PCIe-enheter
    • IO-krav: Egen NVMe/NIC per kärna (ingen delning)
    • Arkitektur: Boot Kernel delar ut resurser → Application Kernels
    • Kommunikation: Ingen – instanserna delar inget (”share-nothing”)
    • Gränssnitt: kernfs för konfiguration
    • Start av sekundära: kexec till reserverade minnesområden
    • Förberedelser: CPU offline, CMA-minnesreserv, unbind av PCI-enheter
    • Fördel: Lägre overhead och potentiellt bättre skalbarhet
    • Risk/Begränsning: Samma säkerhetsdomän (ingen hypervisor-isolering)
    • Kända invändningar: Systemomfattande instruktioner (t.ex. WBINVD) kan påverka alla
    Konfigurationsidéer: olika CONFIG-val, FDO/PGO per arbetslast.
    Föreslagit av: ByteDance (Fam Zheng, Thom Hughes) • Status: RFC
  • 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: kexec

  • ByteDance vill köra flera Linux kärnor på samma dator – utan virtualisering

    Kan flera Linux-kärnor dela på en enda server utan virtualisering? ByteDance, företaget bakom TikTok, tror det. Med sitt nya projekt Parker vill de ta ett koncept som länge funnits i stordatorvärlden – partitionering – och göra det möjligt på vanliga x86-servrar. Resultatet kan bli snabbare och mer flexibla system, men också nya risker. Vad är…

  • 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…