Gewuerzwiesel
Lt. Junior Grade
- Registriert
- Feb. 2017
- Beiträge
- 310
Hallo Zusammen,
neulich ist mir aufgefallen, dass Windows bevorzugt Threads auf virtuelle Kerne verteilt statt diese auf einen weiteren NUMA-Node zu verteilen an dem keine Last anliegt.
Haben die Latenzen zwischen den NUMA-Nodes einen so großen Einfluss auf die Performance, dass Windows der Meinung ist es wäre immer noch schneller es auf dem selben NUMA-Node im HT zu berechnen als es dann auf eine Node zu schieben der vor sich hin idlet?
Manchmal ist es sogar so, dass auch bei nicht voller Auslastung des aktiven NUMA-Nodes HT Threads statt der idle-Kerne angesprochen werden.
Hat jemand von euch noch ein ähnliches Verhalten beobachtet, hat es was mit Daten zu tun, die dann im L1 und L2 Cache liegen?
Vielen Dank für eure Antworten.
neulich ist mir aufgefallen, dass Windows bevorzugt Threads auf virtuelle Kerne verteilt statt diese auf einen weiteren NUMA-Node zu verteilen an dem keine Last anliegt.
Haben die Latenzen zwischen den NUMA-Nodes einen so großen Einfluss auf die Performance, dass Windows der Meinung ist es wäre immer noch schneller es auf dem selben NUMA-Node im HT zu berechnen als es dann auf eine Node zu schieben der vor sich hin idlet?
Manchmal ist es sogar so, dass auch bei nicht voller Auslastung des aktiven NUMA-Nodes HT Threads statt der idle-Kerne angesprochen werden.
Hat jemand von euch noch ein ähnliches Verhalten beobachtet, hat es was mit Daten zu tun, die dann im L1 und L2 Cache liegen?
Vielen Dank für eure Antworten.