WebSphere on Solaris - The IBM hybrid JVM

donkeycheerfulInternet and Web Development

Aug 7, 2012 (5 years and 8 days ago)

534 views

© 2005 IBM Corporation

IBM Software Group, Java Technology Centre

28
th

February 2006 | WebSphere User Group, JAVA SIG

© 2006 IBM Corporation

WebSphere on Solaris


The IBM ‘Hybrid’ JVM


Why, what and how?

Dr. Stephen Hellberg

‘Hotspot’ Service Team Lead, JDK L3 Service

IBM Hursley Laboratory, UK

2

Agen
d
a


Brief History



Motivation & Benefits



Servicing Arrangements



Differences



Summary


WebSphere on Solaris

WebSphere User Group, JAVA SIG

© 2006 IBM Corporation

3

A brief history of WebSphere on Solaris:

WebSphere versions and their Sun JDK versions


… (pre
-
history)



WebSphere 3.5



WebSphere 4.
x



WebSphere 5.0


WebSphere 5.1.
x



WebSphere 6.0





YOU ARE HERE!



WebSphere 6.1




… To be continued!


… (pre
-
history: JDK 1.1.8,
etc
.)



Sun JDK 1.2.2


the ‘Exact’ VM



The Age of the ‘Hotspot’ VM


Sun JDK 1.3.
x



‘Ladybird’



Sun JDK 1.3.1


Sun JDK 1.4.1, 1.4.2


‘Dolphin’



Sun JDK 1.4.2



Sun JDK 1.5.0


‘Tiger’


(known as ‘5.0’)



Sun JDK 1.6.0


‘Mustang’


(known as ‘6.0’)


4

Java and IBM


Java is an industry
-
standard, platform
-
neutral programming
language


Developed and ‘owned’ by Sun




created by James Gosling


First released about 1995




originally was called ‘Oak’



Became an ‘Internet’ sensation powering the Internet browsers…



IBM are a major licensee of Sun Microsystems’ Java




one of the first such vendors to license Java



2005 saw the 10 year anniversary of this relationship, and the much heralded


re
-
negotiation of this license for a further 10 years



Licensed to develop and distribute JDKs


and assign the use of the ‘Java’ mark



Distribute and use Sun’s JDK implementation and associated Java technologies.


5

IBM’s JDK Platform Strategy


IBM produces JDKs for…



AIX


pSeries


Windows


xSeries (Intel x86 32
-
bit


‘PC’ H/w)


zOS Mainframe


iSeries


zSeries


Linux


xSeries, pSeries, zSeries, …


etc.


Sun produce JDKs for…



Solaris


SPARC


Intel x86 32
-
bit (PC H/w)


AMD Opteron


Windows


Intel x86 32
-
bit (PC H/w)


Linux


To devote development effort to invest in developing JDKs where our
expertise can best be utilised to realise a high
-
quality, high
-
performance
product


IBM chooses to use Sun’s JDK on Solaris/SPARC and Solaris/Opteron
servers because we do not expect to be competitive for hardware/OS which
we do not have equal access to. (Simlarly, HP’s JDK on their servers…)


6

Software Group Product Strategy for using JDKs


IBM Product Families shipping with IBM JDKs:


WebSphere


Including Application Server


Portal


Commerce


… etc.


Tivoli


DB2


Rational


Lotus



Most of these product families are supported across a wide
-
range of
hardware server platforms, including those of Sun and HP



Software Group (SWG) products aim to employ the best optimised JDK
available that meets their product requirements


the IBM JDKs are
designed to meet the super
-
set of SWG product requirements

7

An IBM JDK on Solaris/HP
-
UX?


So… SWG products (WebSphere,
etc
.) use the most suitable JVMs
on a variety of server hardware;



IBM JDKs are designed in response to IBM SWG product
requirements, but Sun and HP produce JVMs to their own
requirements, not necessarily IBM’s SWG requirements…





Is it the Sun JVM on Solaris (or HP JVM on HP
-
UX), or not?

8

The IBM ‘Hybrid’ JDK
(on Solaris or HP
-
UX)


Yes, it is Sun’s JVM (or HP’s JVM)…




… But the ‘Hybrid’ JDK contains additional IBM JDK components
which delivers the ‘value
-
add’ componentry that attempts to equalise
the functionality delivered with that on an IBM JDK; meeting the JDK
requirements laid down by the SWG product set




IBM ‘Value
-
add’ components include:


ORB


XML


Security



And, the history of JVM content is relevant too…

9

The IBM ‘Hybrid’ JDK

IBM value
-
add components

(extending the JDK content)

-

Java code

Java’s Virtual Machine

-

native code

Operating System/

Kernel

User Application Libraries

ORB

XML

(Xerces/Xalan)

Security

10

The IBM ‘Hybrid’ JDK

IBM SWG product

i.e.

WebSphere

IBM JDK content

1.3.x ‘Hotspot’ JVM

‘Native’ process support

The definition and scope of what constitutes the JVM changed…

1.4.x ‘Hotspot’ JVM

ORB

XML

Security

… and the content bundled in the JDK package needed to change

11

IBM WebSphere User process & JDK

Other third
-
party code

J2EE Content

(EJBs, JSPs, Servlets,
etc
.)


IBM WebSphere JDK content

IBM JDK content

Sun/HP JVM (native)

Vendor’s OS Kernel/Runtime

12

Servicing the IBM Websphere JDK


The WebSphere JDK is the JDK that is distributed as an integral
component of the IBM WebSphere product



(This is distinct from the JVM that may be delivered with your server
platform as part of software with the operating system


this is your
‘default’ platform JDK)





So, if you suffer a problem with the JDK… who should you
approach?



(Granted, the JVM may be that of your hardware vendor…
but we have seen that the WebSphere JDK constitutes more than
just the JVM.)

13

IBM’s WebSphere Service


The JVM within WebSphere is a component of the WebSphere
product...



As you would address support issues of WebSphere to IBM, so to
should you address WebSphere JVM problems.



If you have encountered a defect with the JVM, IBM will supply you
with a replacement JDK to be installed with the WebSphere product
installers, much as occurs within product service refreshes.



(Rarely, we may supply support components with separate instructions that
do not employ the WebSphere product installers, but where possible we will
endeavour to use them.)

14

IBM’s Service Relationship with Sun


IBM, as licensees, have an engineering
-
engineering relationship
with Sun and their development teams developing Java, the
language and the Java runtimes


Much of the development contact occurs before the product ships


However, you may observe this interaction when delivering service on the JVM



Most interactions with Sun occur through Sun’s Partnering
organisation which delivers services for all licensees


Typically, the engineering
-
engineering contacts are indirect


However, where relevant, direct engineer
-
engineer interactions are organised



Such arrangements offset the effects of timezone differences and geographical
dislocations of the respective teams

15

Service Structures…


IBM Service Structure



L1 (e.g. Japan or UK)


In local geography, addresses
language/cultural issues of direct interaction to
ensure good communication


Limited product skills


L2 (e.g. WebSphere)


Product Specialists


Global teams, 24x7


L3 “Change Team” (e.g. JDK L3)


Technology or Product Component Specialists


On
-
site Service Support…


Field Service Engineers, SWAT Teams


Lab Services


IBM Global Services Consultants


Sun “Java” Service Structure



L1


Similar to IBM L1?




L2


Product Specialists, ‘product’ = JDK/JVM




“Sustaining Engineering”/L3


“Development Engineering”



On
-
site Support


Sun consultants

16

Differences between IBM and Sun JDKs


Today, there are an increasing set of differences although all JVMs
must meet the same specification of what constitutes executing Java



… so you may not be aware of the differences!



The Sun and IBM JVM code bases are divergent presently…


IBM’s “Sovereign” codebase had some similarity to the ‘Exact’ VM



“Sovereign” has continued to implement 1.3.
x

and 1.4.
x

JVMs



Sun have developed the ‘Hotspot’ JVM and its componentry


For example,


Whilst ‘Hotspot’ is ill
-
defined it includes a re
-
optimising JIT;


IBM JVMs have long shipped with a re
-
optimising JIT (not the same JITs).



You might consider asking further questions on specific differences?


17

Other Differences….

Storage Architecture &Garbage Collection


Significant differences in the storage architectures:



Sun’s 1.2.2 JDK used Semi
-
spaces


Sun’s ‘Hotspot’ JDK dropped semi
-
spaces for a ‘generational’
arrangement: Permanent, Old/Tenured and Young Generations



IBM JDKs have employed a single contiguous heap region with non
-
dedicated regions including nursery and ‘wilderness’



Sun and IBM have collected the Java heap with Incremental and
Mark
-
Sweep
-
Compact collectors (default, conservative); Sun added
generational collection at ‘Hotspot’


Major differences between what parallelism or concurrency possible.

18

Future: 5.0 (‘Tiger’), 6.0 (‘Mustang’) and Beyond!


Java 5.0


Sun GA’ed 5.0 ‘Tiger’ in 2005;


Latest production service release: 1.5.0_06 (Sun intend no 1.5.1!)


IBM GA’s shortly (Advanced Beta program’s in progress)


In use at IBM’s SWG Development Teams


Available with WebSphere v6.1 later in 2006



Java 6.0


Sun actively developing the ‘Mustang’ release (expected 2006)


Early
-
access releases available to licensees, including IBM’s engineering teams.


Work on IBM’s 6.0 JDKs already begun



Beyond Java 6.0


Being specified… IBM contributing to the future of Java

19

Summary


Covered brief, recent history of WebSphere versions and their JDK



Discussed the motivating reason for production of the ‘Hybrid’ JDK:


Changing scope of what constitutes the JDK brings into the JDK ‘core’ the set of
components previously delivering ‘value
-
add’ function



Discussed the servicing arrangements of IBM WebSphere JDKs,
and the specific arrangement we have with Sun (or HP)



Briefly discussed the areas of major difference… further questions?



Futures

Discussion or Questions?