För några dagar sedan släpptes nyheten om att företaget ByteDance (skaparen av TikTok), har överraskat fri mjukvarugemenskapen med Parkers publikation (PARTitionerad KERnel), en experimentell teknik som låter dig köra flera Linuxkärnor samtidigt på en enda fysisk maskin, utan att förlita sig på traditionella virtualiseringslösningar som KVM.
Denna utveckling, som föreslagits via e-postlistan för Linuxkärnutvecklare, syftar till att lösa en av de viktigaste utmaningarna i moderna system: skalbarhet på datorer med ett stort antal CPU-kärnor.
Hej alla,
Parker är en föreslagen funktion i Linux för att tillåta att flera Linuxkärnor körs.
samtidigt på en enda maskin, utan traditionell KVM-virtualisering. Detta
Det är möjligt att partitionera CPU-kärnor, minne och enheter till
partitionsmedveten Linuxkärna.
Parker, en lösning utan hypervisorer eller virtuella maskiner
Parker Det är baserat på ett koncept med fysisk hårdvarupartitionering, som delar upp CPU-kärnor, minne och in-/utmatningsenheter i oberoende regioner. Varje kärninstans (kallas applikationskärna) arbetar med sina egna tilldelade resurser, medan startkärnan hanterar den initiala systemkonfigurationen och hårdvaruallokeringen.
Till skillnad från traditionell virtualisering, Alla Parker-instanser delar samma kärnavbildning, vilket förenklar implementeringen och minskar exekveringskostnaderna. Emellertid, Var och en kan ha sina egna optimeringar, konfigurationer och parametrar prestanda, anpassning till olika arbetsbelastningar eller användningsscenarier.
Intern funktion och resurshantering
Parkers centrala mekanism använder kexec för att dynamiskt ladda nya instanser av kärnan i reserverade minnesområden. Innan dessa instanser startas frigör huvudkärnan CPU-kärnor, reservera fysiskt minne med hjälp av CMA (Sammanhängande minnesallokator) och kopplar bort PCI-enheter som kommer att vara dedikerad till sekundära kärnor.
Varje partition kräver sina egna enheter PCIe, såsom NVMe-enheter eller dedikerade nätverkskort, vilket säkerställer en helt oberoende I/O-miljö. Parker använder även erbjuder ett kernfs-baserat hanteringsgränssnitt, vilket låter dig hantera partitioner och övervaka statusen för varje körande kärna.
Nuvarande begränsningar och framtida färdplan
I denna första version, alla kärninstanser delar samma domän av isolering, leller vilket innebär att ett fel i en av dem kan påverka hela systemetByteDance erkänner denna begränsning som ett initialt designbeslut och prioriterar enkelhet och låg omkostnad framför fullständig isolering.
Utvecklarna De planerar redan att dra nytta av isoleringsfunktioner på hårdvarunivå, såsom CPU-assisterad virtualiseringsteknik, för att förbättra feltoleransen och låta varje kärna fungera helt autonomt och säkert.
Även om Parker delar samma mål som projektet Multikärnan (nyligen introducerad av andra utvecklare i Linux-ekosystemet), Båda skiljer sig åt både i sin arkitektur och sitt tekniska tillvägagångssätt.Parker använder en delad kärnmodell och fysiskt segmenterade resurser, medan Multikernel söker en samarbetsmiljö mellan flera samordnade kärnor.
ByteDance betonar att implementeringen är helt oberoende och hoppas att utvecklargemenskapen kommer att ge input och feedback för att förfina denna teknik.
Det är värt att nämna det Parker ser ut att bli ett lovande experiment vilket skulle kunna omdefiniera hur Linuxkärnan skalas på flerkärniga servrar. Genom att ta bort det traditionella virtualiseringslagret och direkt utnyttja fysiska resurser, Denna teknik banar väg för större effektivitet och lägre latens och mer flexibla konfigurationer på högpresterande system.
Även om det fortfarande är i ett tidigt skede visar ByteDances initiativ det växande intresset hos stora teknikföretag för att förnya sig inom Linuxkärnan, vilket befäster deras roll inte bara som användare av systemet, utan också som aktiva aktörer i dess utveckling.
Slutligen, om du är intresserad av att veta mer om det, kan du konsultera detaljerna i följande länk.