Ich habe gelesen, dass die Hersteller aufgehört haben, sich auf höhere Taktraten zu konzentrieren, und nun an anderen Dingen arbeiten, um die Leistung zu verbessern.
Mit
- Eine alte Desktop-Maschine mit Intel® Xeon® Prozessor E3110 mit einer Taktrate von 3,0 GHz
- und ein neuer Server mit AMD Opteron (TM) Prozessor 6272 mit einer Taktrate von 2,1 GHz
wenn ein einfacher Verschlüsselungsvergleich mit (Singlethread) durchgeführt wird
openssl aes256c
Der Desktop schnitt weitaus besser ab als der Server.
Warum arbeitet der Prozessor mit der besseren Taktrate trotz der neuesten Optimierung besser?
Antworten:
Der Grund, warum sich die Hersteller nicht mehr auf die Erhöhung der Taktrate konzentrieren, liegt darin, dass wir die Prozessoren nicht mehr schnell genug kühlen können, damit dies realisierbar ist. Je höher die Taktrate, desto mehr Wärme wird erzeugt, und wir haben jetzt ein Stadium erreicht, in dem es nicht mehr effizient ist, die Prozessorgeschwindigkeit aufgrund der Menge an Energie zu erhöhen, die für die Kühlung aufgewendet wird.
Eine andere Antwort geht detailliert darauf ein, wie eine höhere Taktrate nicht in allen Bereichen eine bessere Leistung bedeutet.
quelle
Die Verarbeitungsgeschwindigkeit ist viel schneller als die Taktrate.
Unterschiedliche CPUs können aufgrund unterschiedlicher Varianten der Pipeline-Anordnung und mehrerer Komponenteneinheiten (Addierer usw.) in jedem Kern unterschiedliche Beträge in der gleichen Anzahl von Taktzyklen ausführen. Während dies in Ihrem Test nicht der Fall ist, stellen Sie häufig fest, dass ein "langsamer" Chip mehr kann als ein schneller (gemessen nur an der Taktrate), da er mehr pro Tick kann.
Der von Ihnen durchgeführte Test reagiert möglicherweise sehr empfindlich auf Unterschiede in der CPU-Architektur: Er kann für eine bestimmte Architektur optimiert werden. Möglicherweise ist die Leistung nicht nur zwischen Intel- und AMD-Chips unterschiedlich, sondern auch zwischen Intel- (oder AMD-) Chips verschiedener Familien. Wahrscheinlich wird auch ein einzelner Thread verwendet, sodass die mehreren Kerne der CPUs nicht ausgenutzt werden.
Aus Gründen des Strom- und Wärmemanagements werden niedrigere Taktraten angestrebt: Eine Erhöhung der Taktrate wirkt sich nicht linear auf den Stromverbrauch und die Wärmeabgabe aus.
Aufgrund der obigen nichtlinearen Beziehung ist es für die heutigen Anforderungen weitaus effizienter, mehrere Verarbeitungseinheiten zu haben, als die Geschwindigkeit einer Einheit immer weiter zu erhöhen. Dies ermöglicht auch clevere Tricks, um Strom zu sparen, z. B. das Ausschalten einzelner Kerne, wenn sie nicht verwendet werden, und das Wiederherstellen der Kerne, wenn die Nachfrage wieder steigt. Natürlich helfen mehrere Kerne einem Singlethread-Algorithmus nicht, obwohl dies der Fall wäre, wenn Sie zwei oder mehr Instanzen gleichzeitig ausführen würden.
quelle
Warum senken die Hersteller Ihrer Meinung nach die Taktrate, indem sie nur zwei Prozessoren vergleichen?
Die Taktrate ist auch nicht die gleiche wie die Leistung pro Taktzyklus. Sie können einen 3,8-GHz-P4-Core gegenüber einem 3,2-GHz-Core von einem i7-3930K haben, aber das bedeutet nicht, dass der P4-Core schneller ist.
Alles, was hier über den Stromverbrauch gesagt wird, gilt auch für ein 16-Kern-Design, bei dem Sie sich natürlich mehr um TDP-Probleme kümmern müssen.
Auch Ihre Benchmark-Methode, mit der Sie nur openssl testen, ist etwas zu einfach, um reale Zahlen zu erhalten. Vielleicht sollten Sie eine Krypto-Benchmark-Suite ausprobieren.
quelle
Ihr Testfall (aes-256-Verschlüsselung) reagiert sehr empfindlich auf prozessorspezifische Optimierungen.
Es gibt verschiedene CPUs mit speziellen Anweisungen, die die Ver- und Entschlüsselungsvorgänge beschleunigen sollen. Diese speziellen Anweisungen sind möglicherweise nicht nur auf Ihrem Desktop vorhanden, sondern auch auf der AMD-CPU. Außerdem unterstützt openssl diese speziellen Anweisungen möglicherweise nur für die Intel-CPU. Hast du nachgesehen, ob das der Fall ist?
Um herauszufinden, welches System schneller ist, versuchen Sie es mit einer "richtigen" Benchmark-Suite - oder verwenden Sie einfach Ihre typische Arbeitslast.
quelle
Einfach: Der AMD-Chip ist viel, viel schneller, weil es sich um einen 16-Kern-Chip handelt. Bei 115 Watt bedeutet dies, dass jeder Kern ~ 7 Watt produziert. Dies wäre nicht erreichbar, wenn jeder Kern mit 3 GHz betrieben würde. Um diese 7-Watt-Zahl zu erreichen, senkte AMD die Taktfrequenz. Wenn Sie die Taktfrequenz um 10% senken, wird der Stromverbrauch um 20% gesenkt, sodass Sie 25% mehr Kerne auf einen Chip setzen können.
quelle
Wie andere bereits gesagt haben, können wir CPUs nicht mehr effektiv kühlen, wenn wir die Spannung erhöhen, die für die gleichen relativen Taktratenerhöhungen in der Vergangenheit erforderlich war. Es gab eine Zeit (P4-Ära und früher), in der Sie eine neue CPU kaufen und feststellen konnten, dass die Geschwindigkeit "sofort" zunimmt, da die Taktrate im Vergleich zur vorherigen Generation erheblich erhöht wurde. Jetzt haben wir eine Art Thermowand getroffen.
Die Taktrate jeder neuen modernen Prozessorgeneration nimmt geringfügig zu, dies hängt jedoch auch von der Fähigkeit ab, sie angemessen zu kühlen. Chiphersteller wie Intel konzentrieren sich ständig darauf, die Chipgröße der CPU zu verkleinern, um sie energieeffizienter zu machen und bei gleichen Takten weniger Wärme zu produzieren. Als Randbemerkung macht diese schrumpfende Chipgröße moderne Prozessoren anfälliger für Überspannungen als für Überhitzung. Dies bedeutet, dass es auch die maximale Taktrate einer aktuellen CPU-Generation begrenzt, ohne dass der Chiphersteller weitere Optimierungen vornimmt.
Ein weiterer Bereich, auf den sich die Chiphersteller stark konzentrieren, ist die Erhöhung der Anzahl der Cores on Chip. Dies trägt zu einer signifikanten Erhöhung der Rechenleistung bei, jedoch nur, wenn Software verwendet wird, die mehrere Kerne nutzt. Beachten Sie hier den Unterschied zwischen Rechenleistung und Geschwindigkeit. Einfach ausgedrückt, bezieht sich Geschwindigkeit darauf, wie schnell ein Computer einen einzelnen Befehl ausführen kann, während sich Rechenleistung darauf bezieht, wie viele Berechnungen ein Computer in einer bestimmten Zeitspanne durchführen kann. Moderne Betriebssysteme und viel moderne Software nutzen mehrere Kerne. Das Problem ist, dass die gleichzeitige / parallele Programmierung schwieriger ist als das Standardparadigma der linearen Programmierung. Dies verlängerte die Zeit, die viele Programme auf dem Markt brauchten, um die Vorteile dieser neueren Prozessoren voll auszuschöpfen, da viele Entwickler nicht daran gewöhnt waren, Programme auf diese Weise zu schreiben. Es gibt immer noch einige Programme auf dem Markt (entweder moderne oder ältere), die nicht von mehreren Kernen oder Multithreading profitieren. Das von Ihnen angegebene Verschlüsselungsprogramm ist ein solches Beispiel.
Diese beiden Schwerpunkte der Chiphersteller sind eng miteinander verbunden. Indem sie sowohl die Chipgröße als auch den Stromverbrauch eines Chips verringern, können sie dann die Anzahl der Kerne auf dem Chip erhöhen. Letztendlich wird auch dies an eine Wand stoßen und einen weiteren, drastischeren Paradigmenwechsel bewirken.
Der Grund für diesen Paradigmenwechsel liegt darin, dass wir uns den Grenzen von Silizium als Basismaterial für die Chipherstellung nähern. Daran arbeiten Intel und andere schon seit einiger Zeit. Intel hat angekündigt, dass eine Alternative zu Silizium in Arbeit ist, und wir werden es voraussichtlich nach 2017 sehen. Zusätzlich zu diesem neuen Material untersucht Intel auch 3D-Transistoren, die "die Rechenleistung effektiv verdreifachen" könnten. In diesem Artikel werden diese beiden Ideen erwähnt: http://apcmag.com/intel-looks-beyond-silicon-for-processors-past-2017.htm
quelle
Die Wärmeverluste entsprechen dem
H
4. Frequenzgradf
.H ~ f ^ 4
Die geringfügige Erhöhung der Frequenz führt also zu hohen Wärmeverlusten.
Weitere Miniaturisierung
Eine höhere Frequenz führt zu einer weiteren Kristallminimierung. Gegenwärtig gibt es keine Technologien, um effektiv mit Materialien im Nanometerbereich zu arbeiten, und Nanometer sind die Grenze.
quelle
Wie in einigen anderen Antworten angegeben, möchten die CPU-Hersteller die Taktraten niedrig halten, um den Stromverbrauch und die Wärmeabgabe zu steuern. Um bei gleicher Taktfrequenz mehr zu arbeiten, werden mehrere Strategien angewendet.
Große On-Chip-Speicher-Caches können mehr Daten "in der Nähe" der CPU speichern, die mit minimaler Verzögerung verarbeitet werden können, im Gegensatz zum Hauptspeicher, der viel langsamer ist, um Daten an die CPU zu liefern.
Unterschiedliche CPU-Befehle erfordern eine unterschiedliche Anzahl von Taktzyklen. In vielen Fällen können Sie eine einfache Schaltung verwenden, um eine Operation über mehrere Taktzyklen zu implementieren, oder eine komplexere Schaltung, um dies in weniger zu tun.
Das dramatischste Beispiel für die Intel-Evolution ist der Pentium 4, der in Bezug auf die Taktfrequenz einen großen Ausreißer darstellte, aber keine angemessene Leistung zeigte. Die Bitverschiebungsanweisungen, die in früheren Chips 32 Bits in einem einzigen Zyklus verschieben konnten, verwendeten eine viel einfachere Schaltung im Pentium 4, die für jede Bitverschiebung einen einzigen Zyklus erforderte. Die Erwartung war, dass die Pentium 4-Architektur aufgrund ihrer Einfachheit auf viel höhere Taktraten skaliert werden kann, aber das hat nicht geklappt, und die schnelle, komplexe Umschaltschaltung kehrte in den Core- und späteren Architekturen zurück.
quelle
Von IEEE:
http://spectrum.ieee.org/computing/hardware/why-cpu-frequency-stalled
quelle