suva Adcubum Java Test Java Performance Test on POWER 7 Java Performance Messungen mit "Adcubum-Test" Author: Erich Geiger / Kurt Kühnis Owner: Erich Geiger Dated 19. Oktober 2012 - Version 2.4 Final © IBM Corporation 2012 suva Adcubum Java Test Java Performance Messungen mit "Adcubum-Test" Dokument Information Dokument Verzeichnis Das Dokument ist in dem folgendem Verzeichnis abgelegt. C:\Documents and Settings\Administrator\My Documents\repo\kunde\suva\Test_IIC\Test_IIC_07102011\Java_messung_suva_191012.odt Revision Datum von der Revision 19. Oktober 2012 Datum von der nächsten Revision Version Revisions Beschreibung Datum 1.7 Draft 1.9 Draft 2.0 Final 2.1 Final 2.2 Final 2.3 Final 2.4 Final 05.01.12 06.01.12 09.01.12 12.01.12 24.01.12 19.10.12 Veränder ungen Initial Version Revision Version Final Version Type correction Appendix A changes Update Seite 2,5,15 und 17 Update Seite 5,Kapitel 4.5,4,6,4.7,4.8 Verteilung Dieses Dokument wird an die folgenden Personen verteilt: Name Title suva Project Manager IBM Project Manager Heinrich Zwimpfer (suva) Erich Geiger (IBM), Urs Witzig (IBM), Kurt Kühnis (IBM), Berthold Kelz (IBM), Thomas Schulz-Bachmann (IBM) Dated 19. Oktober 2012 - Version: 2.4 Final Printed 19 October 2012 - © IBM Corporation 2012 Page 2 of 18 suva Adcubum Java Test Java Performance Messungen mit "Adcubum-Test" Contents 1 Einleitung............................................................................................................................4 1.1 Ausgangslage..........................................................................................................................................4 1.2 Adcubum Testeigenheiten.......................................................................................................................4 2 Management Summary.......................................................................................................5 3 Der Test...............................................................................................................................7 3.1 Testziel....................................................................................................................................................7 3.2 Testansprüche.........................................................................................................................................8 3.3 Testbeschreibung....................................................................................................................................8 3.4 Testeinstellungen.....................................................................................................................................9 4 Performance Testresultate................................................................................................11 4.1 Oracle Version.......................................................................................................................................11 4.2 Logical CPU / Memory...........................................................................................................................11 4.3 Operating System..................................................................................................................................11 4.4 Java Version..........................................................................................................................................11 4.5 Logdateien Messung 28.09.2011 (Basis)..............................................................................................12 4.6 Logdateien Messung 28.09.2011 (Optimierung 1)................................................................................13 4.7 Logdateien Messung 07.10.2011 (Optimierung 2)................................................................................14 4.8 Logdateien Messung 07.10.2011 (Optimierung 3)................................................................................16 5 Appendix A........................................................................................................................18 Dated 19. Oktober 2012 - Version: 2.4 Final Printed 19 October 2012 - © IBM Corporation 2012 Page 3 of 18 suva Adcubum Java Test Java Performance Messungen mit "Adcubum-Test" 1 Einleitung Zweck des Tests: Leistungstest des von der Firma Adcubum programmierten Java Test Programm auf POWER7 Systems. Dieser Test wurde darauf ausgelegt, die Leistungsfähigkeit einer wichtigen Systemkomponente, der Java Virtual Machine (JVM) auf einer LPAR zu testen. 1.1 Ausgangslage Aufgrund unerklärlichen Diskrepanzen zu den offiziellen SPECjbb2005-Performance-Zahlen und der schlechten CPU Auslastungen während des „Adcubum-Tests“ plus der ungenügenden Resultate von Leistungstests im 2010 und September 2011 entstand die Absicht, mit einer neuerlichen Messung mit optimierter Testumgebung die Resultate wesentlich zu verbessern. Die Tests fanden im IBM Innovation Center (IIC) Zürich auf einem IBM Power 770 mit POWER7 Prozessortechnologie statt. Kommentar zur Systemumgebung: • Es wurde für alle Messungen immer derselbe „Adcubum-Test“ verwendet, welcher versucht die Systembelastung der SYRIUS-Anwendung zu simulieren. • Die erzeugte Last wurde während der ganzen Testphase in Logfiles dokumentiert. Mit den Tests wurden die idealen Einstellungen der AIX logischen Partition (LPAR) und der Java Virtual Machine (JVM) ermittelt. 1.2 Adcubum Testeigenheiten • Sehr stark Fixed Point Unit und Memory (RAM) abhängig. • Es wird ein sehr kleiner Teil der von den zur Verfügung gestellten Recheneinheiten belastet, da nur Fixed Point Unit Operationen involviert sind. • In einer produktiven Betriebsumgebung wird nicht nur eine AIX LPAR belastet, sondern mehrere. Dadurch ist es möglich gleichzeitig andere Anwendungen, ohne merkliche Leistungseinbussen, zusätzlich zu betreiben. • Der Test liefert keine Kenngrössen zu der zu erwartenden „Gesamtperformance“ eines Systems. Dated 19. Oktober 2012 - Version: 2.4 Final Printed 19 October 2012 - © IBM Corporation 2012 Page 4 of 18 suva Adcubum Java Test Java Performance Messungen mit "Adcubum-Test" 2 Management Summary Aufgrund unerklärlichen Diskrepanzen zu den offiziellen SPECjbb2005-Performance-Zahlen und der schlechten CPU Auslastungen während des „Adcubum-Tests“ wurden mit erneuten Test-Reihen die Performance Zahlen massgeblich verbessert. Durch das Parallelisieren von der Java Virtual Machine (JVM) und der Optimierung von diversen Systemeinstellungen (AIX + Java) wurden markante Leistungssteigerungen gegenüber den früheren Messungen erzielt. Es konnte aufgezeigt werden, dass wenn mehrere Logical CPU's (LCPU's) benutzt werden auch die Anzahl Java Virtual Machines (JVM) erhöht werden muss, damit eine gute Verteilung der LCPU Last stattfindet. Dieses Vorgehen empfiehlt IBM im allgemein zugänglichen IBM Whitepaper von „Java Performance on POWER7- Best Practice“. Durch die Tests konnte auch aufgezeigt werden, dass ein völlig lineares Verhalten von der CPU Performance erreicht werden kann, welche abhängig ist von der Anzahl Core's. Somit ist bei einer Erhöhung der Anzahl Core's eine entsprechende Leistungssteigerung leicht zu erzielen. Die Messung der Testläufe zeigt eine sehr gute Leistung von 9.37 Zeilen pro Sekunde, welche mit 8 Core's (32 LCPU's) und einer Last von parallel 8x 1000 Zeilen erzielt wurde. ZpS = Zeilen pro Sekunde (werden aus dem „Adcubum-Test“ erzeugt und gemessen) JVM = Java Virtual Maschine 1000 Zeilen = Anzahl Linien im Input File (Inputfile welches für den „Adcubum-Test“ gebraucht wurde.) Alte Messung 28.09.2011 Neue Messung 07.10.2011 8 Core 9.37 Zps 4 Core 8 JVM 4.76 Zps 4 Core Page 1 Page 1 Basis Optimierung 1 (ohne Optimierung) (Basis+Java+AIX) 1000 Zeilen 1000 Zeilen 1000 Zeilen 1000 Zeilen 1000 Zeilen 1000 Zeilen 1000 Zeilen 1000 Zeilen 1000 Zeilen 1000 Zeilen 1 JVM 1000 Zeilen 1 JVM 1000 Zeilen 4 JVM 1000 Zeilen 1.14 Zps 2.2 Zps 1000 Zeilen 2 Core Optimierung 2 (Opt1+Parallelisierung JVM) Dated 19. Oktober 2012 - Version: 2.4 Final Printed 19 October 2012 - © IBM Corporation 2012 Optimierung 3 (Opt2+Skalierung CPU) Page 5 of 18 suva Adcubum Java Test Java Performance Messungen mit "Adcubum-Test" Folgende technische Alleinstellungsmerkmale der IBM Power Systems Familie tragen wesentlich zum optimalen Betrieb von Anwendungen bei: • Gleichzeitiges Abarbeiten von Prozessen durch Simultaneous Multi-Threading (SMT4). • Gruppierung und Parallelisierung von der Java Virtual Machine (JVM) an Logical CPU's (LCPU's). • Partitionierung des Systems mit „Logical Partition“ (LPAR). • Mehrfachbenutzung der CPU Leistung durch „Micropartitionning“. • „Best in Class“ Virtualisierung Virtualisierungsmethode im Markt. von CPU/Core's mittels PowerVM, der anerkannt besten Zusätzlich bieten IBM Power Systems folgende technische Vorzüge im Vergleich zu „x86 Systemen“ : • Extrem effizientes Strom-Management. • Höchstmögliche System-Sicherheit. • Minimalisierung von Anwendungs-Software Lizenzkosten durch Definition von CPU Pools. • Extrem hohe Verlässlichkeit, Verfügbarkeit und Benutzerfreundlichkeit, auch als Reliabilty, Availability, Serviceability (RAS) bekannt. • Erwähnenswert sind auch die tiefen totalen Betriebskosten (TCO) von Power Systemen gegenüber x86 Lösungen. From “VALUE PROPOSITION FOR AIX ON IBM POWER SYSTEMS : OWNERSHIP EXPERIENCES COMPARED WITH LINUX ON COMMODITY X86-BASED SERVERS” International Technology Group ©2010 Dated 19. Oktober 2012 - Version: 2.4 Final Printed 19 October 2012 - © IBM Corporation 2012 Page 6 of 18 suva Adcubum Java Test Java Performance Messungen mit "Adcubum-Test" 3 Der Test Die „Adcubum-Test“ Reihen wurden in dem IBM Innovation Center (IIC) durchgeführt. Die Messungen wurden zusammen im Team mit der suva durchgeführt: Lukas Wymann (SUVA) Jüren Voss (SUVA) Pawel Kukiela (SUVA) Erich Geiger (IBM) Urs Witzig (IBM) 3.1 Testziel Der „Adcubum-Test“ wurde auf einer IBM Power System Plattform, dem möglichen Zielsystem der suva durchgeführt. Das Sizing der gewählten AIX LPAR kann jederzeit justiert und an die entsprechenden Gegebenheiten angepasst werden. Test „Milestones“: • Laufzeit- und Last-Messungen von dem Java „Adcubum-Test“. • Skalierung von der AIX LPAR. (CPU,Memory, usw.) • Ansprechverhalten von der AIX LPAR während den Testläufen. Detaillierte Testziele: • Erreichen einer optimierten Auslastung auf der Java Virtual Machine (JVM). • Emulieren des Adcubum SYRIUS Lastverhalten. • Erzeugen einer hohen JVM-Last. • Lineares Skalieren der AIX LPAR und der Java Virtual Machine (JVM) unter Last. • Verstehen der Auswirkung diverser AIX/JVM-Parameter auf die AIX LPAR und der Java Virtual Machine (JVM). • Verstehen der Auswirkungen bei Überlast-Situation auf der AIX LPAR. • Verstehen des Einflusses vom Einsatz von „Simultaneous Multi-Threading“ (SMT4). • Ermitteln der Laufzeit-Zahlen „Zeilen pro Sekunde“ (Zps). • Vergleichbarkeit der ermittelten Laufzeit-Zahlen mit anderen Computer Plattformen. Dated 19. Oktober 2012 - Version: 2.4 Final Printed 19 October 2012 - © IBM Corporation 2012 Page 7 of 18 suva Adcubum Java Test Java Performance Messungen mit "Adcubum-Test" 3.2 Testansprüche Damit der „Adcubum-Test“ zwischen verschiedenen Plattformen vergleichbar ist, müsste der „Source-Code“ des „Adcubum-Test“ offen gelegt werden. Dieses ist leider nicht der Fall, da der Code von dem „AdcubumTest“ nicht vorhanden ist. Die Messungen müssen nachvollziehbar sein und die Konfiguration und Einstellungen müssen mit denselben Einstellungen durchgeführt und dokumentiert werden. Die „Adcubum-Test“ Laufzeiten werden gemessen und die erzeugten Logfiles müssen pro Testlauf abgelegt werden. Es muss ein Dokument erstellt werden, welches die jeweilige Testreihen beschreibt. 3.3 Testbeschreibung Die Messungen in der Vergangenheit haben aufgezeigt, dass für eine realistische Messung mit dem „Adcubum-Test“ eine genügend grosse Last erzeugt werden muss, um die CPU/Core's ausreichend zu belasten. Der „Adcubum-Test“ hat die Absicht die Auslastung auf einer AIX LPAR von der Java Virtual Machine (JVM) zu testen und das jeweilige Antwortzeitverhalten zu messen. Die Anwendung SYRIUS, welche von Adcubum geliefert wird, ist stark von der Leistungsfähigkeit der Java Virtual Machine (JVM) abhängig. Die Tests wurden auf einem IBM Power 770, des IBM Innovation Centers (IIC) durchgeführt. • Der „Adcubum-Test“ ist sehr stark „Fixed Point Unit“ und Memory (RAM) abhängig. • Der „Adubum-Test“ belastet nur einen sehr kleinen Teil der von einer POWER7 Prozessor zur Verfügung gestellten Recheneinheiten, nur die „Fixed Point Units“ Einheiten wurden stark belastet. • Durch die Durchführung der Tests wurden ideale Einstellungen von der AIX LPAR und der Java Virtual Machine (JVM) ermittelt. • In einem zukünftigen produktiven Umfeld werden durch das Mischen von verschiedenen Anwendungen auf den LPAR's unterschiedliche Last-Muster erzeugt. Diese Last-Muster werden von den zur Verfügung stehenden Core's abgearbeitet, was mit dem „Adcubum-Test“ nicht berücksichtigt wurde/wird. • Die gesamte CPU Performance, welche ein POWER7 System zur Verfügung stellt (Einsatz aller LPAR's), konnte mit dem „Adcubum-Test“ nicht ermittelt werden. Dated 19. Oktober 2012 - Version: 2.4 Final Printed 19 October 2012 - © IBM Corporation 2012 Page 8 of 18 suva Adcubum Java Test Java Performance Messungen mit "Adcubum-Test" Beim „Adcubum-Test“ handelt es sich nicht um eine komplette Simulation vom zu erwartenden gesamten Lastverhalten, da nur 2 Fixed Point Units (rot markiert) auf den CPU Core's belastet werden. Somit ist es nicht möglich, eine absolute Aussage betreffend der Gesamtauslastung des Systems zu machen. Alle weiteren Units (mit schwarzer Box markiert) auf dem Core (2x „Load Store“, 4x „Double Precision Floating Point“, 1x „Vector Unit“, 1x „Branch“, 1x „Condition Register“, 1x „Decimal Floating Point“) werden/wurden mit diesem „Adcubum-Test“ nicht ausgelastet. Core-Layout: 3.4 Testeinstellungen Die Virtualisierung auf dem IBM Power 770 des IBM Innovation Centers war während allen „Adcubum-Test“ immer voll verfügbar. Das bedeutet, dass die Core's, welche dem Adcubum-Test-LPAR zur Verfügung gestellt wurden, gleichzeitig von anderen unbekannten LPAR's benutzt wurden, da das System nicht exklusiv für diesen Test arbeitete. Der ganze Betrieb rund um die POWER7 Test Maschine wurde nicht unterbrochen oder eingeschränkt. Das Simultaneous Multi-Threading (SMT4) war eingeschaltet, obwohl ein leichter Leistungsgewinn ohne SMT4 zu erzielen wäre. In einem produktiven Umfeld, wo nicht nur „Fixed Point Units“ von den Core's belastet werden, hilft Simultaneous Multi-Threading (SMT4) den gesamten Durchsatz des Systems zu steigern. Sobald zwei oder mehr Core's verwendet werden, was mit eingeschaltetem Simultaneous Multi-Threading (SMT4) 8 Logical CPU's ergibt, kann eine Vollauslastung von den zur Verfügung stehenden Logical CPU's mit den vorhanden „Adcubum-Test“ Einstellungen nicht mehr erzeugt werden. Wenn der „Adcubum-Test“ auf mehr als zwei Core's läuft ist für das nötige Erzeugen einer hohen CPU Last, die Verteilung auf mehrere Java Virtual Maschine (JVM) zwingend notwendig. Dabei wird jeder Java Virtual Machine (JVM) eine bestimmte Anzahl Logical CPU's zugeteilt, damit wird ein paralles Abarbeiten der CPU Dated 19. Oktober 2012 - Version: 2.4 Final Printed 19 October 2012 - © IBM Corporation 2012 Page 9 of 18 suva Adcubum Java Test Java Performance Messungen mit "Adcubum-Test" Last auf mehrere Java Virtual Machine (JVM) möglich. Dieses Vorgehen empfiehlt IBM im allgemein zugänglichen Whitepaper von „Java Performance on POWER7- Best Practice“. Zuteilung der Logical CPU's als Beispiel für 4 Core's = 16 LCPU's: - 8 LCPU's für die erste Java Virtual Machine (JVM) - 8 LCPU's für die zweite Java Virtual Machine (JVM) Im IBM Whitepaper „Java Performance on POWER7- Best Practice“ wird ein Anbinden von maximal 2 Core's (8 LCPU's) pro Java Virtual Maschine (JVM) empfohlen. Damit wird gewährleistet, dass die Streuung auf die zur Verfügung stehenden Prozessoren der Java Virtual Maschine (JVM), nicht zu gross wird. Mit dem „Anbinden“ der LCPU's lässt sich eine gute Last-Verteilung auf alle zur Verfügung stehenden Java Virtual Maschine (JVM) gewährleisten, welche dadurch sehr gut skalieren. Die Zuordnung der LCPU's an die zur Verfügung stehenden Java Virtual Machine (JVM) Engines ist nur für Java-Anwendungen gültig. Alle anderen in der AIX-LPAR laufenden Prozesse sind von dieser Zuordnung nicht betroffen und können somit die ganze Bandbreite aller, der LPAR zugeordneten LCPU's, uneingeschränkt nutzen. Adcubum Java Test Bemerkungen: • Das Script für den Test, lässt verschiedene Start-Parameter zu. • Nach Durchführung des Testlaufes wurden die Laufzeiten gemessen und die Logfiles gesammelt. • Der Test wurde jeweils zweimal mit den gleichen Start-Parametern kurz nacheinander gestartet. Das erste Mal für den “Warmup” und das zweite Mal um die Performance-Daten zu sammeln. Der zweite Start ist notwendig, um das Buffer/Cache-File-Verhalten, welches beim ersten Lauf aufgebaut wird, zu eliminieren. • Alle Daten wurden gesammelt und in einer Excel-Tabelle ausgewertet. Die folgenden Tools wurden für die Messungen verwendet: • „mpstat“ ( AIX Kommando für die Durchsatz Messung ) • „time“ ( AIX Kommando für die Laufzeitmessung ) Dated 19. Oktober 2012 - Version: 2.4 Final Printed 19 October 2012 - © IBM Corporation 2012 Page 10 of 18 suva Adcubum Java Test Java Performance Messungen mit "Adcubum-Test" 4 Performance Testresultate 4.1 Oracle Version Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 – 64bit Production PL/SQL Release 11.2.0.1.0 4.2 Logical CPU / Memory System Model: IBM,9117-MMB Machine Serial Number: 100AA9P Processor Type: PowerPC_POWER7 Processor Implementation Mode: POWER 7 Processor Version: PV_7_Compat Number Of Processors: 4 - 16 Processor Clock Speed: 3108 MHz CPU Type: 64-bit Kernel Type: 64-bit LPAR Info: 21 lpiic01p7 Memory Size: 32768 MB - 70000MB Good Memory Size: 32768 MB - 70000MB Platform Firmware level: AM710_099 Firmware Version: IBM,AM710_099 Console Login: enable Auto Restart: true Full Core: false 4.3 Operating System AIX Version 6.1 Technical Level 06, Service Pack 05. 6100-06-05-1115 4.4 Java Version Java version "1.6.0" Java(TM) SE Runtime Environment (build pap6460sr9fp1-20110208_03(SR9 FP1)) IBM J9 VM (build 2.4, JRE 1.6.0 IBM J9 2.4 AIX ppc64-64 jvmap6460sr9-20110203_74623 (JIT enabled, AOT enabled) J9VM - 20110203_074623 JIT - r9_20101028_17488ifx3 GC - 20101027_AA) JCL - 20110203_01 Dated 19. Oktober 2012 - Version: 2.4 Final Printed 19 October 2012 - © IBM Corporation 2012 Page 11 of 18 suva Adcubum Java Test Java Performance Messungen mit "Adcubum-Test" 4.5 Logdateien Messung 28.09.2011 (Basis) Anbei die Übersicht der Parameter des „Adcubum-Tests“, welcher ohne Optimierung von AIX + Java und ohne Parallelisieren von der JVM Engines, abgelaufen ist. Diese Tests sind mit default AIX und Java Einstellungen durchgeführt worden. Die Gesamtverarbeitungsmenge war in diesem Fall 1000. (Gesamtverarbeitungsmenge=JVMEnginees x Anzahl Zeilen Inputfile) (1000 = 1 x 1000) Gemäss Log Datei „ibm_perftest_iic_add_IBM_280911.xls“ (Laufnummer 2) Alte Messung 28.09.2011 (Basis ohne Optimierung) Laufnummer Hardware CPU Type CPU Takt CPU Anzahl Logische CPUs Memory Paging Betriebssystem AIX Version Patch Level Large Pages for Java Heap and Code Cache HW data prefetch Appserver Version IBM Java 64 bit Syrius Version Appserver Xmx Parameter Xms Xmns Xmnx Xjit:verbose Xx:maxpermsize Xgcpolicy:gencon Server Large Pages for Java Heap and Code Cache Xcompressedrefs execrset Memory_Affinity Prefetch Batch BurnCPU Parameter Threads Laufzeit (Min:Sek) Laufzeit (Sekunden) Inputfile Dated 19. Oktober 2012 - Version: 2.4 Final Printed 19 October 2012 - © IBM Corporation 2012 2 P7 3108 2 (capped) 8 (SMT=on) 32 GB 8 GB 6.1, ML6 6100-06-05-1115 10.3.4 1.6.0 SR9 FP1 RC1-3.01.01 8G ➼ na ➼ ➼ Xlp64k 1 2 12:14:41 AM 881 Small.txt Page 12 of 18 suva Adcubum Java Test Java Performance Messungen mit "Adcubum-Test" Zeilen im Inputfile Zeilen pro Sekunde JVMEnginees LCPU's per JVM 1000 1.14 Resultat: • 4.6 Referenz Messung mit denselben Werten (Zeilen pro Sekunde), welche auch schon in früheren „Adcubum-Tests“ (2010) gemessen worden sind. Logdateien Messung 28.09.2011 (Optimierung 1) Anbei die Übersicht der Parameter des „Adcubum-Tests“, welcher mit Java+AIX Optimierung, aber ohne Parallelisieren von der JVM Engines abgelaufen ist. Die Gesamtverarbeitungsmenge war in diesem Fall 1000. (Gesamtverarbeitungsmenge=JVMEnginees x Anzahl Zeilen Inputfile) (1000 = 1 x 1000) Gemäss Log Datei „ibm_perftest_iic_add_IBM_280911.xls“ (Laufnummer 20) Alte Messung 28.09.2011 (Basis +Java + AIX Optimierung) Laufnummer Hardware CPU Type CPU Takt CPU Anzahl Logische CPUs Memory Paging Betriebssystem AIX Version Patch Level Large Pages for Java Heap and Code Cache HW data prefetch Appserver Version IBM Java 64 bit Syrius Version Appserver Xmx Parameter Xms Xmns Xmnx Xjit:verbose Xx:maxpermsize Xgcpolicy:gencon Server Large Pages for Java Heap and Code Cache Xcompressedrefs Dated 19. Oktober 2012 - Version: 2.4 Final Printed 19 October 2012 - © IBM Corporation 2012 20 P7 3108 4 (capped) 16 (SMT=on) 32 GB 8 GB 6.1, ML6 6100-06-05-1115 lgpg_size=16M dscrctl –n –s 1 3.10.2004 1.6.0 SR9 FP1 RC1-3.01.01 8G 8G 4G 4G ➼ na ➼ ➼ Xlp16M ✍ Page 13 of 18 suva Adcubum Java Test Java Performance Messungen mit "Adcubum-Test" Batch Parameter execrset Memory_Affinity Prefetch BurnCPU -c 0-7 -e MCM XtlhPrefetch 1 Threads Laufzeit (Min:Sek) Laufzeit (Sekunden) Inputfile Zeilen im Inputfile Zeilen pro Sekunde JVMEnginees LCPU's per JVM 10 0:07:35 455 Small.txt 1000 2.2 Resultat: • Der Durchsatz „Zeilen pro Sekunde“ konnte gegenüber von dem Test "Basis" um 3% Prozent verbessert werden. • Vorhandene Logical CPU's konnten nicht voll belastet und benutzt werden. 4.7 Logdateien Messung 07.10.2011 (Optimierung 2) Anbei die Übersicht der Parameter des „Adcubum-Tests“, welcher mit Java+AIX Optimierung, und mit Parallelisieren von den JVM Engines abgelaufen ist. Die Einstellungen wurden gemäss den Richtlinien von dem IBM Whitepaper „Java Performance on POWER7- Best Practice“ durchgeführt. Die Gesamtverarbeitungsmenge war in diesem Fall 4000. (Gesamtverarbeitungsmenge=JVM Enginees x Anzahl Zeilen Inputfile) (4000 = 4 x 1000) Gemäss Log Datei „ibm_perftest_iic_add_IBM_071011.xls“ (Laufnummer 34) Neue Messung 07.10.2011 (+Java + AIX Opt. + Parallelisieren JVM) Laufnummer Hardware CPU Type CPU Takt CPU Anzahl Logische CPUs Memory Paging Betriebssystem AIX Version Patch Level Large Pages for Java Heap and Code Cache HW data prefetch Appserver Version IBM Java 64 bit 34 P7 3108 4 (capped) 16 (SMT=on) 70GB 8 GB 6.1, ML6 6100-06-05-1115 lgpg_size=16M Dated 19. Oktober 2012 - Version: 2.4 Final Printed 19 October 2012 - © IBM Corporation 2012 dscrctl –n –s 1 10.3.4 1.6.0 SR9 FP1 Page 14 of 18 suva Adcubum Java Test Java Performance Messungen mit "Adcubum-Test" Syrius Appserver Parameter Batch Parameter Version Xmx Xms Xmns Xmnx Xjit:verbose Xx:maxpermsize Xgcpolicy:gencon Server Large Pages for Java Heap and Code Cache Xcompressedrefs execrset Memory_Affinity Prefetch BurnCPU RC1-3.01.01 8G 8G 4G 4G ➼ na ➼ ➼ Xlp16M -c 0-3 -e /-c 4-7 / -c 8-11 / -c 12-15 -e MCM 1 Laufzeit (Min:Sek) Laufzeit (Sekunden) Inputfile Zeilen im Inputfile Zeilen pro Sekunde execrset JVMEnginees LCPU's per JVM 00:13:59 839.8225 Small.txt 1000 4.76 ja 4 4 Resultat: • Der Durchsatz „Zeilen pro Sekunde“ konnte gegenüber von dem Test "Optimierung 1" um 100 % Prozent verbessert werden. • Alle Logical CPU's konnten voll genutzt und belastet werden. • Trotz Vollauslastung von den vorhanden CPU's wurde immer noch ein gutes ansprechverhalten von dem gesamt System festgestellt. Dated 19. Oktober 2012 - Version: 2.4 Final Printed 19 October 2012 - © IBM Corporation 2012 Page 15 of 18 suva Adcubum Java Test Java Performance Messungen mit "Adcubum-Test" 4.8 Logdateien Messung 07.10.2011 (Optimierung 3) Anbei die Übersicht der Parameter des „Adcubum-Tests“ welcher mit Java+AIX Optimierung und mit Parallelisieren von der JVM Engines abgelaufen ist, hier wurde nun zusätzlich noch die Skalierung von den CPU Core's miteinbezogen. Die Gesamtverarbeitungsmenge war in diesem Fall 8000. (Gesamtverarbeitungsmenge=JVMEnginees x Anzahl Zeilen Inputfile) (8000 = 8 x 1000) Gemäss Log Datei „ibm_perftest_iic_add_IBM_071011.xls“ (Laufnummer 40) Neue Messung 07.10.2011 (+Java + AIX Opt. + Parallelisieren JVM + Skalierung CPU Core's) Laufnummer Hardware CPU Type CPU Takt CPU Anzahl Logische CPUs Memory Paging Betriebssystem AIX Version Patch Level Large Pages for Java Heap and Code Cache HW data prefetch Appserver Version IBM Java 64 bit Syrius Version Appserver Xmx Parameter Xms Xmns Xmnx Xjit:verbose Xx:maxpermsize Xgcpolicy:gencon Server Large Pages for Java Heap and Code Cache Xcompressedrefs execrset Memory_Affinity Prefetch Batch BurnCPU Parameter Laufzeit (Min:Sek) 40 P7 3108 8 (capped) 32 (SMT=on) 100GB 8 GB 6.1, ML6 6100-06-05-1115 lgpg_size=16M dscrctl –n –s 1 10.3.4 1.6.0 SR9 FP1 RC1-3.01.01 8G 8G 4G 4G ➼ na ➼ ➼ Xlp16M -c 0-3 -e /-c 4-7 / -c 8-11 / -c 12-15 -e MCM 1 Dated 19. Oktober 2012 - Version: 2.4 Final Printed 19 October 2012 - © IBM Corporation 2012 00:14:13 Page 16 of 18 suva Adcubum Java Test Java Performance Messungen mit "Adcubum-Test" Laufzeit (Sekunden) Inputfile Zeilen im Inputfile Zeilen pro Sekunde execrset JVMEnginees LCPU's per JVM 853.79125 Small.txt 1000 9.37 ja 8 4 Resultat: • Der Durchsatz „Zeilen pro Sekunde“ konnte gegenüber dem Test „Optimierung 2“ linear verbessert (verdoppelt) werden. • Alle Logical CPU's konnten voll genutzt und ausgelastet werden. • Die Skalierung von den Core's konnte voll genutzt werden. • Trotz Vollauslastung von den vorhanden CPU's wurde immer noch ein gutes ansprechverhalten von dem gesamt System festgestellt. Dated 19. Oktober 2012 - Version: 2.4 Final Printed 19 October 2012 - © IBM Corporation 2012 Page 17 of 18 suva Adcubum Java Test Java Performance Messungen mit "Adcubum-Test" 5 Appendix A Vergleich der „rPerf Werte“ von den unterschiedlichen IBM Power Systems. Der rPerf (relative Performance) Wert ist ein Wert, der hilft, unterschiedliche IBM Power Systems relativ zueinander zu vergleichen. Dazu dient das Referenz-System IBM eServer pSeries 640 als Baseline, welches einen rPerf Wert von 1.0 aufweist. https://www.ibm.com/developerworks/wikis/display/WikiPtype/rperf Bei dem „P770 9117-MMB 8 Core (3.1Ghz)“ handelt es sich um das Test System (LPAR) auf welcher die „Adcubum-Test“ Messungen durchgeführt wurden, diese hat einen rPerf Wert von 85.20. 2188 Test LPAR p770 9117-MMB 8 Core (3.1GHz) p740 8205-E6C 8 Core (3.7GHz) p750 8233-E8B 8 Core (3.7Ghz) p750 8233-E8B 16 Core (3.7Ghz) p770 9117-MMC 64 Core (3.3GHz) p795 9119-FHB 192Core (3.7GHz) 606.80 190.44 101.57 101.62 2000 1900 1800 1700 1600 1500 1400 1300 1200 1100 1000 900 800 700 600 500 400 300 200 100 0 85.20 rPerf POWER7 Dated 19. Oktober 2012 - Version: 2.4 Final Printed 19 October 2012 - © IBM Corporation 2012 Page 18 of 18