Von Christian Vilsbeck, tecChannel.de
Seit vielen Jahren wiederholt sich dieselbe Frage: Hat nun Intel oder AMD die schnellere CPU im Angebot? Fanatiker schwören stets auf "ihren" Favoriten, nüchtern gesehen sind die Unterschiede zwischen Pentium und Athlon 64 oder Xeon und Opteron oft nur marginal.
Doch die Welt der Prozessoren beschränkt sich nicht auf Xeons, Opterons, Athlons, Pentiums oder sonstige x86-Klone. Da gibt es beispielsweise die Power-Prozessoren von IBM, Suns UltraSparc, den Sparc64 von Fujitsu sowie den oft gescholtenen Itanium 2 von Intel. Nicht zu vergessen die PowerPC-Modelle von IBM, auf die viele Apple-Fans schwören. Lassen diese CPUs selbst Intels neue Core-Prozessoren alt aussehen?
Die "pure" Performance eines Prozessors lässt sich bestens über seine Geschwindigkeit bei Ganzzahlen- und Fließkommaberechnungen ausdrücken. Als ultima- tives und offizielles Performance-Tool für einen plattformüber- greifenden Vergleich fungiert die renommierte Benchmark-Suite "CPU2000" von SPEC. Der CPU2000-Test besteht aus vielen realen Anwendungen wie Simulationen, Packer oder Raytracer. Die Programme sind nicht fertig kompiliert, sondern liegen als Sourcecode vor.
Um das Optimale aus den CPUs herauszuholen, dürfen bei der CPU2000-Benchmark-Suite beliebige Compiler, Bibliotheken und Betriebssysteme verwendet werden - nur dokumentiert muss es sein. Der Sourcecode darf aber nicht verändert werden. CPU2000 überprüft sowohl die Singlethread-Performance als auch die Leistungsfähigkeit von Dual-Core-CPUs sowie Mehrwegesystemen.
Die CPU-Hersteller veröffentlichen die CPU2000-Ergebnisse auf der Webseite www.spec.org. Aber auch Systemhersteller wie Dell, Fujitsu Siemens, Hewlett-Packard, IBM oder Sun erkennen CPU2000 als offizielles Kräftemessen an und veröffentlichen die Performance-Werte ihrer Maschinen. Dabei achten die Hersteller darauf, die bestmöglichen Resultate für ihre Produkte zu erreichen. Die Ergebnisse lassen sich somit als ultimative Leistungsfähigkeit der jeweiligen CPUs werten - mehr Performance ist nicht drin.
CPU2000-Benchmark - strenge Regeln
CPU2000 ermittelt die Performance der Prozessoren im Zusammenspiel mit dem Speicher. Die Leistungsfähigkeit der Grafikkarte, der Netzwerkanbindung oder des Storage-Subsystems spielen bei der Benchmark-Suite keine Rolle.
SPECs CPU2000 verwendet Ganzzahlen- und Fließkommaprogramme und wird mit den Sourcecodes geliefert. Es handelt sich hierbei nicht um Low-Level-Benchmarks, sondern um Software, die realitätsnahe Aufgabenstellungen bearbeitet. CPU2000 unterscheidet zwischen zwölf Integer-Programmen, die in C und C++ geschrieben sind, sowie 14 Floating-Point-Anwendungen, erstellt mit C und Fortran 77/90. Vor jedem Testlauf ist bei CPU2000 Programm für Programm zu kompilieren. Für jede CPU-Architektur lässt sich dadurch die optimale Entwicklungsumgebung - bestehend aus Compilern, Mathematik-Bibliotheken sowie dem Betriebssystem - verwenden.
SPEC unterscheidet bei CPU2000 zwischen dem Base- und Peak-Rating. Beim Base-Rating müssen alle CPU2000-Programme mit den gleichen Compiler-Flags erstellt werden. Dabei ist auch nur eine bestimmte Anzahl von Optimierungs-Flags - maximal vier - zulässig. Das Peak-Rating von CPU2000 erlaubt unterschiedliche Compiler-Einstellungen und Optimierungen bei jedem einzelnen Programm. Mit dem Peak-Rating wird die maximale Leistungsfähigkeit einer CPU ermittelt.
Bei den CPU2000-Benchmarks gibt es sehr strenge Regeln: Die verwendeten Compiler, Bibliotheken, Switches und das Betriebssystem müssen mit dem Ergebnis veröffentlicht werden. Damit lassen sich die Ergebnisse auch von unabhängigen Stellen einfach nachprüfen, Betrug würde schnell auffallen.
Die CPU2000-Benchmark-Suite ermöglicht vier Performance-Messungen:
3 SPECint_2000: Ermittelt die Integer-Performance des Prozessors. Der Test arbeitet singlethreaded.
3 SPECfp_2000: Ermittelt die Floating-Point-Performance des Prozessors. Der Test arbeitet single- threaded.
3 SPECint_rate_2000: Ermittelt die Integer-Performance bei parallel arbeitenden Programmen. Die Anzahl der parallelen Kopien lässt sich einstellen.
3 SPECfp_rate_2000: Ermittelt die Floating-Point-Performance bei parallel arbeitenden Programmen. Die Anzahl der parallelen Kopien lässt sich einstellen.
Integer-Performance: Singlethread
Der SPECint_2000-Benchmark von CPU2000 arbeitet singlethreaded und nutzt die Vorteile von Technologien wie Hyper-Threading und Dual-Core nicht. Die ermittelten Werte gelten als Indiz für die Integer-Performance der Prozessoren.
Floating-Point- Performance: Singlethread
Der SPECfp_2000-Benchmark arbeitet singlethreaded und nutzt die Vorteile von Hyper-Threading und Dual-Core nicht. Die ermittelten Werte gelten als Indiz für die Floating-Point-Performance der Prozessoren.
Integer-Performance: Multithread
Bei den Integer-Berechnungen von SPECint_rate_2000 ermittelt die Benchmark-Suite den maximalen Durchsatz durch Verwendung mehrerer Tasks. Dabei arbeiten multiple Kopien des Benchmarks parallel. Typischerweise entspricht die Anzahl der Tasks/Kopien der Anzahl der CPU-Kerne eines Prozessors.
Floating-Point- Performance: Multithread
Bei den Floating-Point-Berechnungen von SPECfp_rate_2000 ermittelt die Benchmark-Suite den maximalen Durchsatz durch Verwendung mehrerer Tasks. Dabei arbeiten multiple Kopien des Benchmarks parallel. Typischerweise entspricht die Anzahl der Tasks/Kopien der Anzahl der CPU-Kerne eines Prozessors.
Integer-Performance: zwei Sockel
Bei Zwei-Sockel-Systemen ermittelt SPECint_rate_2000 den maximalen Gesamtdurchsatz der beiden Prozessoren. Dabei arbeiten wieder multiple Kopien des Benchmarks parallel. Typischerweise entspricht die Anzahl der Tasks/Kopien der Gesamtanzahl der CPU-Kerne von beiden Prozessoren. Bei zwei Dual-Core-CPUs sind somit vier Kopien parallel im Einsatz.
Floating-Point- Performance: zwei Sockel
Bei Zwei-Sockel-Systemen ermittelt SPECfp_rate_2000 den maximalen Gesamtdurchsatz der beiden Prozessoren. Dabei arbeiten wieder multiple Kopien des Benchmarks parallel. Typischerweise entspricht die Anzahl der Tasks/Kopien der Gesamtanzahl der CPU-Kerne von beiden Prozessoren.
Integer-Performance: vier Sockel
Bei Vier-Sockel-Systemen ermittelt SPECint_rate_2000 den maximalen Gesamtdurchsatz der vier Prozessoren. Dabei arbeiten wieder multiple Kopien des Benchmarks parallel. Typischerweise entspricht die Anzahl der Tasks/Kopien der Gesamtanzahl der CPU-Kerne aller vier Prozessoren. Bei vier Dual-Core-CPUs sind beispielsweise acht Kopien gleichzeitig im Einsatz.
Floating-Point- Performance: vier Sockel
Bei Vier-Sockel-Systemen ermittelt SPECfp_rate_2000 den maximalen Gesamtdurchsatz der vier Prozessoren. Dabei arbeiten wieder multiple Kopien des Benchmarks parallel. Typischerweise entspricht die Anzahl der Tasks/Kopien der Gesamtanzahl der CPU-Kerne aller vier Prozessoren.
Integer-Performance: acht Sockel
Bei Acht-Sockel-Systemen ermittelt SPECint_rate_2000 den maximalen Gesamtdurchsatz der acht Prozessoren. Dabei arbeiten wieder multiple Kopien des Benchmarks parallel. Typischerweise entspricht die Zahl der Tasks/Kopien der Gesamtanzahl der CPU-Kerne aller acht Prozessoren. Auf SPEC.org sind aktuell keine Acht-Sockel-Systeme mit AMDs x86-Prozessoren gelistet.
Floating-Point- Performance: acht Sockel
Bei Acht-Sockel-Systemen ermittelt SPECfp_rate_2000 den maximalen Gesamtdurchsatz der acht Prozessoren. Dabei arbeiten wieder multiple Kopien des Benchmarks parallel. Typischerweise entspricht die Anzahl der Tasks/Kopien der Gesamtanzahl der CPU-Kerne aller acht Prozessoren. Auf SPEC.org sind aktuell keine Acht-Sockel-Systeme mit AMDs x86-Prozessoren gelistet.
Fazit
Intel ist mit der Core-Architektur zweifelsohne ein großer Wurf gelungen. In der x86-Welt deklassiert der seit Juni 2006 erhältliche Xeon 5160 ("Woodcrest") seine Konkurrenten - sowohl bei der Integer- als auch bei der Floating-Point-Performance. Auch in Zwei-Sockel-Systemen setzt der Woodcrest den Maßstab.
Es bleibt natürlich abzuwarten, wie die Core-Prozessoren künftig in Vier- und Acht-Wege-Systemen skalieren. Bei der aktuellen Xeon-MP-Plattform (NetBurst-CPUs, Single-Core) müssen sich vier CPUs mit zwei Prozessor-Bussen begnügen. Dabei greifen alle Xeons auf den gleichen Speicher zurück. AMDs HyperTransport-Konzept mit eigenem Speicher-Controller pro CPU bietet hier - nicht nur theoretisch - Vorteile. So erreichen vier 2,6-GHz-Dual-Core-Opterons eine um 154 Prozent höhere Floating-Point-Performance im Vergleich zu einem System mit vier Xeon 7041 - bei Zwei-Sockel-Konfigurationen sind die Opterons "nur" 68 Prozent schneller.
Im Vergleich zu CPUs mit "Nicht-x86-Architekturen" bietet Intels Core-Prozessor Xeon 5160 ebenfalls die höchste Integer-Performance. Doch bei Fließkommaberechnungen muss sich der x86-Prozessor IBMs Power5-Modellen deutlich geschlagen geben. Die Risc-Prozessoren überzeugen sowohl in der Singlethread- als auch in der Multithread-Performance. Beispielsweise erledigt ein Power5+ mit 1,9 GHz Taktfrequenz Floating-Point-Berechnungen 44 Prozent flinker als ein 3,0-GHz-Woodcrest. Beide CPUs setzen auf die Dual-Core-Technologie, der Power5 wartet zusätzlich mit einem integrierten Memory-Controller sowie einem externen L3-Cache auf.
Da kann auch Intels ehemals als "Floating-Point-Monster" titulierter Itanium 2 nicht mehr mithalten. Immerhin bietet das 1,6-GHz-Modell mit 9 MB L2-Cache noch eine höhere Fließkomma-Performance (Singlethread) als der Xeon 5160. Doch in Multithread- sowie Multitask-Szenarien hat die IA64-CPU das Nachsehen - ihr fehlt (noch) die Dual-Core-Technologie.
Natürlich liegen Prozessoren wie der Power5+, Itanium 2 sowie die meist langsameren Ultra Sparc und Sparc64 in einer anderen Preisliga als ein Xeon 5160 oder Opteron 285 und sind für massives Multiprocessing ausgelegt. Ginge es also nach der puren Performance des einzelnen Prozessors, so hätten ein Sparc64 V oder UltraSparc IV+ keine Daseinsberechtigung. Doch diese CPUs - wie auch der Power5+ und Itanium 2 - kommen vor allem in Systemen mit 64, 128 oder mehr CPUs zum Einsatz. Hier zählen auch die ausgeklügelten RAS-Features der Prozessoren für den sicheren Betrieb der Systeme zu den wichtigsten Features. An Performance mangelt es durch die CPU-Anzahl dann ebenfalls nicht.
Das Metier der x86-CPUs bleiben dagegen Systeme mit einem bis maximal acht Prozessoren. Hier muss neben der Performance vor allem der Preis stimmen. Versuche Intels, den Itanium 2 in Ein- und Zwei-Wege-Systemen zu etablieren, wurden so auch relativ schnell wieder fallen gelassen.
Dieser Beitrag stammt von tecChannel.de, dem Webzine für technikorientierte Computer- und Kommunikationsprofis. Unter www.tecChannel.de finden Sie weitere Beiträge zu diesem Thema.