A Linux 6.17 kernelben az új Sheaves per-CPU cache réteg hatalmas teljesítménynyereséget mutat AMD alapú rendszereken

A kernel fejlesztésében régóta zajlik a memóriaallokáció hatékonyságának javítása, amelynek egyik fontos eleme a SLUB percpu sheaves patchsorozat. Sudarsan Mahendran a Google-tól a legújabb, ötödik változatot portolta a 6.17-es kernelre, majd széleskörű benchmarkokat futtatott, hogy a gyakorlatban is felmérje a teljesítményhatásokat. A tesztek során a will-it-scale, hackbench, redis, unixbench és kernbench keretrendszerek kerültek bevetésre, három eltérő architektúrán: az Intel Granite Rapids 480 magos, az AMD Turin 512 magos és egy 80 magos ARM platformon. Az eredmények szerint jelentős, tíz százalékot meghaladó eltéréseket csak az AMD rendszeren mért will-it-scale futtatásoknál tapasztaltak, más tesztekben nem mutatkozott számottevő különbség.

A Linux 6.17 kernelben az új Sheaves per-CPU cache réteg hatalmas teljesítménynyereséget mutat AMD alapú rendszereken

Az AMD teljesítménytesztek részletei

Az AMD Turin platformon a brk1 és mmap1 tesztek vegyes eredményeket hoztak: egyes esetekben komoly, több mint száz százalékos gyorsulást értek el, például a 384 vagy 512 processzel futtatott brk1 és mmap1 esetében. Más szcenáriókban viszont teljesítménycsökkenést mértek, mint a brk1_128_processes vagy a mmap1_128_processes, ahol körülbelül 67 százalékos visszaesés volt tapasztalható. Érdekes módon a brk1_384_processes és mmap1_384_processes konfigurációk szinte megduplázták vagy megháromszorozták a teljesítményt, kiugró nyereséget mutatva a sheaves mechanizmus skálázódásában. A szórás azonban szokatlanul magas, egyes mérésekben az eltérés a bázisértékekhez képest több ezer százalékos szóródást jelzett.

Következtetések és további lépések a kernelben

Az eddigi eredmények alapján a SLUB percpu sheaves megközelítés egyes nagy párhuzamosságot igénylő feladatoknál komoly teljesítményjavulást biztosíthat, ugyanakkor bizonyos konfigurációkban visszaesést is okoz. Ez arra utal, hogy a megoldás még további finomhangolást és szélesebb körű validációt igényel, mielőtt általánosan elfogadottá válhatna a mainline kernelben. A közösségi visszajelzések és további benchmarkok kulcsfontosságúak lesznek annak meghatározásában, hogy a sheaves réteg végül mennyire válhat stabil és univerzális megoldássá a Linux memóriaallokációs rendszerében.

Gábor a Pingvinbázis alapítója és főszerkesztője, több mint 20 éves tapasztalattal rendelkezik a Linux rendszerek és az Open Source szoftverek területén. Jártas a Python, és a PHP nyelvben, valamint a BASH scriptelésben is.