43
Java Update Planned product releases in 2007 Sanjib Guhathakurta Product Manager, HP [email protected] +1.408.517.6767 © 2006 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice

Java Update - whp-aus1.cold.extweb.hp.comwhp-aus1.cold.extweb.hp.com/pub/nonstop/ccc/mar0107.pdf · •Java 5 VM •JRockit on Win64 rx2620 •HP-UX on rx2620 •NonStop OS NS16000

  • Upload
    others

  • View
    14

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Java Update - whp-aus1.cold.extweb.hp.comwhp-aus1.cold.extweb.hp.com/pub/nonstop/ccc/mar0107.pdf · •Java 5 VM •JRockit on Win64 rx2620 •HP-UX on rx2620 •NonStop OS NS16000

Java UpdatePlanned product releases in 2007

Sanjib GuhathakurtaProduct Manager, [email protected]+1.408.517.6767

© 2006 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice

Page 2: Java Update - whp-aus1.cold.extweb.hp.comwhp-aus1.cold.extweb.hp.com/pub/nonstop/ccc/mar0107.pdf · •Java 5 VM •JRockit on Win64 rx2620 •HP-UX on rx2620 •NonStop OS NS16000

February 27, 2007 2

NonStop Server for Java Update

Currently working on−NSJ 5.1 on Integrity NonStop

• API set same as NSJ 5.0 – JDK 5.0• Upgrade to latest HP-UX HotSpot compiler

− Expected performance improvement in the 5-10% range• Improved diagnostics with support for improved profiling and

Garbage Collection information− Incorporate HP-UX JVM options –Xeprof and –Xverbosegc into

NSJ• Incorporate upcoming PThreads enhancements

− Nowaited OSS file IO operations• Expected FCS date: August 2007

−NSJ 6.0, Java SE 6.0 certified JDK

Released US DST tool for NSJ 4.x and NSJ 5.0−available at: http://www.hp.com/go/javaDSTtool

Page 3: Java Update - whp-aus1.cold.extweb.hp.comwhp-aus1.cold.extweb.hp.com/pub/nonstop/ccc/mar0107.pdf · •Java 5 VM •JRockit on Win64 rx2620 •HP-UX on rx2620 •NonStop OS NS16000

February 27, 2007 3

NSJSP Server (Tomcat) Update

Currently working on−NSJSP 6.0 on Integrity NonStop

• Based on Tomcat 6.0.x code base• Implements latest Servlet and JSP spec

− Servlet 2.5 and JSP 2.1 spec• JMX MBean support for improved manageability• Performance expected to be same as that of NSJSP 5.0• Will require NSJ 5.0 and above• Expected FCS date: August 2007

Page 4: Java Update - whp-aus1.cold.extweb.hp.comwhp-aus1.cold.extweb.hp.com/pub/nonstop/ccc/mar0107.pdf · •Java 5 VM •JRockit on Win64 rx2620 •HP-UX on rx2620 •NonStop OS NS16000

February 27, 2007 4

BEA WebLogic Server Update

Currently working on−WLS 9.2 (latest WLS release) certification on Integrity

NonStop• WLS 9.2 is still a Java EE 1.4 certified app server• Improved system administration and management with new Admin

Console• Improved availability with WLS server instance migration to

another machine and HTTP session replication across WAN• Updated Web Services APIs • Target availability date: July 2007

Page 5: Java Update - whp-aus1.cold.extweb.hp.comwhp-aus1.cold.extweb.hp.com/pub/nonstop/ccc/mar0107.pdf · •Java 5 VM •JRockit on Win64 rx2620 •HP-UX on rx2620 •NonStop OS NS16000

Java Performance on Integrity NonStop servers

Frans JongmaBCS-NED Competence Center, EMEA

Page 6: Java Update - whp-aus1.cold.extweb.hp.comwhp-aus1.cold.extweb.hp.com/pub/nonstop/ccc/mar0107.pdf · •Java 5 VM •JRockit on Win64 rx2620 •HP-UX on rx2620 •NonStop OS NS16000

February 27, 2007 6

Agenda

•Introduction

•Java performance, what does this mean?

•What is it that you are testing?

•Simple Java performance comparisons: NonStop servers

•Does Industry Standard hardware give Industry Standard performance?

•Close

Page 7: Java Update - whp-aus1.cold.extweb.hp.comwhp-aus1.cold.extweb.hp.com/pub/nonstop/ccc/mar0107.pdf · •Java 5 VM •JRockit on Win64 rx2620 •HP-UX on rx2620 •NonStop OS NS16000

February 27, 2007 7

What started this…

Page 8: Java Update - whp-aus1.cold.extweb.hp.comwhp-aus1.cold.extweb.hp.com/pub/nonstop/ccc/mar0107.pdf · •Java 5 VM •JRockit on Win64 rx2620 •HP-UX on rx2620 •NonStop OS NS16000

February 27, 2007 8

“We accept Java to perform at 60% of ‘C’.Your Java performance is at 3%.”

Unhappy customer

Page 9: Java Update - whp-aus1.cold.extweb.hp.comwhp-aus1.cold.extweb.hp.com/pub/nonstop/ccc/mar0107.pdf · •Java 5 VM •JRockit on Win64 rx2620 •HP-UX on rx2620 •NonStop OS NS16000

February 27, 2007 9

Java performance: What does this mean?

Page 10: Java Update - whp-aus1.cold.extweb.hp.comwhp-aus1.cold.extweb.hp.com/pub/nonstop/ccc/mar0107.pdf · •Java 5 VM •JRockit on Win64 rx2620 •HP-UX on rx2620 •NonStop OS NS16000

February 27, 2007 10

Things coming together

•Java, the promise of “Write Once Run Anywhere”

•Java, the myth of needing to know only Java

•Developers, the “need for speed”

•Performance, the assumption that performance is a hardware problem

•The Internet, the availability of “easy” benchmarks

Page 11: Java Update - whp-aus1.cold.extweb.hp.comwhp-aus1.cold.extweb.hp.com/pub/nonstop/ccc/mar0107.pdf · •Java 5 VM •JRockit on Win64 rx2620 •HP-UX on rx2620 •NonStop OS NS16000

February 27, 2007 11

“It is easy to compare Java performance between different platforms”

Presumption

Page 12: Java Update - whp-aus1.cold.extweb.hp.comwhp-aus1.cold.extweb.hp.com/pub/nonstop/ccc/mar0107.pdf · •Java 5 VM •JRockit on Win64 rx2620 •HP-UX on rx2620 •NonStop OS NS16000

February 27, 2007 12

What does Java mean to you?

•A programming language?

•A toolbox?

•A programming environment?− Including workbench, test tools etc.

•A lifestyle?

•An operating environment running and scheduling multiple tasks?

Page 13: Java Update - whp-aus1.cold.extweb.hp.comwhp-aus1.cold.extweb.hp.com/pub/nonstop/ccc/mar0107.pdf · •Java 5 VM •JRockit on Win64 rx2620 •HP-UX on rx2620 •NonStop OS NS16000

February 27, 2007 13

The Java VM Operating Environment

• Multi-threaded environment

• Manages the JVM memory

• Creates Objects

• Collects garbage

• Runs applications− Calculations− Object create / delete− Access database

• Compiles bytecode

• Optimizes code

Page 14: Java Update - whp-aus1.cold.extweb.hp.comwhp-aus1.cold.extweb.hp.com/pub/nonstop/ccc/mar0107.pdf · •Java 5 VM •JRockit on Win64 rx2620 •HP-UX on rx2620 •NonStop OS NS16000

February 27, 2007 14

What are you testing?

Or:

What gets executed?

Page 15: Java Update - whp-aus1.cold.extweb.hp.comwhp-aus1.cold.extweb.hp.com/pub/nonstop/ccc/mar0107.pdf · •Java 5 VM •JRockit on Win64 rx2620 •HP-UX on rx2620 •NonStop OS NS16000

February 27, 2007 15

What are you testing?

•So-called “Microbenchmarks”−Small and easy−Downloaded from Internet− Examples: SciMark, HeapTest

•Testing the CPU speed of the platform−Your typical developer laptop? 2-3 GHz−S-series CPU? 500-800 MHz− Itanium®2? 1.3-1.6GHz

Page 16: Java Update - whp-aus1.cold.extweb.hp.comwhp-aus1.cold.extweb.hp.com/pub/nonstop/ccc/mar0107.pdf · •Java 5 VM •JRockit on Win64 rx2620 •HP-UX on rx2620 •NonStop OS NS16000

February 27, 2007 16

What are you testing? -2-

• C program− Compile− Optimize at compile time− Compiler optimize levels− Machine dependent code

• Execute− Once compiled and

optimized, the code is static

C source Compile

and

optimize

Executable

Page 17: Java Update - whp-aus1.cold.extweb.hp.comwhp-aus1.cold.extweb.hp.com/pub/nonstop/ccc/mar0107.pdf · •Java 5 VM •JRockit on Win64 rx2620 •HP-UX on rx2620 •NonStop OS NS16000

February 27, 2007 17

What are you testing? -3-

• Java program− Compile into bytecode− No compiler optimize options− Machine independent code

• Execute− Interpret code− Compile code− JIT or HotSpot compilers− Profile code (n times)− Optimize code (n times)

Java source

Class

javac

“execute”

JVM

Page 18: Java Update - whp-aus1.cold.extweb.hp.comwhp-aus1.cold.extweb.hp.com/pub/nonstop/ccc/mar0107.pdf · •Java 5 VM •JRockit on Win64 rx2620 •HP-UX on rx2620 •NonStop OS NS16000

February 27, 2007 18

What gets executed?

• What does NOT get executed?− Compiler/optimizer may

eliminate “dead” code without you knowing it!

• What else gets executed?− Interpreter− Compiler− Application code− Garbage collector

public static void doSomeStuff()

{ double uselessSum = 0;

for (int i=0; i<1000; i++){

for (int j=0;j<1000; j++) {

uselessSum +=

(double) i + (double) j;

}

}

}

http://www-128.ibm.com/developerworks/library/j-jtp12214/

Page 19: Java Update - whp-aus1.cold.extweb.hp.comwhp-aus1.cold.extweb.hp.com/pub/nonstop/ccc/mar0107.pdf · •Java 5 VM •JRockit on Win64 rx2620 •HP-UX on rx2620 •NonStop OS NS16000

February 27, 2007 19

JVM 1.4 Warmup

0

50

100

150

200

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

JVM needs “warming up”

• Test may be too short

• SciMark runs a few seconds only

• Investigation included:− Potential performance: Use of

–Xcomp option− Code may be optimized but

not run− Manually changed code− Show Warm-up phenomena

Page 20: Java Update - whp-aus1.cold.extweb.hp.comwhp-aus1.cold.extweb.hp.com/pub/nonstop/ccc/mar0107.pdf · •Java 5 VM •JRockit on Win64 rx2620 •HP-UX on rx2620 •NonStop OS NS16000

February 27, 2007 20

SciMark 2.0 Java Benchmark

• Scientific/engineering code

• Developed by National Institute of Standards (NIST)

• For i=1; i<loopcount; ++i {

• Five computation “kernels”− Fast Fourier Transformation− Jacobi Successive Over-Relaxation− Monte Carlo Integration− Sparse matrix multiply− Dense LU matrix factorization− Report the results

• } // end of loop

Page 21: Java Update - whp-aus1.cold.extweb.hp.comwhp-aus1.cold.extweb.hp.com/pub/nonstop/ccc/mar0107.pdf · •Java 5 VM •JRockit on Win64 rx2620 •HP-UX on rx2620 •NonStop OS NS16000

February 27, 2007 21

Warm up depends on JVM technology

JVM Warming up

0

5

10

15

20

25

30

35

40

45

50

1 2 3 4 5 6 7 8 9 10 11 12 13

NSJ4

NSJ5

Page 22: Java Update - whp-aus1.cold.extweb.hp.comwhp-aus1.cold.extweb.hp.com/pub/nonstop/ccc/mar0107.pdf · •Java 5 VM •JRockit on Win64 rx2620 •HP-UX on rx2620 •NonStop OS NS16000

February 27, 2007 22

Comparing

S-series vs Integrity NonStop

Page 23: Java Update - whp-aus1.cold.extweb.hp.comwhp-aus1.cold.extweb.hp.com/pub/nonstop/ccc/mar0107.pdf · •Java 5 VM •JRockit on Win64 rx2620 •HP-UX on rx2620 •NonStop OS NS16000

February 27, 2007 23

Performance ratio S versus NS-series

0.00

1.00

2.00

3.00

4.00

5.00

6.00

7.00

S86000 S88000 NS1000 NS14000 NS16000

Order entry ratio

Page 24: Java Update - whp-aus1.cold.extweb.hp.comwhp-aus1.cold.extweb.hp.com/pub/nonstop/ccc/mar0107.pdf · •Java 5 VM •JRockit on Win64 rx2620 •HP-UX on rx2620 •NonStop OS NS16000

February 27, 2007 24

Performance ratio S versus NS-series

0.00

1.00

2.00

3.00

4.00

5.00

6.00

7.00

S86000 S88000 NS1000 NS14000 NS16000

Order entry ratio

SciMark ratio

Page 25: Java Update - whp-aus1.cold.extweb.hp.comwhp-aus1.cold.extweb.hp.com/pub/nonstop/ccc/mar0107.pdf · •Java 5 VM •JRockit on Win64 rx2620 •HP-UX on rx2620 •NonStop OS NS16000

February 27, 2007 25

Leverage the Industry Standard

Page 26: Java Update - whp-aus1.cold.extweb.hp.comwhp-aus1.cold.extweb.hp.com/pub/nonstop/ccc/mar0107.pdf · •Java 5 VM •JRockit on Win64 rx2620 •HP-UX on rx2620 •NonStop OS NS16000

February 27, 2007 26

The promise

•Itanium® processing power

•Building blocks from HP

•Compiler technology

•JVM technology

Page 27: Java Update - whp-aus1.cold.extweb.hp.comwhp-aus1.cold.extweb.hp.com/pub/nonstop/ccc/mar0107.pdf · •Java 5 VM •JRockit on Win64 rx2620 •HP-UX on rx2620 •NonStop OS NS16000

February 27, 2007 27

It works! The proof

• Java 5 VM

• JRockit on Win64 rx2620

• HP-UX on rx2620

• NonStop OS NS16000

• Intel Itanium2 1.6GHz 6MB L3 Cache

JVM Performance test results based on SciMark 2.0

0

20

40

60

80

100

120

140

160

180

200

Win64 JRockit 1.5 NonStop OS 1.5 HP-UX 1.5

Page 28: Java Update - whp-aus1.cold.extweb.hp.comwhp-aus1.cold.extweb.hp.com/pub/nonstop/ccc/mar0107.pdf · •Java 5 VM •JRockit on Win64 rx2620 •HP-UX on rx2620 •NonStop OS NS16000

February 27, 2007 28

Fun Stuff:

Anomalies

Page 29: Java Update - whp-aus1.cold.extweb.hp.comwhp-aus1.cold.extweb.hp.com/pub/nonstop/ccc/mar0107.pdf · •Java 5 VM •JRockit on Win64 rx2620 •HP-UX on rx2620 •NonStop OS NS16000

February 27, 2007 29

Java 4 appears faster than Java 5

0

20

40

60

80

100

120

140

160

180

Java4 HP-UX Java5 HP-UX Java4 NonStop Java5 NonStop

Page 30: Java Update - whp-aus1.cold.extweb.hp.comwhp-aus1.cold.extweb.hp.com/pub/nonstop/ccc/mar0107.pdf · •Java 5 VM •JRockit on Win64 rx2620 •HP-UX on rx2620 •NonStop OS NS16000

February 27, 2007 30

Magic options

Both: -XX:LoopOptsCount=43

HP-UX:–XX:RangeCheckElimination

0

20

40

60

80

100

120

140

160

180

Java4 HP-UX Java5 optimized HP-

UX

Java4 NonStop Java5 optimized

NonStop

Page 31: Java Update - whp-aus1.cold.extweb.hp.comwhp-aus1.cold.extweb.hp.com/pub/nonstop/ccc/mar0107.pdf · •Java 5 VM •JRockit on Win64 rx2620 •HP-UX on rx2620 •NonStop OS NS16000

February 27, 2007 31

What about the warm up?

JVM Warming up

0

5

10

15

20

25

30

35

40

45

50

1 2 3 4 5 6 7 8 9 10 11 12 13

NSJ4

NSJ5

Page 32: Java Update - whp-aus1.cold.extweb.hp.comwhp-aus1.cold.extweb.hp.com/pub/nonstop/ccc/mar0107.pdf · •Java 5 VM •JRockit on Win64 rx2620 •HP-UX on rx2620 •NonStop OS NS16000

February 27, 2007 32

Short tests can show skewed results

Can S-series be faster than Integrity NonStop ?

0

20

40

60

80

100

120

140

160

180

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

S86000

S88000

NS16000

Page 33: Java Update - whp-aus1.cold.extweb.hp.comwhp-aus1.cold.extweb.hp.com/pub/nonstop/ccc/mar0107.pdf · •Java 5 VM •JRockit on Win64 rx2620 •HP-UX on rx2620 •NonStop OS NS16000

February 27, 2007 33

What is executing during warm-up?

JVM spawns a compiler thread to compile classes

If workload is CPU-intensive and there is only one CPU to work with ……

0.0

20.0

40.0

60.0

80.0

100.0

120.0

140.0

160.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

NS14000Standard -XX:-BackgroundCompilation

Page 34: Java Update - whp-aus1.cold.extweb.hp.comwhp-aus1.cold.extweb.hp.com/pub/nonstop/ccc/mar0107.pdf · •Java 5 VM •JRockit on Win64 rx2620 •HP-UX on rx2620 •NonStop OS NS16000

February 27, 2007 34

What Measure can show you

•Do not forget everything you know because the application is written in Java

•Measure tells you more than you may think

•The following slides illustrate Weblogic Server on Integrity NonStop

Page 35: Java Update - whp-aus1.cold.extweb.hp.comwhp-aus1.cold.extweb.hp.com/pub/nonstop/ccc/mar0107.pdf · •Java 5 VM •JRockit on Win64 rx2620 •HP-UX on rx2620 •NonStop OS NS16000

Februa

ry 27

, 20

07

35

The effect of B

ackg

round

Co

mp

ilatio

n

Effect of BackgroundCompilation on WLS startup

0

200

400

600

800

1000

1200

23:36:46

23:36:53

23:37:00

23:37:07

23:37:14

23:37:21

23:37:28

23:37:35

23:37:42

23:37:49

23:37:56

23:38:03

23:38:10

23:38:17

23:38:24

23:38:31

23:38:38

23:38:45

23:38:52

23:38:59

23:39:06

CPU ms per second

CPU std

CPU noBG

Page 36: Java Update - whp-aus1.cold.extweb.hp.comwhp-aus1.cold.extweb.hp.com/pub/nonstop/ccc/mar0107.pdf · •Java 5 VM •JRockit on Win64 rx2620 •HP-UX on rx2620 •NonStop OS NS16000

Februa

ry 27

, 20

07

36

Effect of File IO

on C

PU b

usy-time

0

200

400

600

800

1000

1200

23:36:46

23:36:53

23:37:00

23:37:07

23:37:14

23:37:21

23:37:28

23:37:35

23:37:42

23:37:49

23:37:56

23:38:03

23:38:10

23:38:17

23:38:24

23:38:31

23:38:38

23:38:45

23:38:52

23:38:59

23:39:06

CPU std

File-Open-Calls

Page 37: Java Update - whp-aus1.cold.extweb.hp.comwhp-aus1.cold.extweb.hp.com/pub/nonstop/ccc/mar0107.pdf · •Java 5 VM •JRockit on Win64 rx2620 •HP-UX on rx2620 •NonStop OS NS16000

Februa

ry 27

, 20

07

37

Ca

nnot d

o m

uch if you’re w

aiting

for IO

0

200

400

600

800

1000

1200

23:36:46

23:36:53

23:37:00

23:37:07

23:37:14

23:37:21

23:37:28

23:37:35

23:37:42

23:37:49

23:37:56

23:38:03

23:38:10

23:38:17

23:38:24

23:38:31

23:38:38

23:38:45

23:38:52

23:38:59

23:39:06

CPU std

OSSNS-W

ait-T

ime

File-Open-Calls

Page 38: Java Update - whp-aus1.cold.extweb.hp.comwhp-aus1.cold.extweb.hp.com/pub/nonstop/ccc/mar0107.pdf · •Java 5 VM •JRockit on Win64 rx2620 •HP-UX on rx2620 •NonStop OS NS16000

Februa

ry 27

, 20

07

38

Crea

ting new

files is expensive

0

200

400

600

800

1000

1200

23:36:46

23:36:53

23:37:00

23:37:07

23:37:14

23:37:21

23:37:28

23:37:35

23:37:42

23:37:49

23:37:56

23:38:03

23:38:10

23:38:17

23:38:24

23:38:31

23:38:38

23:38:45

23:38:52

23:38:59

23:39:06

0 5 10

15

20

25

30

35

CPU std

OSSNS-W

ait-T

ime

File-Open-Calls

OSSNS-DD-Calls

Page 39: Java Update - whp-aus1.cold.extweb.hp.comwhp-aus1.cold.extweb.hp.com/pub/nonstop/ccc/mar0107.pdf · •Java 5 VM •JRockit on Win64 rx2620 •HP-UX on rx2620 •NonStop OS NS16000

February 27, 2007 39

Closing remarks

Page 40: Java Update - whp-aus1.cold.extweb.hp.comwhp-aus1.cold.extweb.hp.com/pub/nonstop/ccc/mar0107.pdf · •Java 5 VM •JRockit on Win64 rx2620 •HP-UX on rx2620 •NonStop OS NS16000

February 27, 2007 40

Your mileage may vary ….

•This customer’s test now runs at 90% of ‘C’

•Real applications require real tests

•There is a whole world outside the VM− JDBC−SQL Compilations− The I/O subsytem− The TCP/IP stack

Page 41: Java Update - whp-aus1.cold.extweb.hp.comwhp-aus1.cold.extweb.hp.com/pub/nonstop/ccc/mar0107.pdf · •Java 5 VM •JRockit on Win64 rx2620 •HP-UX on rx2620 •NonStop OS NS16000

February 27, 2007 41

Summary

•“Java on Integrity NonStop simply screams” – a “very excited NonStop Java developer in 2006”

•Performance of NSJ is on par with the JVMs from HP and BEA running on the same chipset

•Power of Itanium® processor is reflected more in CPU-Intensive (Java) processing than in simple OLTP

•The Integrity NonStop server is the choice for Java

Page 42: Java Update - whp-aus1.cold.extweb.hp.comwhp-aus1.cold.extweb.hp.com/pub/nonstop/ccc/mar0107.pdf · •Java 5 VM •JRockit on Win64 rx2620 •HP-UX on rx2620 •NonStop OS NS16000

February 27, 2007 42

References

• The Sun HotSpot compiler− http://java.sun.com/developer/technicalArticles/Networking/HotSpot/ind

ex.html− http://java.sun.com/products/hotspot/index.html

• Micro benchmarks− http://discuss.develop.com/archives/wa.exe?A2=ind0103&L=advanced-

java&D=0&T=0&P=25235− http://www-128.ibm.com/developerworks/library/j-jtp12214/

• SciMark benchmark− http://math.nist.gov/scimark2

• The writeup− KB 3216 ‘A Java Micro benchmark on HP NonStop and other servers’. July

2006.

Page 43: Java Update - whp-aus1.cold.extweb.hp.comwhp-aus1.cold.extweb.hp.com/pub/nonstop/ccc/mar0107.pdf · •Java 5 VM •JRockit on Win64 rx2620 •HP-UX on rx2620 •NonStop OS NS16000

February 27, 2007 43