
A Linux kernel fejlesztői folyamatosan dolgoznak azon, hogy a többmagos rendszerek teljesítményét és skálázhatóságát javítsák. A közelgő 6.18-as verzió egyik ígéretes újdonsága a Sheaves, egy választható (opt-in), per-CPU, tömbalapú gyorsítótár-réteg (array-based caching layer) a SLUB memória-allokátorhoz. A Google által karbantartott javításcsomag már bekerült a slab/for-next Git ágba, így jó eséllyel ott lesz a 6.18-as kernel összeolvasztási ablakában.
Mi az a Sheaves?
A Sheaves célja, hogy hatékonyabbá tegye a SLUB memória-allokátor működését nagy számú processzormag esetén. A megoldás per-CPU gyorsítótárakat hoz létre tömbösített formában, így csökkenthető a versenyhelyzetek (contention) száma és a lockolási költség.
A fejlesztést elsősorban a nagy teljesítményű, sokmagos szerverekhez igazítják, ahol a memória-allokáció párhuzamos terhelés alatt jelentős szűk keresztmetszet lehet.
Google-benchmarkok: kiugró eredmények az AMD EPYC Turin rendszereken
A Google mérnöke, Sudarsan Mahendran a múlt pénteken osztotta meg a Linux Kernel Mailing Listen (LKML) az első Sheaves-teszteket. A szoftverfoltokat egy Linux 6.17 alapú kernelre portolta, és a következő architektúrákon futtatta a méréseket:
- Intel Granite Rapids (480 mag)
- AMD EPYC Turin (512 mag)
- ARM szerver (80 mag)
A vizsgált tesztcsomagok között szerepelt a will-it-scale, a hackbench, a redis, a unixbench és a kernbench.
A legizgalmasabb eredményeket az AMD Turin platform produkálta:
- A will-it-scale benchmarkon +28,58% átlagos javulás már az alacsonyabb terhelési szinteken.
- Magasabb processz-számnál akár +70,59%, +112,89% és +126,89% gyorsulás is megfigyelhető volt.
- Más tesztekben (hackbench, redis, stb.) nem volt jelentős eltérés, viszont néhány esetben 13–20%-os visszaesés is előfordult.
A regressziók feltehetően a Sheaves belső algoritmusainak finomhangolására utalnak, amelyet a fejlesztők várhatóan tovább optimalizálnak.
Kilátások és jelentőség
A Sheaves különösen a nagy mag- és szál-számmal rendelkező rendszereknél (például: AMD EPYC Turin, Intel Xeon Granite Rapids) hozhat komoly előrelépést a Linux memóriakezelésében. A fejlesztők a patch-sorozatot valószínűleg a 6.18-as verzió főágába is beolvasztják, így a kiadás idején a vállalati és felhőszolgáltatók körében is élesben tesztelhetik majd a hatásait.
A következő hónapokban várható, hogy további benchmarkok és valós felhasználási példák is megjelennek, amelyek pontosabb képet adnak arról, mikor és milyen munkaterhelésnél érdemes bekapcsolni a Sheaves réteget.
