windows - NUMA: Win10 CPU udnyttelse

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg udvikler en multithreaded cpu-intensiv applikation. Indtil nu har denne applikation været testet på multicore (men single-cpu) systemer som en i7-6800K og fungerede godt under Linux og Windows. Et nyligt observeret fænomen er, at det ikke løber godt på visse hårde hardware: 2 x Xeon E5 2660 v3:


Indtast billedbeskrivelse her [1]


Når 40 tråde er aktive, falder cpu-udnyttelsen til 5-10\%. Denne server har to fysiske CPU'er og understøtter NUMA. Programmet er ikke skrevet med NUMA-modellen i tankerne, og derfor har vi helt sikkert mange hukommelsestilslutninger til ikke-lokal hukommelse, og det bør forbedres. Men spørgsmålet er: 'Kan lav vist cpu-udnyttelse skyldes langsom hukommelsesadgang?'


Jeg mener, at dette er tilfældet, men en kollega sagde, at cpu-udnyttelsen alligevel ville forblive 100\%. Dette er vigtigt, fordi hvis han har ret, kommer problemet ikke fra hukommelsesfejl. Jeg ved ikke, hvordan Windows10 tæller cpu-udnyttelse, så jeg håber, at nogen ved praktisk erfaring med serverhardware, hvis den viste cpu-udnyttelse falder i tilfælde af overbelastede hukommelsescontrollere.

Bedste reference