AMD Ryzen: Windows 10 kennt AMD-SMT, aber nicht die CCX

PCGH-Redaktion

Kommentar-System
Teammitglied
Jetzt ist Ihre Meinung gefragt zu AMD Ryzen: Windows 10 kennt AMD-SMT, aber nicht die CCX

Tests haben ergeben, dass der Scheduler von Windows 10 durchaus das SMT von AMDs Ryzen-CPUs erkennt und die Last auf diesen richtig verteilt. Probleme gibt es jedoch bei der CCX-Bauweise, die Windows 10 nicht kennt: Wechseln Threads zwischen den zwei 4-Kern-Clustern, kommt es zu massiv höheren Latenzen.

Bitte beachten Sie: Der Kommentarbereich wird gemäß der Forenregeln moderiert. Allgemeine Fragen und Kritik zu Online-Artikeln von PC Games Hardware sind im Feedback-Unterforum zu veröffentlichen und nicht im Kommentarthread zu einer News. Dort werden sie ohne Nachfragen entfernt.

lastpost-right.png
Zurück zum Artikel: AMD Ryzen: Windows 10 kennt AMD-SMT, aber nicht die CCX
 
Na das hört sich doch nach einem Problem an das in absehbarer Zeit lösbar erscheint und evtl. ein paar Prozente Mehrleistung bringen könnte.

Zu der anderen vermuteten Problematik mit dem Handling des L3 Caches gibt es aber scheinbar noch keine weiteren Informationen, denn sollte zutreffen das Win10 jedem Ryzen kern 16Mb anstatt 2Mb L3 zurechnet könnte dort noch mehr Potenzial sein.
 
Das bedeutet also, sobald Win10 und die Spiele den Load auf Threads/Kerne im gleichen CCX verteilen, werden Spiele schneller laufen. Wenn aber mehr als 8 Threads von einem Spiel genutzt werden, hat man wieder Probleme mit der Latenz?
 
Also liegt es tatsächlich mal am Windows und nicht an der Hardware.

Dann sollte MS mal einen Patch dazu raus bringen der eben damit umgehen kann, dass eben nicht zwischen den CCX hin und her geswitcht wird.

Wenn das da ist, sollte Ryzen auch gut an Leistung zulegen können.
 
Nur sofern die Threads unabhängig sind. Wenn die CCX Daten tauschen müssen sind sie wieder in diesem Problem. Für den 4 Core ist das ein Thema für den Kunden. Während ein 4 Kerner mit einem vollen CCX und einem deaktivierten sehr interessant wäre, wäre einer mit 2 halben CCX eher problematisch.
 
Das bedeutet also, sobald Win10 und die Spiele den Load auf Threads/Kerne im gleichen CCX verteilen, werden Spiele schneller laufen. Wenn aber mehr als 8 Threads von einem Spiel genutzt werden, hat man wieder Probleme mit der Latenz?

Würde also bedeuten, der Mehrwert der vielen Kerne ist durch das schlechte Infinity Fabric wieder zunichte... well done AMD
 

Nicht wirklich. Du hast immer noch viel Rohleistung mit der man mehrere Programme gleichzeitig versorgen kann.
 
Na dann mal abwarten was und wann MS was macht - ich frage mich ja ob AMD keine Infos und Sampels an MS geschickt hat, dass die sowas schon integrieren können? Ist ja nicht der erste CPU-Launch der letzten 20 Jahre.

PCGH schrieb:
Wechselt jedoch ein Threads zwischen den beiden CCX, steigt die Latenz um rund 100 ms.
Wohl eher 100 ns oder? ;)
 
Eben nicht, nur wenn die CPU Daten über den CCX Weg tauschen muss. Es ist eher ein Software Problem die CPU richtig anzusprechen. Sollte also kein tatsächeliches Problem darstellen. So ist das mit dem Fortschritt ... Um etwas zu verbessern muss man früher oder später etwas ändern. Nur die Taktschraube zu drehen und die Fertigung immer kleiner werden zu lassen ist in dem Sinne kein "echter" Fortschritt ;-)


Vg Ben
 
Wohl eher 100 ns oder? ;)

Yep, AMDs CPU braucht ganz sicher keine Zehntelsekunde für den Prozesswechsel - nicht mal wenn man über den RAM geht dauert das so lange :ugly:

Das bedeutet also, sobald Win10 und die Spiele den Load auf Threads/Kerne im gleichen CCX verteilen, werden Spiele schneller laufen. Wenn aber mehr als 8 Threads von einem Spiel genutzt werden, hat man wieder Probleme mit der Latenz?

Nicht unbedingt. Wenn die Daten der Threads sehr unabhängig voneinander sind, dürfte sich das kaum auswirken. Z.B. berechnet bei Cinebench ein Kern einfach ein im Vorfeld zugeteilten Bildausschnitt, und muss danach für eine sehr lange Zeit überhaupt nicht mehr mit den anderen Kernen kommunizieren. Auch in Spielen sollte sich hier erstmal kein Problem ergeben, es sei denn die Physikengine benutzt mehr als 4 Threads.

Das Hauptproblem ist momentan, dass Windows die Threads bzw. Prozesse immer mal wieder umverteilt, und dabei die "CCX-Grenzen" missachtet. Die Umverteilung hilft z.B. bei der Lastverteilung und bringt auch was für die Lebensdauer des Prozessors, da z.B. nicht immer nur der erste Kern im ST-Betrieb läuft.

Wenn das Umverteilen statt auf allen 8 Kernen nur noch in den 2 CCX betreiben würde, würde das schon ordentlich was bringen.
 
Werden bei der Xbox One und der PS4 nicht auch nur einfach 2 x 4 Jaguar Kerne zusammengestöpselt? Da muss doch auch so eine Kommunikation stattfinden, und falls dies der Fall ist, sollten Spieleentwickler eigentlich schon recht vertraut damit sein.

In der Theorie müssen die Entwickler bzw. der Windows Scheduler einfach darauf achten, dass Threads, die viel miteinander kommunizieren auf einem CCX bleiben. Threads die einigermaßen unabhängig voneinander sind, müssen dafür nicht unbedingt auf dem selben CCX sein.
 
Würde also bedeuten, der Mehrwert der vielen Kerne ist durch das schlechte Infinity Fabric wieder zunichte... well done AMD
Das bei dem Infinity Fabric 20GB/s hin und her können ist dir bekannt? Hinzu kommt das der RAM dabei eine entsprechende Rolle spielt zb wird es schneller je höher der ramtakt ist bei 2400 MHz beträgt der takt 1200 MHz bei 3200 MHz 1600 MHz auch wenn es nur einstellige Werte sind hat es sich gezeigt das höhere RAM Takt für Ryzen besser sind.

Der Memory Controller spielt da aber auch noch mit rein und auch der L3 Cache welcher bei AMD kein richtiger Cache ist er wird als victim Cache bezeichnet.

Das heißt Daten die nicht im L2 Cache passen wandern in den l3 Cache eigentlich eine schöne Sache da dadurch Zugriffe beschleunigt werden können.

Als Beispiel sieht man es bei dem i7 5xxx keine Ahnung welcher es war hat ja den L4 Cache dieser ist der Victim Cache von L3 und das hier Potenziale ist sieht man daran das er bei niedrigen takt einem i7 7700K heute noch davon rennen kann.

GS6 via Web
 
Yep, AMDs CPU braucht ganz sicher keine Zehntelsekunde für den Prozesswechsel - nicht mal wenn man über den RAM geht dauert das so lange :ugly:

Laut Wikipedia würde sich sogar die Kommunikation über eine 30 Jahre alte Magnetfestplatte lohnen :ugly: : Festplattenlaufwerk – Wikipedia
Hat mich aber auch gewundert, als ich den mobilen Artikel, ohne Grafik, gelesen habe.

Würde also bedeuten, der Mehrwert der vielen Kerne ist durch das schlechte Infinity Fabric wieder zunichte... well done AMD
Tatsächlich gibt es ähnlich Probleme bei Intel auch. Nur ist das der Maßstab etwas größer. Bei größeren Prozessoren (ich glaube ab 12 Cores) werden zwei Ringbusse verbaut. Wenn jetzt ein Kern mit einen Kern kommunizieren muss, der nicht am gleichen Ringbus hängt, gibt es auch eine beachtlich, größere Latenz.

Der erste Xeon-Phi (Knights Corner) ist übrigens der Ringbus zum Verhängnis geworden. Da hingen rund 60 Kerne in einen Ringbus, was fürchterliche Latenzen verursacht hat. Der Nachfolger Knights Lading dagegen verwendet ein ähnliches System wie AMD (Gitter über Dual-Core-Knoten), was deutlich besser funktioniert. Also könnte sich AMDs Ansatz im größeren Maßstab (Naples) durchaus auszahlen.
 
Ich schätze mal damit ist der Grund gefunden weshalb einzelne Spiele wie z.B. Witcher 3 im PCGH Test besonderst schlecht liefen.
 
Nur sofern die Threads unabhängig sind. Wenn die CCX Daten tauschen müssen sind sie wieder in diesem Problem. Für den 4 Core ist das ein Thema für den Kunden. Während ein 4 Kerner mit einem vollen CCX und einem deaktivierten sehr interessant wäre, wäre einer mit 2 halben CCX eher problematisch.

Das darf aber doch einigermaßen bezweifelt werden, dass sie 2+2 verwenden, denn dann hätten die 4Cores ebenfalls 16MB (8+8) L3-Cache, soweit ich weiß, werden diese aber nur 8MB haben. Das spricht eindeutig für einen einzelnen CCX. Zudem denke ich, ist sich AMD der Problematik (bzw. den Vorteilen, die ein einzelner CCX gegenüber 2 halben hat) selbst bewusst und wird daher sicher (hoffentlich) auf jeweils einen setzen.



Zusatz: Allerdings mache ich mir da nun ein wenig Sorgen um meinen anvisierten 6Core. Wenn diese aus 3+3 bestehen, dann haben diese in Anwendungen/Spielen, die explizit 4 Kerne nutzen, ja unter Umständen deutliche Nachteile?
 
Zuletzt bearbeitet von einem Moderator:
Interessant ist, dass anscheinend eine Änderung im Windows 10 das Problem nicht lösen wird. So zumindest scheint es selbst AMD zu sehen. Wenn ich die Aussagen aus dem Artikel richtig interpretiere, dann ist jede Anwendungs-SW selbst dafür verantwortlich.
Und die von AMD empfohlene Lösung für Windows 10, den Energiesparplan auf "Höchstleistung" zu setzen nimmt einiges vom Energieverbrauchsvorteil wieder weg. Das wird dann vor allem für Mobil-Prozessoren interessant.
Zumal ja AMD, genau wie Intel, dem MS Wunsch nachkommt, nur noch offiziell Windows 10 zu unterstützen.

AMD Ryzen - AMD-Blogbeitrag dementiert Windows-Geruchte - GameStar
 
Als Beispiel sieht man es bei dem i7 5xxx keine Ahnung welcher es war hat ja den L4 Cache dieser ist der Victim Cache von L3 und das hier Potenziale ist sieht man daran das er bei niedrigen takt einem i7 7700K heute noch davon rennen kann.

Das ist der i7 5775C, geniales Teil, welcher demnächst eine Koexistenz mit nem Ryzen führen muss :D

@T

Liegt es noch an dem Dos Unterbau von Win7, das es besser performt als 10?
 
Zurück