Nya benchmarks för Linux föreslagna cachemedvetna schemaläggningspatchar visar betydande prestandaförbättringar på AMD:s EPYC Turin-processorer. Patcharna, utvecklade av Intel-ingenjörer, syftar till att optimera uppgiftplacering för bättre cachelokalitet på multichip-CPU:er. Tester på en dubbel EPYC 9965-konfiguration visade lovande resultat för heterogena serverarbetsbelastningar.
Under de senaste månaderna har Intel Linux-kärnans ingenjörer utvecklat cachemedveten schemaläggning för att förbättra prestandan på moderna CPU:er med flera cache-nivåer. Detta tillvägagångssätt samlar uppgifter som troligen delar resurser i samma cache-domän, vilket förbättrar cachelokalitet och effektivitet.
Patcharna, som har passerat kommentarförfrågansstadiet, uppdaterades i början av oktober. Inledande rapporter belyste en 44% minskning av tiden i ett benchmark, tillsammans med förbättringar på plattformar som Intel Xeon Sapphire Rapids, AMD EPYC Milan och AMD EPYC Genoa.
För denna utvärdering genomfördes tester på Linux 6.17-kärnan med AMD:s flaggskeppsserie EPYC 9005 "Turin", specifikt 192-kärniga EPYC 9965-processorer. Konfigurationen innehöll en dubbel-socket AMD Volcano-server med 192 kärnor och 384 trådar per socket, utrustad med 384 MB L3-cache.
Jämförelser gjordes mellan en standard Linux 6.17-kärna och samma kärna modifierad med cachemedvetna schemaläggningspatchar från 11 oktober aktiverade. Inställningsbara parametrar för cachemedveten schemaläggning, tillgängliga via sysfs, lämnades på sina standardvärden under testningen.
Medan cachemedveten schemaläggning erbjuder fördelar för många arbetsbelastningar är den inte universellt fördelaktig. En specifik patch inaktiverar den för processer med trådantal som överstiger de fysiska kärnorna i cachet på sista nivån (LLC) för att förhindra cachekonflikter. Funktionen visar särskilt löfte för typiska heterogena Linux-servermiljöer som inte fullt ut mättar CPU:n.