Ist ein zu großer Cache eine schlechte Idee?

1748
oneat

Ich packe einen neuen Computer für mich und dachte über die Xeon-Serie als Hauptprozessor nach. Xeons haben in der Regel sehr große Caches bis zu 32 MB. Und hier ist eine Frage:

Ist es ein großer Vorteil, einen großen Cache in der täglichen Anwendung zu haben? Wie wirkt sich das auf Spiele, CAD-Zeichnungen, Browser usw. aus?

0
Siehe auch: [Ist die Größe des Caches oder die Anzahl der Kerne beim Abwägen der CPU-Leistung wichtiger?] (Http://superuser.com/questions/317771/is-the-cache-size-or-number-of-cores-more) -wichtig-wann-wiegen-CPU-Leistung? rq = 1). Hardware-Empfehlungsanfragen sind für SU ein Thema. Ƭᴇcʜιᴇ007 vor 9 Jahren 0
Verwenden Sie einfach keinen größeren Cache, sondern generelle Verbesserungen wie mehr RAM oder eine schnellere Festplatte. Michael Kohne vor 9 Jahren 0

4 Antworten auf die Frage

3
Sobrique

Es ist nicht wirklich ein Nachteil, einen großen Cache zu haben. Im schlimmsten Fall wird es mit veralteten Daten gefüllt, die nicht verwendet wurden.

Ich habe jedoch gehört, dass das Speichern von Daten im Cache viel Zeit in Anspruch nehmen kann. Ist es wahr? oneat vor 9 Jahren 0
Nicht wirklich. Caches enthalten nur eine Teilmenge von Daten, und der Inhalt wird algorithmisch verwaltet. Die Dinge werden nach Bedarf aus dem Cache eingefügt / entfernt. Der einzige echte Unterschied wäre etwas Cache gegen keinen Cache. (Und kein Cache würde wirklich weh tun). Sobrique vor 9 Jahren 0
Der Cache ist schneller als jede andere Form des Speichers. Er wird gefüllt, wenn Daten geladen werden. Nein, nicht wirklich. Frank Thomas vor 9 Jahren 6
1
kutschkem

TL; DR Das hängt vom Programm ab.


Schauen wir uns zunächst die Vor- und Nachteile großer Caches an:

Pro's:

Größerer Cache bedeutet weniger Cache-Fehler. Cache-Misses sind zeitlich teuer.

Con's:

Größere Caches sind langsamer pro Zugriff, weil. (mehr Transistoren, bei Cache-Miss etc. müssen mehr übertragen werden.) Deshalb gibt es sogar Caches und mehrere Ebenen. (Ansonsten, warum nicht einfach den RAM direkt nutzen, richtig ;-))


Im Wesentlichen hängt es von Ihrem Programm ab, aber heutzutage neigen Programme dazu, viele Daten zu verwenden, so dass ein größerer Cache möglicherweise besser ist.

Ich interessiere mich zum Beispiel für Data Mining. Trainingsmodelle bedeuten oft wiederholtes Durchlaufen großer Datensätze. Ich könnte mir vorstellen, dass ein größerer Cache hier helfen könnte, wenn ich dadurch wesentlich weniger Cache-Fehler bekomme.

Ich kenne CAD-Programme zwar nicht, kann sich aber vorstellen, dass moderne Programme viel Arbeitsaufwand auf die Grafikkarte übertragen. Die Cache-Größe macht hier keinen Unterschied (denke ich).

Beachten Sie, dass das OP in diesem Fall nach CPU-Cache (L1, L2, L3) und nicht nach IO-Cache fragt. CPU-Cache wird für die eigenen Mechanismen der CPUs verwendet, wie Time-Slicing / Context-Switching, Out-of-Order-Ausführung, spekulative Verzweigung und Ausführung usw. Was Sie hier beschreiben, ist das IO-Caching in einem relativ großen Maßstab. Frank Thomas vor 9 Jahren 0
@FrankThomas Aber wird dafür nicht auch der CPU-Cache verwendet? kutschkem vor 9 Jahren 0
Nein, es ist einfach nicht genug Platz da Cache sehr teuer ist, da er auf der Nanosekunden-Skala arbeitet. Ich beziehe mich nur auf Ihre Aussagen zur Datenanalyse. Inhaltsdaten sind einfach zu groß und werden normalerweise nicht oft genug nachgelesen, solange sie noch im Cache gespeichert sind, um einen kurzen kurzlebigen Cache-Speicher zu ermöglichen. RAM-Caching eignet sich jedoch hervorragend für das, was Sie tun, da es sich auf den größten Engpass (Zugriffszeit für externen Speicher) konzentriert und viel Speicherplatz für große Datasets bietet. Frank Thomas vor 9 Jahren 0
1
Kamil

Im Vergleich zum Core i7-Prozessor werden Sie mit derselben Anzahl von Prozessorkernen und einer ähnlichen Uhr keine enorme Leistungsverbesserung erhalten.

Xeon-CPUs haben folgende Vorteile:

  • ECC-Speichercontroller
  • PAE - mehr Speicherunterstützung (wie 768 GB statt 64 GB)
  • mehr kerne in einigen modellen
  • mehr Cache in einigen Modellen
  • mehr PCI Express Lanes in einigen Modellen
  • Unterstützung für mehrere CPU-Konfigurationen

Einige Anwendungen können einen höheren L3-Cache effizient verwenden, dies hängt jedoch davon ab, wie die Anwendung geschrieben wurde. In 3D-Anwendungen werden Sie keinen Unterschied zwischen 8 MB und 20 MB Cache sehen.

0
Art Badger

Es ist kein großer Vorteil, aber in der Regel gilt als Faustregel, dass je mehr Cache-Speicher verwendet wird, desto besser ist die Leistung. Fahren Sie fort und nutzen Sie den verfügbaren Cache aus.