AMDs erster Quad-Core-Chip vereinigt die vier Recheneinheiten auf einem Chip, während Intels Quad-CPU aus zwei Dual-Cores besteht. Der ZDNet-Test zeigt, ob die echte Vierkern-CPU gegen Intels Xeon etwas ausrichten kann.
Bereits im September 2007 kündigte AMD die ersten Vierkern-Prozessoren der Opteron-Reihe an. Für die Massenauslieferung sind die verfügbaren Exemplare jedoch nicht bestimmt. Sie haben noch einen Bug im Translation Lookaside Buffer (TLB), der in seltenen, aber für den sicheren Betrieb zu häufig auftretenden Fällen Fehler produziert. Eine fehlerbereinigte Version soll nach jüngsten Angaben im zweiten Quartal 2008 erfolgen.
Technisch gesehen bringt AMD den ersten "echten" Quad-Core auf den Markt. Intel Quad-Cores sind zwei mittels internem Frontsidebus (FSB) verbundene Dual-Cores. Diese beiden Dual-Cores teilen sich keinen gemeinsamen Cache. Entscheidet der Scheduler des Betriebssystems, dass ein Thread aus Lastverteilungsgründen auf einen anderen Core gelegt werden muss, macht dies bei Intel-Chips ein komplettes Neuladen des Cache erforderlich.
Auch AMD hat sich nicht an ein zweistufiges Cache-Modell getraut, bei dem alle vier Kerne auf einen gemeinsamen L2-Cache zugreifen. In der Barcelona-Architektur besitzt jeder Kern einen eigenen L2-Cache von 512 KByte. Reicht dieser nicht aus, wird auf einen 2 MByte großen L3-Cache zurückgegriffen, den sich alle vier Kerne teilen. Durch exklusiv genutzten L2-Cache erfolgen deutlich weniger Zugriffe auf den gemeinsamen L3-Cache, was es wiederum erst ermöglicht, dass dieser ohne übermäßige Wartezyklen von vier Kernen gleichzeitig genutzt werden kann.Insgesamt verfügt der Barcelona über 4 MByte L2- und L3-Cache. Intel konnte bereits in der ersten Generation seiner Quad-Cores mit dem Doppelten aufwarten. Die jüngst vorgestellten "Shrinks" (Verkleinerung der Strukturbreite) auf 45 Nanometer[1] verfügen sogar über 12 MByte L2-Cache. AMD bezeichnet seine neue Architektur als K10. Neben den Erweiterungen in der Cache-Hierarchie sind gegenüber der K8-Architektur weitere Verbesserungen implementiert.
Jeder Kern kann nun zwei statt einen SSE-Befehl pro Takt einleiten. Das L1-Cache-Interface kann zwei 128-Bit-Loads durchführen, anstelle von zwei 64-Bit-Loads. Der Branch-Prediction-Buffer hat jetzt 512 Einträge und einen doppelt so großen Return-Stack. Call- und Return-Befehle für den Aufruf von Unterprogrammen sind beim K10 "fest verdrahtet", während der K8 dies per Microcode erledigte.
Als Befehlssatzerweiterung führt AMD SSE4a ein, was von der Logik her den Insert- und Extract-Befehlen von Intels SSE4.1 entspricht und darüberhinaus ein direktes Kopieren zwischen XMM-Register und x86-Registern erlaubt. SSE4a ist nicht kompatibel zu Intels SSE4[2].
SSE4: Wann bringt es wirklich mehr Speed?[2]
SSE4 ist die neueste Befehlssatzerweiterung in Intels jüngster 45-Nanometer-Prozessorgeneration. Die Befehle sollen die nötigen Takte pro Aufgabe senken und so den Prozessor erheblich beschleunigen. ZDNet hat SSE4 auf Praxistauglichkeit untersucht.
ZDNet steht für den Test ein System von Supermicro mit H8DMU-Board, zwei Opteron-2347-Prozessoren und 16 GByte DDR2-Hauptspeicher mit 667 MHz zur Verfügung. Das 2347er-Modell ist mit 1,9 GHz getaktet - und damit fünf Prozent unter dem derzeitigen Maximum von 2,0 GHz. Höher getaktete Modelle sollen erst im Laufe des Jahres erscheinen. Obwohl kleinere Änderungen in der Architektur der Cores erfolgt sind, gelten die meisten bekannten Performance-Unterschiede zwischen Intels Core 2- und AMDs K8-Architektur auch für Barcelona-Prozessoren. Intels CPUs sind dabei in den meisten Fällen bei gleicher Taktfrequenz schneller als die Modelle von Konkurrent AMD. Beim Raytracing mit dem Cinebench-R10-Benchmark erzielt eine Barcelona-CPU einen Wert von 7086 mit vier Cores und 1840 mit einem Core. Vier Cores erreichen hier eine Geschwindigkeitssteigerung um das 3,85-fache.
Ein aus zwei Xeon-5150-Dual-Cores bestehendes System mit 2,66 GHz erzielt mit nur einem Core eine 60 Prozent höhere Leistung als der Barcelona - mit vier Cores immerhin noch 44 Prozent. Die Intel-Prozessoren sind zwar höher getaktet, jedoch liegt die Mehrleistung jeweils über der prozentualen Erhöhung der Taktfrequenz. AMD punktet vor allem mit der Skalierbarkeit. Bei vier CPUs kann AMD die Leistung um 285 Prozent, das entspricht dem 3,85-fachen, steigern. Das Intel-System schafft nur 245 Prozent.
Ähnlich sieht es beim Paint.NET-Benchmark aus. Mit einem Core liegt der Xeon 5150 70 Prozent über der Leistung des Barcelona, mit vier Cores 61 Prozent. AMDs reine Rechenleistung liegt bei gleicher Taktfrequenz fast immer unter der von Intel. Eine Ausnahme bildet die Floating-Point-Arithmetik.
Bei der Fast-Fourier-Transformation (FFT) des Scimark 2.0 ist der Xeon 5150 nur 21 bis 25 Prozent schneller als der Barcelona, je nachdem, ob SSE2- oder x87-Befehle verwendet werden. Berücksichtigt man die Taktfrequenz, ist der Sieger hier AMD. Eine andere Implementierung der FFT in Prime 95[3] liefert allerdings wiederum andere Ergebnisse. Je nach Größe der FFT (zwischen 768 KByte und 8 MByte) ist der Xeon 5150 zwischen 8 und 116 Prozent schneller. Taktbereinigt siegt der Barcelona bei kleinen FFT-Größen, während Intel bei großen FFTs die Nase vorn hat. Die Ergebnisse bei Floating-Point-Arithmetik können sehr unterschiedlich ausfallen. Der Barcelona erreicht mit 667 MHz DDR2-RAM beim Kopieren von Speicher einen Datendurchsatz von 7,88 GByte/s. Lesend werden 8,82 GByte/s erzielt, schreibend nur 4,30 GByte/s. Das Intel-Xeon-5150-System kann hier bei gleich schnellem RAM nicht mithalten. Es werden nur 5,51 GByte/s erreicht. Damit ist der Barcelona um 43 Prozent schneller als Intel mit einem i5000X-Chipsatz. Lesend erreicht Intel 5,70 GByte/s und schreibend 3,41 GByte/s.
Beide Systeme haben zwei bestückte Prozessorsteckplätze. Das AMD-System enthält jedoch je zwei Dual-Channel-Speichercontroller pro CPU, während das Xeon-System nur einen Quad-Channel-Controller auf der Northbridge besitzt. Im Wesentlichen wird eine DDR3-Performance mittels DDR2-Bausteinen erreicht, da die effektive Bandbreite durch zwei Speichercontroller pro CPU verdoppelt wird. Um dies zu erreichen, müssen allerdings mindestens vier RAM-Sockel bestückt sein.
Die aktuellen Barcelona-Prozessoren können nur mit DDR2-Modulen betrieben werden, da der Speichercontroller der CPU keine anderen Speichertypen unterstützt. Intels Architektur ist diesbezüglich langsamer, aber flexibler, da dieselben CPUs mit anderem Chipsatz und Speichercontroller mit DDR2- und DDR3-Module arbeiten können. Allerdings wird auch Intel 2008 mit dem Erscheinen von Nehalem die Speichercontroller in die CPU integrieren.
Eine genaue Betrachtung verdient die neue Cache-Architektur. Wie bei den Dual-Core-Modellen besitzen auch die Quad-Core-Modelle von AMD doppelt so viel L1-Cache wie die CPUs von Intel. Der größere Instruction-Cache macht sich insbesondere bei 64-Bit-Code positiv bemerkbar, da dieser größer als 32-Bit-Code ist.
Der L1-Cache-Durchsatz beträgt beim Opteron 2347 97,6 GByte/s, während der Xeon 5150 273,5 GByte/s erreicht. Da der Cache immer mit der internen Taktfrequenz des Prozessors läuft, muss die 40 Prozent höhere Taktfrequenz des Intel-Prozessors berücksichtigt werden.
Dieser höheren Taktfrequenz steht allerdings eine 180 Prozent höhere L1-Cache-Leistung von Intel gegenüber, obwohl AMD die L1-Cache-Bandbreite verdoppelt hat. AMDs L1-Cache ist zwar größer, jedoch wesentlich langsamer, was auch gut erklärt, warum AMDs Prozessoren nur bei Befehlen mit vielen Takten pro Instruktion wie Floating-Point-Befehlen schneller sind. Der Cache liefert einfach nicht schnell genug neue Befehle nach. Dies gilt also insbesondere für sehr einfache Befehle, von denen mehrere in einem Takt ausgeführt werden.
Anders sieht es beim L2-Cache aus. AMD schafft hier 78,7 GByte/s, während Intel es auf 97,5 GByte/s bringt. Bezogen auf die Taktfrequenz ist AMD also deutlich schneller. Dies ist vor allem dadurch zu erklären, dass AMD pro Core einen eigenen L2-Cache besitzt, dessen Nutzung nicht mit den anderen Recheneinheiten koordiniert werden muss.
Allerdings ist der L2-Cache kleiner als bei Intel. Insgesamt stehen nur 2 MByte zur Verfügung. Darüberhinaus sind die 2 MByte nicht flexibel nutzbar. Werden nicht alle Cores der CPU ausgelastet, so kann entsprechend weniger L2-Cache genutzt werden. Eine Single-Threaded-Applikation kann maximal 512 KByte L2-Cache nutzen.
Die L3-Cache-Performance kann nicht realistisch gemessen werden, da dieser die gleiche Größe besitzt wie der L2-Cache. Betrachtet man die Cache-Architektur, muss man AMD Mut bescheinigen: Das Unternehmen traut sich, insgesamt 2 MByte L3 Cache durch exakt die gleiche Menge an L2-Cache zu puffern. Immer dann, wenn alle vier Cores aktiv sind, dürften sich in beiden Caches mehr oder weniger identische Daten befinden. Auch höchst ausgeklügelte Prefetch-Logik kann hier wenig ausrichten.
Die Größe von 2 MByte L3-Cache muss daher als Kompromiss betrachtet werden, da AMDs aktuelle Fertigungstechnologie aus wirtschaftlichen Gründen keine größeren Caches zulässt. Erst mit der Einführung des 45-Nanometer-Herstellungsprozesses plant AMD, Prozessoren mit einem deutlich größeren L3-Cache vorzustellen. Zusammenfassend muss aber gesagt werden, dass der Cache insgesamt zu klein und zu langsam ist. Durch die dreistufige Architektur wird die Cache-Performance nur dann vollends genutzt, wenn man sich innerhalb von 2 MByte bewegt.Die Skalierbarkeit von Multiprozessorsystemen ist bei AMD grundsätzlich höher als bei Intel. Zum einen können bis zu vier Cores den gemeinsamen Cache nutzen. Zum anderen kann jede CPU über Hypertransport auch auf Hauptspeicher zurückgreifen, der anderen Kernen zur Verfügung steht.
Dadurch entsteht eine echte NUMA-Architektur[4] (Non-Uniform Memory Access). Jede CPU kann Teile des Hauptspeichers besonders schnell nutzen. Um Letzteres mit Effizienz zu betreiben, müssen Betriebssystem und Anwendungen dies unterstützen. Windows ermöglicht dies auf Serverbetriebssystemen erst mit Windows Server 2008 durch die VirtualAllocExNuma-Funktion.
Um die Skalierbarkeit genauer zu testen, werden mittels Prime 95 Fast-Fourier-Transformationen (FFTs) in der Größe von 768 KByte bis 8192 KByte mit jeweils ein bis vier Cores durchgeführt. Die FFTs stellen sowohl Ansprüche an die CPU als auch an den Hauptspeicher.
Dies kommt typischen Serveranwendungen deutlich näher als beispielsweise Ray-Tracing. Beim Ray-Tracing kann jeder Pixel des fertigen Bildes völlig unabhängig von jedem anderen Pixel berechnet werden. Eine Leistungssteigerung von 285 Prozent bei vier Prozessoren ist bei einer FFT nicht möglich, da die Threads einer FFT von Abhängigkeiten gekennzeichnet sind.
Die kleinen FFT-Größen von 768 KByte bis 1024 KByte stellen sehr hohe Anforderungen an das Threading, wie bei Server-Maschinen üblich. Je größer die FFT-Größe wird, umso mehr kommt die Rechenleistung ins Spiel. In Bild 1 und Bild 2 sieht man, dass Intel bei hohen Anforderungen an das Threading nicht gut skaliert. Weil die beiden internen Dual-Cores sich gar keinen Cache teilen, kommt es dann zu Cache-Misses[5] bei der Nutzung von drei oder vier Cores, die bei der Nutzung von nur zwei Kernen nicht auftreten.
Bild 3 zeigt jedoch, dass der Xeon 5150 mit 2,66 GHz immer schneller ist als der Opteron 2347 mit 1,9 GHz. Dies gilt auch bei der für Intel äußerst ungünstigen Konstellation mit drei Threads. Außer bei den FFT-Größen von 768 KByte und 1024 KByte liegt die Leistungssteigerung weit über der um 40 Prozent höheren Taktfrequenz. Die bessere Skalierbarkeit von AMD kommt also nur zum Tragen, wenn ein Server wenig Rechenleistung zu erbringen hat und auf Durchsatz und Responsivität ausgelegt ist.
Was reine Rechenleistung angeht, kann die Barcelona-CPU in den meisten Fällen ihren Intel-Pendants auch bei gleicher Taktfrequenz nicht das Wasser reichen. Die Nutzung von Floating-Point-Operationen, bei denen AMD unter Umständen Vorteile gegenüber Intel bietet, ist auf Servern in der Regel begrenzt, sofern sie nicht als Compute-Cluster genutzt werden.
Zieht man in Betracht, dass Intel heute in der Lage ist, Taktfrequenzen zu liefern, die 50 Prozent über denen von AMD liegen, so sind Intel-Prozessoren bei rechenintensiven Operationen heute die bessere Wahl. Dies betrifft vor allem Compute-Cluster und Middleware, etwa Business-Intelligence-Server.
Kommt es jedoch auf Datendurchsatz größerer Mengen und geringe Hauptspeicherlatenz an, wie dies bei großen Datenbanken sowie File-, Mail- und Webservern der Fall ist, so kann ein auf Barcelona-Chips basierendes System durchaus höhere Leistung bieten als mit Intel-Chips. Hier werden vor allem Barcelona-Systeme mit 8 oder 16 Cores eine bessere Performance als vergleichbare Intel-Systeme liefern.
Serveranwendungen haben einerseits hohe Anforderungen an das Threading. Hier bietet AMDs Cache-Architektur sehr gute Unterstützung. Der exklusive L2-Cache pro Core, auch wenn dieser größer sein könnte, begünstigt das autonome Arbeiten eines Core ohne Rücksicht auf die anderen. Andererseits schafft AMDs NUMA-Hautspeicherarchitektur wesentlich mehr Durchsatz als Intel. Ein Server, der weniger Ansprüche an die Rechenleistung als an den Datendurchsatz stellt, ist mit AMDs Barcelona-Chips optimal bestückt.
Bestimmte Nebenaufgaben eines Servers, wie der Virenscan, werden durch hohen Speicherdurchsatz zusätzlich beschleunigt. Andere Nebenaufgaben, etwa Verschlüsselung via SSL, werden durch mangelnde Rechenleistung schnell zu einer extremen Belastung der CPU. Während die grundsätzliche Architektur der Barcelona-CPU für Serveraufgaben nahezu ideal ist, mangelt es für die Rechenleistung im Wesentlichen an genau drei Punkten:
- Taktfrequenz: Da Intel-CPUs bereits bei gleicher Taktfrequenz schneller rechnen, ist das Limit von 2000 MHz einfach zu wenig.
- L1-Cache-Performance: Hier sorgt Intel mit dem etwa 2,5-fachen der L1-Cache-Performace von AMD dafür, dass die Pipeline jederzeit gut gefüllt werden kann.
- Cache-Größe: Der L3-Cache muss deutlich vergrößert werden.
Ist es erforderlich, eine hohe Rechenleistung bei hervorragendem Datendurchsatz zu erzielen, so muss die Rechenleistung bei Barcelona-CPUs aus einem System mit mehr CPUs bezogen werden, was wiederum zu steigendem Stromverbrauch führt.
Schaut man in die Zukunft, so wird Intel Ende 2008 mit der Nehalem-Architektur[7] CPUs auf den Markt bringen, die die heutigen Nachteile gegenüber AMD nahezu vollständig beseitigen. AMD sollte sich also beeilen, CPUs mit deutlich höherer Rechenleistung auf den Markt zu bringen, um nicht vollends hinter Intel zurückzufallen.
URLs in diesem Artikel:
[1] = http:/
[2] = http:/
[3] = http:/
[4] = http:/
[5] = http:/
[6] = http:/
[7] = http:/