Det kinesiske firma ByteDance, der udvikler TikTok, har offentliggjort patches i udviklerlisten for Linux-kernen med implementeringen af Parker-systemet (PARtitioned KERnel), som muliggør kørsel af flere Linux-kerneler simultant på én computer uden brug af traditionel virtualisering. Parker minder om det for nylig præsenterede Multikernel-projekt, men adskiller sig i arkitektur og implementering.
I Parker anvendes sektionering af eksisterende CPU-kerneler, hukommelse og enheder. Hver kørende instans af kernen baserer sig på et fælles kernbillede, men kan anvende forskellige indstillinger og optimeringer. Den første indlæste kerne (Boot Kernel) håndterer distribution og sektionering af hardware enheder. De øvrige instanser af Linux-kernen (Application Kernel) arbejder kun med de tilknyttede CPU-kerneler, hukommelse og input/output-enheder.
I den oprindelige version er der ikke nogen styringsmekanisme for at reducere omkostningerne og forenkle implementeringen, og alle kerner bruger et fælles isolationsområde (domain), hvilket betyder, at en fejl i en hvilken som helst kerne kan føre til problemer i hele systemet. I fremtiden planlægges det at benytte særskilte hardware-funktioner til isolering af kerneinstanser. Parker nævnes som relevant for computere med et stort antal CPU-kerneler, hvor der opstår problemer med skalerbarhed af opgaver.
Til styring i Parker er der implementeret et interface baseret på kernfs, og til indlæsning af yderligere kerneinstanser i reserverede hukommelsesområder bruges kexec. Før der startes yderligere kerner, frigiver den primære kerne CPU-kerneler, reserverer fysisk hukommelse og frakobler PCI-enheder for deres brug i det sektionerede kernel. Hver kerne skal have sin egen PCIe-enhed til input/output, såsom NVMe-lagringsenhed eller netværksadapter. Efter lanceringen af en kern-instans kan den ikke interagere med andre kerner.
Kilde: opennet.ru
