Aktuelles Thema: Der RIP-Benchmark im OSL Storage Cluster

Bereits seit der Version 2.1 ist OSL Storage Cluster in der Lage, bei der Migration von Applikationen zwischen verschiedenen Rechnern die Auslastung der Rechner zu berücksichtigen. Diese Fähigkeiten haben in der Version 3.0 eine erhebliche Erweiterung erfahren, so dass mittlerweile ein leistungsfähiges aber einfach zu bedienendes Framework zum ressourcenbasierten Selbstmanagement eines Rechnerverbundes vorliegt.

Vor allem für betriebswirtschaftliche Anwendungen und Datenbanken spielt die Integer-Performance eines Systems eine entscheidende Rolle. OSL Storage Cluster stützt seine Managementfunktionen in diesem Zusammenhang auf einen eigenen Benchmark, um auch in Clustern mit heterogenen CPU-Implementierungen zu brauchbaren Aussagen zu kommen. Der Administrator ordnet nach diesem System Anwendungen einfach einen hardwareabstrakten Bedarf an Integer-Performance zu; OSL Storage Cluster identifiziert entsprechende Systeme mit ausreichend freien CPU-Ressourcen. Diese hardwareabstrakte Größe zur Beurteilung der Rechenleistung für Ganzzahl-Operationen nennen wir "Relative Integer Performance" - RIP.

Der Benchmark im Detail

Die meisten existierenden Benchmarks sind eine Mischung aus verschiedensten Lastprofilen. Im günstigsten Fall erlaubt dies Rückschlüsse auf die Performance von Anwendungen mit ähnlichen Lastanforderungen. Oft werden allerdings auch unerwünschte Größen miterfasst (etwa Float- oder IO-Anteile in einem Integer-Benchmark) oder es ist schwer zu ermitteln, welche Faktoren zu einem guten bzw. schlechten Ergebnis beitragen.

Der RIP-Benchmark ist daraufhin ausgelegt worden, eine möglichst unverfälschte Aussage zur Performance eines Systems bei bestimmten Integeroperationen zu erhalten. Dabei spielen die Leistungsfähigkeit der CPU, der Speicheranbindung und die Multitasking-Fähigkeiten des Systems eine Rolle. Der Benchmark liefert sowohl Werte für die Geschwindigkeit eines einzelnen Prozesses/Threads als auch für die parallele Ausführung. Dabei ist er so gestaltet, dass sich bei paralleler Ausführung ein deutliches Maximum bei der optimalen Parallelität ergibt. Der RIP-Benchmark enthält ausschließlich Integeroperationen und Anweisungen zur Speicherverwaltung. Disk-IO-Anteile sind ausgeschlossen, der Zugriff auf den Hauptspeicher hat im Vergleich zu Caches (1st/2nd-level) einen stärkeren Einfluß, der Einfluß anderer Programme und des OS-Schedulers wird minimiert.

Da Integeroperationen üblicherweise 32Bit-Datentypen betreffen, in modernen Anwendungen aber auch zunehmend 64 Bit breite Integertypen verwendet werden, liefert der Benchmark für beide Typen entsprechende Werte. Je nach verwendetem Datentyp lassen sich damit gut vergleichbare Aussagen über die Leistungsfähigkeit eines Systems bei Operationen mit dem jeweiligen klar definierten Datentyp gewinnen und brauchbare Prognosen für die Performance entsprechender Programme erstellen.
Etliche Anwendungen arbeiten ausschließlich mit 32Bit-Integertypen, eine zunehmende Zahl verwendet daneben auch long bzw. long long Datentypen mit 64 Bit. Eine ausschließliche Verwendung von 64Bit-Integern ist bei Applikationen jedoch die absolute Ausnahme. Um dennoch eine brauchbare Aussage für Anwendungen mit gemischten Typen zu gewinnen, wird neben den gemessen Werten ein abgeleiteter Wert errechnet: RIPmix. Er ist das geometrische Mittel der jeweiligen Meßwerte und umso besser, je dichter 32Bit- und 64Bit-Performance beieinander liegen.
Die Messwerte werden in einen Bezug zu einem Vergleichswert gesetzt und sind damit dimensionslos. Ein Wert von 1 entspricht der angenommenen 32Bit-Integer Performance eines Intel Pentium mit 100MHz Taktung. Für den 64Bit-Benchmark ist der Wert dann gleich groß, wenn die 64Bit-Operationen mit derselben Geschwindigkeit ausgeführt werden, wie die 32Bit-Operationen. Für ein komplett in 32Bit-Technik ausgelegtes System bedeutet das in der Regel die halbe Performance für die 64Bit-Typen (long long).

Damit liefert der RIP-Benchmark folgende 6 Werte:

RIP32-SPsingle processInteger-Performance (32Bit) mit einem einzelnen Prozess bzw. Thread
RIP64-SPsingle processInteger-Performance (64Bit) mit einem einzelnen Prozess bzw. Thread
RIPmix-SPsingle processerrechnete Integer-Performance für Mix aus 32Bit- und 64Bit-Operationen mit einem einzelnen Prozess bzw. Thread
RIP32-MPmultiprocessmit mehreren Prozessen/Threads erreichbare maximale Integer-Performance (32Bit)
RIP64-MPmultiprocessmit mehreren Prozessen/Threads erreichbare maximale Integer-Performance (64Bit)
RIPmix-MPmultitprocesserrechnete, mit mehreren Prozessen/Threads erreichbare maximale Integer-Performance für Mix aus 32Bit- und 64Bit-Operationen

Ergebnisse

Nachfolgend eine Auswahl getesteter Systeme.
Für die Multi-Process-Meßwerte gibt die Spalte Procs an, mit wievielen Prozessen die maximale Gesamt-Performance erreicht wird.

Hersteller/ModellCPUSingle ProcessMulti ProcessSAPS
TypTakt (MHz)AnzahlRIP32RIP64RIPmixProcsRIP32RIP64RIPmix
FSC Esprimo E5615AMD Athlon(tm) 64 X22612117,0611,8614,22234,1223,5028,320000
FSC Esprimo E5730Intel(r) Core(tm)2 Duo E84003000173,2727,6845,032146,5454,1589,080000
FSC Esprimo E7935Intel(r) Core(tm)2 Duo E84003000173,2727,6845,032146,5454,1589,080000
FSC Esprimo E7935Intel(r) Core(tm)2 Quad Q95502832169,2025,9542,384249,1297,69156,000000
FSC Esprimo EditionIntel Pentium 4 (HT)3200124,4211,1216,48230,3815,6621,810000
FSC Esprimo Q5020Intel Core 2 Duo T72502000131,1413,8420,76260,7627,3740,770000
FSC Lifebook S7010Intel Pentium M600*18,244,125,8318,244,125,830000
FSC Lifebook S7010Intel Pentium M1600122,2410,9215,58122,2410,9215,580000
FSC Lifebook S7220Intel Intel(r) Core(tm)2 Duo P86002400159,3122,2436,322113,2343,7070,340000
FSC PRIMEPOWER 250SPARC64 V110026,9911,979,15213,9923,7218,220000
FSC PRIMEPOWER 250SPARC64 V164919,8017,7913,2019,8017,7913,200000
FSC PRIMEPOWER 250SPARC64 V1979211,7521,4715,88223,5042,2231,500000
FSC PRIMEPOWER 450SPARC64 V110047,0312,099,22427,6845,7135,570000
FSC PRIMEPOWER 450SPARC64 V1978311,7521,8516,02334,7262,8046,690000
FSC PRIMEPOWER 450SPARC64 V1978411,7521,8516,02446,5684,4462,700000
FSC PRIMEPOWER 650SPARC64 GP67527,419,888,56214,9119,4617,030000
FSC PRIMEPOWER 650SPARC64 V134988,6515,0011,39868,25113,2387,910000
FSC PRIMEPOWER 650SPARC64 V2159813,9923,0617,968109,50171,80137,160000
FSC PRIMEPOWER 1500SPARC64 V2159813,8423,0617,868108,31153,30128,860000
FSC Primergy RX100S5Intel Xeon E31102992173,2727,6845,032146,5454,1589,080000
Fujitsu RX350 S7Intel Xeon E5-2630L (HT=on)2000249,8223,0633,8948591,96295,98418,570000
Fujitsu Primergy TX200S5**Intel Xeon E5520 (HT=off)2267236,6323,9529,6216398,59168,89259,460000
Fujitsu Primergy TX200S5**Intel Xeon E5520 (HT=on)2267237,7424,4230,3632442,88201,30298,580000
FSC SCALEO 400Intel Celeron2222119,168,1912,53119,168,1912,530000
FSC SPARC Enterprise Server M4000**SPARC64 VI2150414,8223,5018,661697,5299,6498,570000
FSC SPARC Enterprise Server M9000**SPARC64 VI24003216,6027,0721,20128972,171511,241212,100000
HP ProLiant DL360 G6Intel Xeon 56002267145,2021,7431,3532229,10111,24159,670000
HP ProLiant DL385 G1AMD Opteron 2542800218,3112,7115,26236,6325,4230,510000
HP ProLiant DL580 G7Intel Xeon E7-88372667424,9110,5516,21128346,60174,24245,740000
HP ProLiant DL585 G1AMD Opteron 8522600217,0611,8614,22467,3246,1355,730000
HP ProLiant DL585 G2AMD Opteron 82162411415,7610,8313,068118,6280,3697,630000
Sun Blade T6320UltraSPARC T2116515,278,146,55128188,86224.87206,080000
Sun SunBlade 150UltraSPARC IIi65014,003,023,4714,003,023,470000
Sun SPARC Enterprise Server M3000SPARC64-VII2520116,3826,5020,83879,08119,3397,140000
Sun SPARC Enterprise Server M4000SPARC64-VII2400415,5724,9119,6932284,70424,03347,450000
Sun SPARC Enterprise Server M5000SPARC64-VII2400415,5724,4219,5032280,69406,72337,880000
Sun SPARC Enterprise Server M8000SPARC64-VII2520816,17  128599,38748,52669,810000
Sun SPARC Enterprise Server T2000UltraSPARC T1100013,714,053,883253,7153,5053,600000
Sun SPARC Enterprise Server T5140UltraSPARC T2 Plus116725,278,246,59256381,82427,30403,920000
Sun SPARC Enterprise Server T5240UltraSPARC T2 Plus116525,308,356,65256385,07445,35414,110000
SPARC T4-2 Server (128GB)SPARC T42848212,2140,1821,69512748,52776,59762,410000
SPARC T4-2 Server (512GB)***SPARC T42848212,2138,9221,80512548,09596,19571,630000
SPARC T4-4 ServerSPARC T43000413,1142,9523,7310241635,241547,931590.980000
Sun SunFire V20zAMD Opteron 2442191214,159,9611,88228.3019,7723,650000
Sun SunFire V440SPARC IIIi106225,904,645,23211,428,8810,070000
Sun SunFire V880SPARC III+106246,885,516,16427,5221,8524,520000
Sun SunFire V890UltraSPARC IV+150048,53n.A.n.A.867,7853,8660,420000
Sun W 1100zAMD Opteron 1441800111,758,149,77111,758,149,770000
Sun SunFire X 2200 M2AMD Opteron 22142211214,4810,0412,06456,6139,2347,120000

*Reduzierter CPU-Takt (Speed Step) **vorl. Mittelwerte da untersch. Verhalten usr/sys ***RAM Ausbau (switched RAM Access) mit signifikantem Einfluß auf Integerperformance

Bitte beachten Sie, dass die Tabelle die Systeme nicht vollständig beschreibt und sich je nach Konfiguration z.T. deutlich abweichende Werte ergeben können. Es ist für keines der Systeme eine besondere Kompilation des Benchmarks verwendet worden. OSL weist ausdrücklich darauf hin, dass damit Konsistenz und Fairness der Benchmarks im wettbewerbsrechtlichen Sinne nicht garantiert sind. Eine Verwendung der Werte außerhalb der Clustermechanismen von OSL Storage Cluster ist nur zu persönlichen Zwecken gestattet. Jede andere Verwendung - insbesondere für Wettbewerbsvergleiche - weicht von der Zielsetzung des Benchmarks ab und ist nur im Ausnahmefall mit vorheriger schriftlicher Genehmigung durch OSL zulässig. Von den jeweiligen Herstellern autorisierte andere Benchmarks mit einer exakten Beschreibung der Systemkonfiguration und der Testbedingungen finden Sie z. B. unter http://www.spec.org.