ChowTan schrieb:
Da haben schon wieder ein paar ihre Basics vergessen. Der Geschwindigkeitsvorteil des größeren L3 rührt daher, dass die meisten Zugriffe sich innerhalb des Caches abspielen, und der langsamere RAM so umgangen wird.
Klassisches Eigntor, wenn man andere versucht zu belehren, aber man selbst gewisse Basics scheinbar vergessen hat.
Da es beim L3-Cache von AMD um ein Victim-Cache handelt, landen da die Daten erst, wenn sie aus dem L2 fallen und das passiert in der Regel dann, wenn der Kern seine Arbeiten an den Daten beendet hat und die quasi zurück in den Arbeitsspeicher dürfen. In anderen Fällen wenn eine gelesene Line auch in den L3 fällt, weil sie im L2 einige Zeit nicht benutzt wurde.
Entsprechend gibt es hier schon ein paar Sachen, die man beachten muss, damit man vom großen L3 auch wirklich profitiert.
ChowTan schrieb:
Nur in ganz seltenen Fällen muss die CPU hier noch auf den RAM zugreifen.
Pauschal ist das falsch, weil hier einige Faktoren eine Rolle spielen, ob die Daten wirklich im L3 landen und ob sie von dort auch wirklich genutzt werden.
Der L3 und die Erhöhung hier von 32 auf 96 MiByte bedingt ein paar Eigenheiten, wie hier mit den Daten gearbeitet wird. Weder primär schreibende* noch lesende Szenarien können wirklich vom L3 profitieren und selbst Szenarien, die ausgewogene Schreib- und Leseleistungen verursachen nicht pauschal vom größeren L3, der aber schon mal eine Grundvoraussetzung ist, dass man anfangen kann vom L3 hier zu profitieren.
Wichtig hier ist, dass die Daten, mit den man Arbeitet, gewisse Abhängigkeiten untereinander haben, dass die Daten nicht in einem Abwasch bearbeitet werden können, so dass man auch Zwischenergebnisse weglegt, gleichzeitig aber relativ schnell wieder auf diese Zwischenschritte zurück gegriffen werden muss usw.
Erst wenn das der Fall ist, kann man den RAM hier zum Teil aus der Gleichung herausnehmen, weil dann Daten im L3 liegen, die auch gebraucht werden und das ist bei Spielen zum Beispiel der Fall oder auch in der Datenanalyse.
ChowTan schrieb:
Die RAM-Geschwindigkeit ist bei so einem Build essentiell egal - selbst zwischen DDR4-2133 und -4000 wird bei dieser CPU kaum ein Geschwindigkeitsunterschied zu messen sein.
Auch das stimmt nicht so ganz, wie gesagt es kommt darauf an, welches Szenario man hier hat. DDR4-2133 und DDR4-4000 können hier im schlimmsten Fall die CPU auch soweit einbremsen, dass sie überhaupt nicht mehr im Ansatz ihre Rechenleistung auf den Weg bringen kann.
Nur weil man viel Cache hat, heißt es nicht, dass man damit langsamen RAM kompensieren kann. Der Aufbau der Cache-Infrastruktur spielt hier auch eine Rolle und wie Komplex man die Cacheverwaltung gestalten will.
Der L3-Cache bei Zen und ebenso auch bei AlderLake/SunnyCove bietet weder bei stark lesenden oder stark schreibenden Szenarien einen Vorteil, da kommt es alleine auf die Geschwindigkeit des RAMs an. Die Vorteile von L3-Caches zeigen sich erst bei gemischten Workloads und bei diesen auch primär nur dann, wenn man immer wieder Daten schreibt, auf die geschriebenen Daten wieder zugreifen muss und es zu einem konstanten Wechsel daraus kommt.
*Ich habe im vorherigen Abschnitt ein weites Szenario unterschlagen in dem der L3-Cache auch hilft den RAM zu egalisieren: Wenn die CPU-Kerne immer wieder auf die GLEICHEN Daten zu greifen muss und sich diese Daten nicht wirklich ändern. Zum Beispiel bei Datenbanken kann das der Fall sein, dass man einen ganzen Satz an Daten hat, die einmal gelesen werden müssen und dann nach und nach in den L3 fallen und von dort auch immer wieder gelesen werden können, weil man doch immer wieder die gleichen Daten braucht.
Epyc mit seinem 3d-Cache ist eine super interessante CPU für entsprechende Datenbanken und deswegen gibt es da auch auch die CPUs, die nur 16 Kerne haben. Da braucht man nicht viele Kerne, aber genug Platz, dass man mal eine ganze Tabelle dort rein lädt und drin behält.
ChowTan schrieb:
Übertakten des Speichers oder der Speicheranbindung ist also in dem Fall seltener Blödsinn.
Nö, kein seltener Blödsinn, vor allem weil an dem IF in einer Zen-CPU ein paar mehr Sachen hängen.
Dein Beitrag ist einfach zu pauschal und damit eigentlich auch weitgehend falsch. Die Vorteile von größeren Caches und hier speziell im L3-Cache zeigen sich bei bestimmten Szenarien, bei anderen verpuffen sie weitgehend. Stark vereinfacht kann man hier sagen: Wird sehr oft lesend auf die gleichen Date zugefriffen, wird der Zen3 mit 3D-Cache vorteile haben, sowie wenn Daten über verschiedene Threads synchron gehalten werden müssen und ein reger Datenaustausch statt findet zwischen den Threads und im letzen Fall, wenn man Daten analysiert und eine ausgewogene Mischung aus Lese- und Schreibzugriffen hat und entsprechend auch Zwischenschritte hat, die nach einer gewissen Zeit auch wieder benötigt werden.