Das T5-4 TPC-H Ergebnis naeher betrachtet
- by Stefan Hinker
Inzwischen haben vermutlich viele das neue TPC-H Ergebnis der SPARC T5-4 gesehen, das am 7. Juni bei der TPC eingereicht wurde. Die wesentlichen Punkte dieses Benchmarks wurden wie gewohnt bereits von unserer Benchmark-Truppe auf "BestPerf" zusammengefasst. Es gibt aber noch einiges mehr, das eine naehere Betrachtung lohnt.
Skalierbarkeit
Das TPC raet von einem Vergleich von TPC-H Ergebnissen in unterschiedlichen Groessenklassen ab. Aber auch innerhalb der 3000GB-Klasse ist es interessant:
SPARC T4-4 mit 4 CPUs (32 Cores mit 3.0 GHz) liefert 205,792 QphH.
SPARC T5-4 mit 4 CPUs (64 Cores mit 3.6 GHz) liefert 409,721 QphH.
Das heisst, es fehlen lediglich 1863 QphH oder 0.45% zu 100% Skalierbarkeit, wenn man davon ausgeht, dass die doppelte Anzahl Kerne das doppelte Ergebnis liefern sollte. Etwas anspruchsvoller, koennte man natuerlich auch einen Faktor von 2.4 erwarten, wenn man die hoehere Taktrate mit beruecksichtigt. Das wuerde die Latte auf 493901 QphH legen. Dann waere die SPARC T5-4 bei 83%. Damit stellt sich die Frage: Was hat hier nicht skaliert? Vermutlich der Plattenspeicher! Auch hier lohnt sich eine naehere Betrachtung:
Plattenspeicher
Im Bericht auf BestPerf und auch im Full Disclosure Report der TPC stehen einige interessante Details zum Plattenspeicher und der Konfiguration. In der Konfiguration der SPARC T4-4 wurden 12 2540-M2 Arrays verwendet, die jeweils ca. 1.5 GB/s Durchsatz liefert, insgesamt also eta 18 GB/s. Dabei waren die Arrays offensichtlich mit jeweils 2 Kabeln pro Array direkt an die 24 8GBit FC-Ports des Servers angeschlossen. Mit den 2x 8GBit Ports pro Array koennte man so ein theoretisches Maximum von 2GB/s erreichen. Tatsaechlich wurden 1.5GB/s geliefert, was so ziemlich dem realistischen Maximum entsprechen duerfte.
Fuer den Lauf mit der SPARC T5-4 wurden doppelt so viele Platten verwendet. Dafuer wurden die 2540-M2 Arrays mit je einem zusaetzlichen Plattentray erweitert. Mit dieser Konfiguration wurde dann (laut BestPerf) ein Maximaldurchsatz von 33 GB/s erreicht - nicht ganz das doppelte des SPARC T4-4 Laufs. Um tatsaechlich den doppelten Durchsatz (36 GB/s) zu liefern, haette jedes der 12 Arrays 3 GB/s ueber seine 4 8GBit Ports liefern muessen. Im FDR stehen nur 12
dual-port FC HBAs, was die Verwendung der Brocade FC Switches erklaert:
Es wurden alle 4 8GBit ports jedes Arrays an die Switches angeschlossen, die die Datenstroeme dann in die 24 16GBit HBA ports des Servers buendelten. Das theoretische Maximum jedes Storage-Arrays waere nun 4 GB/s. Wenn man jedoch den Protokoll- und "Realitaets"-Overhead mit einrechnet, sind die tatsaechlich gelieferten 2.75 GB/s gar nicht schlecht. Mit diesen Zahlen im Hinterkopf ist die Verdopplung des SPARC T4-4 Ergebnisses eine gute Leistung - und gleichzeitig eine gute Erklaerung, warum nicht bis zum 2.4-fachen skaliert wurde.
Nebenbei bemerkt: Weder die SPARC T4-4 noch die SPARC T5-4 hatten in der gemessenen Konfiguration irgendwelche Flash-Devices.
Mitbewerb
Seit die T4 Systeme auf dem Markt sind, bemuehen sich unsere Mitbewerber redlich darum, ueberall den Eindruck zu hinterlassen, die Leistung des SPARC CPU-Kerns waere weiterhin mangelhaft. Auch scheinen sie ueberzeugt zu sein, dass (ueber)grosse Caches und hohe Taktraten die einzigen Schluessel zu echter Server Performance seien. Wenn ich mir nun jedoch die oeffentlichen TPC-H Ergebnisse ansehe, sehe ich dies:
TPC-H @3000GB, Non-Clustered Systems
System
QphH
SPARC T5-4
3.6 GHz SPARC T5
4/64 – 2048 GB
409,721.8
SPARC T4-4
3.0 GHz SPARC T4
4/32 – 1024 GB
205,792.0
IBM Power 780
4.1 GHz POWER7
8/32 – 1024 GB
192,001.1
HP ProLiant DL980 G7
2.27 GHz Intel Xeon X7560
8/64 – 512 GB
162,601.7
Kurz zusammengefasst: Mit 32 Kernen (mit 3 GHz und 4MB
L3 Cache), liefert die SPARC T4-4 mehr QphH@3000GB ab als IBM mit ihrer 32 Kern Power7 (bei 4.1 GHz und 32MB L3 Cache) und auch mehr als HP mit einem 64 Kern Intel Xeon System (2.27 GHz und 24MB L3 Cache). Ich frage mich, wo genau SPARC hier mangelhaft ist?
Nun koennte man natuerlich argumentieren, dass beide Ergebnisse nicht gerade neu sind. Nun, in Ermangelung neuerer Ergebnisse kann man ja mal ein wenig spekulieren:
IBMs aktueller Performance Report
listet die o.g. IBM Power 780 mit einem rPerf Wert von 425.5. Ein passendes Nachfolgesystem mit Power7+ CPUs waere die Power 780+ mit 64 Kernen, verfuegbar mit 3.72 GHz. Sie wird mit einem rPerf Wert von 690.1 angegeben, also 1.62x mehr. Wenn man also annimmt, dass Plattenspeicher nicht der limitierende Faktor ist (IBM hat mit 177 SSDs getestet, sie duerfen das gerne auf 400 erhoehen) und IBMs eigene Leistungsabschaetzung zugrunde legt, darf man ein theoretisches Ergebnis von 311398 QphH@3000GB erwarten. Das waere dann allerdings immer noch weit von dem Ergebnis der SPARC
T5-4 entfernt, und gerade in der von IBM so geschaetzen "per core" Metric noch weniger vorteilhaft.
In der x86-Welt sieht es nicht besser aus. Leider gibt es von Intel keine so praktischen rPerf-Tabellen. Daher muss ich hier fuer eine Schaetzung auf SPECint_rate2006 zurueckgreifen. (Ich bin kein grosser Fan von solchen Kreuz- und Querschaetzungen. Insb. SPECcpu ist nicht besonders geeignet, um Datenbank-Leistung abzuschaetzen, da fast kein IO im Spiel ist.) Das o.g. HP System wird bei SPEC mit 1580 CINT2006_rate gelistet. Das bis einschl. 2013-06-14 beste Resultat fuer den neuen Intel Xeon E7-4870 mit 8 CPUs ist 2180 CINT2006_rate.
Das ist immerhin 1.38x besser. (Wenn man nur die Taktrate beruecksichtigen wuerde, waere man bei 1.32x.) Hier weiter zu rechnen, ist muessig, aber fuer die ungeduldigen Leser hier eine kleine tabellarische Zusammenfassung:
TPC-H @3000GB Performance Spekulationen
System
QphH*
Verbesserung gegenueber der frueheren Generation
SPARC T4-4
32 cores SPARC T4
205,792
2x
SPARC T5-464 cores SPARC T5
409,721
IBM Power 780
32 cores Power7
192,001
1.62x
IBM Power 780+
64 cores Power7+
311,398*
HP ProLiant DL980 G764 cores Intel Xeon X7560
162,601
1.38x
HP ProLiant DL980 G780 cores Intel Xeon E7-4870
224,348*
* Keine echten Resultate - spekulative Werte auf der Grundlage von rPerf (Power7+) oder SPECint_rate2006 (HP)
Natuerlich sind IBM oder HP herzlich eingeladen, diese Werte zu widerlegen. Aber stand heute warte ich noch auf aktuelle Benchmark Veroffentlichungen in diesem Datensegment.
Was koennen wir also zusammenfassen?
Es gibt einige Hinweise, dass der Plattenspeicher der begrenzende Faktor war, der die SPARC T5-4 daran hinderte, auf jenseits von 2x zu skalieren
Der Mythos, dass SPARC Kerne keine Leistung bringen, ist genau das - ein Mythos. Wie sieht es umgekehrt eigentlich mit einem TPC-H Ergebnis fuer die Power7+ aus?
Cache ist nicht der magische Performance-Schalter, fuer den ihn manche Leute offenbar halten.
Ein System, eine CPU-Architektur und ein Betriebsystem jenseits einer gewissen Grenze zu skalieren ist schwer. In der x86-Welt scheint es noch ein wenig schwerer zu sein.
Was fehlt? Nun, das Thema Preis/Leistung ueberlasse ich gerne den Verkaeufern ;-)
Und zu guter Letzt: Nein, ich habe mich nicht ins Marketing versetzen lassen. Aber manchmal kann ich mich einfach nicht zurueckhalten...
Disclosure Statements
The views expressed on this blog are my own and do not necessarily reflect the views of Oracle.
TPC-H, QphH, $/QphH are trademarks of
Transaction Processing Performance Council (TPC).
For more information, see www.tpc.org, results as of 6/7/13.
Prices are in USD.
SPARC T5-4 409,721.8 QphH@3000GB, $3.94/QphH@3000GB, available 9/24/13,
4 processors, 64 cores, 512 threads;
SPARC T4-4 205,792.0 QphH@3000GB, $4.10/QphH@3000GB, available 5/31/12,
4 processors, 32 cores, 256 threads;
IBM Power 780 QphH@3000GB, 192,001.1 QphH@3000GB, $6.37/QphH@3000GB,
available 11/30/11, 8 processors, 32 cores, 128 threads;
HP ProLiant DL980 G7 162,601.7 QphH@3000GB, $2.68/QphH@3000GB
available 10/13/10, 8 processors, 64 cores, 128 threads.
SPEC and the benchmark names SPECfp and SPECint are registered
trademarks of the Standard Performance Evaluation Corporation.
Results as of June 18, 2013 from www.spec.org. HP ProLiant DL980 G7
(2.27 GHz, Intel Xeon X7560): 1580 SPECint_rate2006; HP ProLiant DL980
G7 (2.4 GHz, Intel Xeon E7-4870): 2180 SPECint_rate2006,