SlideShare a Scribd company logo
1 of 32
Download to read offline
© 2015 IBM Corporation
IBM WebSphere Users Group
23rd March 2015
Virtualization Aware JVM
Making the most of a virtualized environment
Tim Ellison – Hursley labs
© 2015 IBM Corporation
Important Disclaimers
THE INFORMATION CONTAINED IN THIS PRESENTATION IS PROVIDED FOR INFORMATIONAL PURPOSES ONLY.
WHILST EFFORTS WERE MADE TO VERIFY THE COMPLETENESS AND ACCURACY OF THE INFORMATION
CONTAINED IN THIS PRESENTATION, IT IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED.
ALL PERFORMANCE DATA INCLUDED IN THIS PRESENTATION HAVE BEEN GATHERED IN A CONTROLLED
ENVIRONMENT. YOUR OWN TEST RESULTS MAY VARY BASED ON HARDWARE, SOFTWARE OR INFRASTRUCTURE
DIFFERENCES.
ALL DATA INCLUDED IN THIS PRESENTATION ARE MEANT TO BE USED ONLY AS A GUIDE.
IN ADDITION, THE INFORMATION CONTAINED IN THIS PRESENTATION IS BASED ON IBM’S CURRENT PRODUCT
PLANS AND STRATEGY, WHICH ARE SUBJECT TO CHANGE BY IBM, WITHOUT NOTICE.
IBM AND ITS AFFILIATED COMPANIES SHALL NOT BE RESPONSIBLE FOR ANY DAMAGES ARISING OUT OF THE USE
OF, OR OTHERWISE RELATED TO, THIS PRESENTATION OR ANY OTHER DOCUMENTATION.
NOTHING CONTAINED IN THIS PRESENTATION IS INTENDED TO, OR SHALL HAVE THE EFFECT OF:
- CREATING ANY WARRANT OR REPRESENTATION FROM IBM, ITS AFFILIATED COMPANIES OR ITS OR THEIR
SUPPLIERS AND/OR LICENSORS
2
© 2015 IBM Corporation3
Goals of this talk
 Describe the impact of deep systems virtualization on the Java Virtual Machine (JVM) and
Java Applications.
 Explain the benefits of making the JVM virtualization aware.
 Discuss techniques to optimize implementations for virtualized environments.
© 2015 IBM Corporation4
A stylized system environment
Hardware
OS
JVM
Middle-ware
Application
Proprietary CPU, Memory, IO designed for optimal performanceProprietary CPU, Memory, IO designed for optimal performance
Drivers, APIs, abstractions for software developers
Language virtual machine for portability and convenience
Business function building blocks and capabilities
Achieves a department or end user goal
Workload
© 2015 IBM Corporation5
A data centre environment is no longer what it was...
Hardware
OS
JVM
Middle-ware
Application
Hardware
OS
JVM
Middle-ware
Application
Hardware
OS
JVM
Middle-ware
Application
Workload Workload Workload
scaling
Isolation
Utilization
© 2015 IBM Corporation6
A data centre environment is no longer what it was...
Hardware
OS
JVM
Middle-ware
Application
Hardware
Hypervisor
Guest OS Guest OS
JVM
Middle-ware
Application
JVM
Middle-ware
Application
JVM
Middle-ware
Application
JVM
Middle-ware
Application
Workload
Workload Workload Workload
lightweight
containers
Virtualized machine
© 2015 IBM Corporation7
Virtualization available at every layer

Hardware Virtualization

Helps pack in more applications compared to bare metal

These provide very good isolation at a cost of duplication of services → Higher Overhead

Usecase: Multiple customers can be hosted on the same infrastructure.

OS Virtualization - Containers

New light weight containers such as Docker, Warden, AIX WPAR, Solaris Containers provide
basic isolation mechanism with very little overhead.

Usecase: Multiple applications each running inside a container of its own for a single
customer.

Runtime Virtualization – Virtualization aware Java VM

Runtime Virtualization increases the resources that can be shared while still offering reduced
isolation.

Usecase: Several instances of an application hosted on a single instance of Java for a single
customer.
© 2015 IBM Corporation8
What does this virtualization story mean to the JVM ?
 Fixed view of hardware resources.
 JVM resources do not change
during application life-cycle.
 Configuration usually determined at
start-up, and doesn't change during
the entire run.
 Resources are elastic. Hypervisors
might “re-assign” resources based on
need.
 Resource reporting APIs are
unreliable !
 Resources are shared, and limits can
change dynamically.
© 2015 IBM Corporation9
Physical View vs. Logical View – “How many CPUs do I have?”
Hypervisor
2 vCPUs 2 vCPUs
2 Cores
OS OS
Hypervisor
2 vCPUs 2 vCPUs
4 Cores
OS OS
2 vCPUs
OS
CPU
Entitlement = 1
CPU
Entitlement = 0.8
CPU
Entitlement = 0.2
CPU
Entitlement = 2
CPU
Entitlement = 2
© 2015 IBM Corporation10
Am I Real or Am I Virtual ?!
Q. Do Java applications need to know if they are running inside a Guest OS ?
A. Mostly No. Only a small class of applications benefit

Resource Orchestrators and Load Balancers

Monitoring tools

Debuggers and RAS Tools
Q. Does the JVM implementation need to know if it is running inside a Guest OS ?
A. Absolutely Yes !

Manage Java resources based upon real physical resources.

Provide virtualization info to applications.
© 2015 IBM Corporation11
Benefits of a virtualization aware JVM
 Make the most efficient use of resources in a virtualized environment.
 Propagate the knowledge up the software stack to enable load balancers to take
appropriate decisions.
 Remove necessity for multiple middle-ware products to understand intricacies of
hypervisors.
 Provide unified interface to be able to deal with a multitude of hypervisors.
© 2015 IBM Corporation12
IBM's JMX Beans for Virtualization
 com.ibm.lang.management.OperatingSystemMXBean – with IBM Extensions
– Extended OS usage statistics – Logical view
• Processor
• Memory
– OS Support: AIX, Linux, Windows and z/OS
 com.ibm.virtualization.management.HypervisorMXBean
– Detect if we are running on a hypervisor.
– Hypervisor Details (Currently only Vendor Name string)
– Hypervisors Supported: z/VM, PR/SM, PowerVM, VMWare, KVM (x86 and Power), Hyper-V
 com.ibm.virtualization.management.GuestOSMXBean
– Guest OS usage statistics as seen from the hypervisor – Physical View
– Usage Statistics
• Processor
• Memory
– AIX & Linux on PowerVM, Linux and Windows on VMWare, z/OS & zLinux on z/VM
© 2015 IBM Corporation13
JMX Beans for Virtualization
Hardware
OS
JVM
Middle-ware
Application
Hypervisor
OS
JVM
Middle-ware
Application
OperatingSystemMXBean HypervisorMXBean
&
GuestOSMXBean
© 2015 IBM Corporation14
OperatingSystemMXBean – New APIs
© 2015 IBM Corporation15
© 2015 IBM Corporation16
© 2015 IBM Corporation17
© 2015 IBM Corporation18
© 2015 IBM Corporation19
GuestOSMXBean use-case – Tune internals of JVM & Websphere
Hardware
OS
JVM
Middle-ware
Application
Hypervisor
OS
JVM
Middle-ware
Application
Determine
Thread-pool
size
Tune
GC & JIT
parameters
© 2015 IBM Corporation20
OperatingSystemMXBean use-case – Load Balance JVM Instances
Hardware
Monitoring
Agent
OS
JVM
Middle-ware
Application
JVM
Middle-ware
Application
JVM
Middle-ware
Application
Spawn / destroy a JVM
based on system load
© 2015 IBM Corporation21
Implementation Notes
■ The Beans are available in IBM Java SDK version 7.1 onwards
■ Hypervisor specific setup may be required to obtain usage data.
– VMWare requires VMGuestLib to be installed (Is part of VMware tools)
– Hypfs needs to be mounted on zLinux
■ Hypervisor detection known to fail on certain older Intel processors
– IBM_JAVA_HYPERVISOR_SETTINGS environment variable can be used as a workaround
– See javadoc for HypervisorMXBean for more details.
■ Some data may not be available on specific OS / Hypervisor combinations.
– Javadoc should have all relevant info.
■ Currently only one level of hypervisor is supported. In case of multiple layers of hypervisor
(e.g. on zSystems), only the top level hypervisor info is returned.
■ Javacore now contains virtualization info.
© 2015 IBM Corporation22
Additional virtualization optimizations
© 2015 IBM Corporation23
Dynamic Heap Adjustment (softmx)
 ­Xmx
– absolute limit, fixed at startup
 ­Xsoftmx
– soft limit <= -Xmx, set dynamically through
JMX
– Garbage collector tries to shrink to softmx
over time
– Once at target will not expand beyond it
 OS Interaction
– JVM advises OS when memory freed
– Effectiveness depends on OS support
 Use cases
– Cap early, grow later
– Shrink to free unused memory
© 2015 IBM Corporation24
What is your application doing when Idle ?
 Does your application use lots of CPU even when Idle ?
 Historically poor Java idle behavior causes CPU burn
– Inefficient CPU usage in the Cloud
• Starves other VM's / JVM instances
– Increased client costs for CPU Usage
• Especially so on zSystems
 Memory hoarding of Idle JVM's.
– Reduce memory footprint when idle.
• “Boilerplate” applications in Bluemix that are never used, but are taking
up lots of memory.
 First step is to be able to measure precise JVM CPU usage
© 2015 IBM Corporation25
Application
System-JVM
Ability to categorize JVM threads for CPU usage
Application-User1
Application
Application
-User2
App-User3
A-U4
Application-User5
GC
JIT
Other
Sys
CPUUsage
Thread Groups
Resource-Monitor
© 2015 IBM Corporation26
JvmCpuMonitorMXBean
© 2015 IBM Corporation27
JvmCpuMonitorInfo
© 2015 IBM Corporation28
Javacore info
© 2015 IBM Corporation29
Use Cases for Thread-based CPU Usage
 Reporting transaction CPU usage
 Identifying "expensive" transactions
 Reporting JVM overhead over specific intervals
 Foundation for future work on tracking idle behaviour
 …
 Available in IBM Java SDK version 8 onwards
References
● http://www-01.ibm.com/support/knowledgecenter/SSYKE2_8.0.0/com.ibm.java.api.80.doc/com.ibm.lang.management/com/ibm/lang/management/JvmCpuMonitorMXBean.html
● http://www-01.ibm.com/support/knowledgecenter/SSYKE2_8.0.0/com.ibm.java.lnx.80.doc/diag/appendixes/cmdline/xxreducecpumonitoroverhead.html?lang=en
© 2015 IBM Corporation30
-Xtune:virtualized
 Available from Java 7 SR4 onwards.
 Reduces JVM CPU consumption when Idle (mostly JIT).
 Needs a large shared class cache to maintain peak performance.
 AOT space in the Shared Class Cache (SCC) must not be capped.
© 2015 IBM Corporation31
Summary
 Virtualization layers hide “real” resource information.
 JVM needs to know the underlying architecture at start time.
– It then needs to periodically monitor for any changes.
 Applications can make use of the MBeans to do the same.
 Use only as much memory as you need.
– Make use of SoftMX to reduce the heap dynamically.
 Idle detection and deep sleep helps cut costs.
– Use MXBean to monitor Idle behaviour.
© 2015 IBM Corporation32
Copyright and Trademarks
© IBM Corporation 2015. All Rights Reserved.
IBM, the IBM logo, and ibm.com are trademarks or registered trademarks of International
Business Machines Corp., and registered in many jurisdictions worldwide.
Other product and service names might be trademarks of IBM or other companies.
A current list of IBM trademarks is available on the Web – see the IBM “Copyright and
trademark information” page at URL: www.ibm.com/legal/copytrade.shtml

More Related Content

What's hot

WebSphere Technical University: Top WebSphere Problem Determination Features
WebSphere Technical University: Top WebSphere Problem Determination FeaturesWebSphere Technical University: Top WebSphere Problem Determination Features
WebSphere Technical University: Top WebSphere Problem Determination FeaturesChris Bailey
 
IBM Monitoring and Diagnostics Tools - Health Center 3.0.2
IBM Monitoring and Diagnostics Tools - Health Center 3.0.2IBM Monitoring and Diagnostics Tools - Health Center 3.0.2
IBM Monitoring and Diagnostics Tools - Health Center 3.0.2Chris Bailey
 
Solaris Linux Performance, Tools and Tuning
Solaris Linux Performance, Tools and TuningSolaris Linux Performance, Tools and Tuning
Solaris Linux Performance, Tools and TuningAdrian Cockcroft
 
Scalable Elastic Systems Architecture (SESA)
Scalable Elastic Systems Architecture (SESA)Scalable Elastic Systems Architecture (SESA)
Scalable Elastic Systems Architecture (SESA)Eric Van Hensbergen
 
Security in the Real World - JavaOne 2013
Security in the Real World - JavaOne 2013Security in the Real World - JavaOne 2013
Security in the Real World - JavaOne 2013MattKilner
 
WAS Support & Monitoring Tools
WAS Support & Monitoring ToolsWAS Support & Monitoring Tools
WAS Support & Monitoring ToolsRoyal Cyber Inc.
 
JavaOne 2013: Effective Foreign Function Interfaces: From JNI to JNR
JavaOne 2013: Effective Foreign Function Interfaces: From JNI to JNRJavaOne 2013: Effective Foreign Function Interfaces: From JNI to JNR
JavaOne 2013: Effective Foreign Function Interfaces: From JNI to JNRRyan Sciampacone
 
Plugin-able POS Solutions by Javascript @HDM9 Taiwan
Plugin-able POS Solutions by Javascript @HDM9 TaiwanPlugin-able POS Solutions by Javascript @HDM9 Taiwan
Plugin-able POS Solutions by Javascript @HDM9 TaiwanRack Lin
 
JavaOne 2013 CON7370: Java Interprocess Communication Challenges in Low-Laten...
JavaOne 2013 CON7370: Java Interprocess Communication Challenges in Low-Laten...JavaOne 2013 CON7370: Java Interprocess Communication Challenges in Low-Laten...
JavaOne 2013 CON7370: Java Interprocess Communication Challenges in Low-Laten...0xdaryl
 
Student guide power systems for aix - virtualization i implementing virtual...
Student guide   power systems for aix - virtualization i implementing virtual...Student guide   power systems for aix - virtualization i implementing virtual...
Student guide power systems for aix - virtualization i implementing virtual...solarisyougood
 
Ibm power ha v7 technical deep dive workshop
Ibm power ha v7 technical deep dive workshopIbm power ha v7 technical deep dive workshop
Ibm power ha v7 technical deep dive workshopsolarisyougood
 
Enterprise OSGi at eBay
Enterprise OSGi at eBayEnterprise OSGi at eBay
Enterprise OSGi at eBayTony Ng
 
Three key concepts for java batch
Three key concepts for java batchThree key concepts for java batch
Three key concepts for java batchtimfanelli
 
Simulation Directed Co-Design from Smartphones to Supercomputers
Simulation Directed Co-Design from Smartphones to SupercomputersSimulation Directed Co-Design from Smartphones to Supercomputers
Simulation Directed Co-Design from Smartphones to SupercomputersEric Van Hensbergen
 
IBM PowerVM Virtualization Technology on IBM POWER7 Systems
IBM PowerVM Virtualization Technology on IBM POWER7 SystemsIBM PowerVM Virtualization Technology on IBM POWER7 Systems
IBM PowerVM Virtualization Technology on IBM POWER7 SystemsIBM India Smarter Computing
 
Aix The Future of UNIX
Aix The Future of UNIX Aix The Future of UNIX
Aix The Future of UNIX xKinAnx
 
How to Become a Winner in the JVM Performance-Tuning Battle
How to Become a Winner in the JVM Performance-Tuning BattleHow to Become a Winner in the JVM Performance-Tuning Battle
How to Become a Winner in the JVM Performance-Tuning BattleCapgemini
 

What's hot (20)

WebSphere Technical University: Top WebSphere Problem Determination Features
WebSphere Technical University: Top WebSphere Problem Determination FeaturesWebSphere Technical University: Top WebSphere Problem Determination Features
WebSphere Technical University: Top WebSphere Problem Determination Features
 
IBM Monitoring and Diagnostics Tools - Health Center 3.0.2
IBM Monitoring and Diagnostics Tools - Health Center 3.0.2IBM Monitoring and Diagnostics Tools - Health Center 3.0.2
IBM Monitoring and Diagnostics Tools - Health Center 3.0.2
 
Solaris Linux Performance, Tools and Tuning
Solaris Linux Performance, Tools and TuningSolaris Linux Performance, Tools and Tuning
Solaris Linux Performance, Tools and Tuning
 
Scalable Elastic Systems Architecture (SESA)
Scalable Elastic Systems Architecture (SESA)Scalable Elastic Systems Architecture (SESA)
Scalable Elastic Systems Architecture (SESA)
 
Security in the Real World - JavaOne 2013
Security in the Real World - JavaOne 2013Security in the Real World - JavaOne 2013
Security in the Real World - JavaOne 2013
 
WAS Support & Monitoring Tools
WAS Support & Monitoring ToolsWAS Support & Monitoring Tools
WAS Support & Monitoring Tools
 
JavaOne 2013: Effective Foreign Function Interfaces: From JNI to JNR
JavaOne 2013: Effective Foreign Function Interfaces: From JNI to JNRJavaOne 2013: Effective Foreign Function Interfaces: From JNI to JNR
JavaOne 2013: Effective Foreign Function Interfaces: From JNI to JNR
 
Plugin-able POS Solutions by Javascript @HDM9 Taiwan
Plugin-able POS Solutions by Javascript @HDM9 TaiwanPlugin-able POS Solutions by Javascript @HDM9 Taiwan
Plugin-able POS Solutions by Javascript @HDM9 Taiwan
 
JavaOne 2013 CON7370: Java Interprocess Communication Challenges in Low-Laten...
JavaOne 2013 CON7370: Java Interprocess Communication Challenges in Low-Laten...JavaOne 2013 CON7370: Java Interprocess Communication Challenges in Low-Laten...
JavaOne 2013 CON7370: Java Interprocess Communication Challenges in Low-Laten...
 
PowerHA for i
PowerHA for iPowerHA for i
PowerHA for i
 
Student guide power systems for aix - virtualization i implementing virtual...
Student guide   power systems for aix - virtualization i implementing virtual...Student guide   power systems for aix - virtualization i implementing virtual...
Student guide power systems for aix - virtualization i implementing virtual...
 
Ibm power ha v7 technical deep dive workshop
Ibm power ha v7 technical deep dive workshopIbm power ha v7 technical deep dive workshop
Ibm power ha v7 technical deep dive workshop
 
Enterprise OSGi at eBay
Enterprise OSGi at eBayEnterprise OSGi at eBay
Enterprise OSGi at eBay
 
Three key concepts for java batch
Three key concepts for java batchThree key concepts for java batch
Three key concepts for java batch
 
Simulation Directed Co-Design from Smartphones to Supercomputers
Simulation Directed Co-Design from Smartphones to SupercomputersSimulation Directed Co-Design from Smartphones to Supercomputers
Simulation Directed Co-Design from Smartphones to Supercomputers
 
IBM PowerVM Virtualization Technology on IBM POWER7 Systems
IBM PowerVM Virtualization Technology on IBM POWER7 SystemsIBM PowerVM Virtualization Technology on IBM POWER7 Systems
IBM PowerVM Virtualization Technology on IBM POWER7 Systems
 
z/VM and OpenStack
z/VM and OpenStackz/VM and OpenStack
z/VM and OpenStack
 
Rrootshell Education Services
Rrootshell Education ServicesRrootshell Education Services
Rrootshell Education Services
 
Aix The Future of UNIX
Aix The Future of UNIX Aix The Future of UNIX
Aix The Future of UNIX
 
How to Become a Winner in the JVM Performance-Tuning Battle
How to Become a Winner in the JVM Performance-Tuning BattleHow to Become a Winner in the JVM Performance-Tuning Battle
How to Become a Winner in the JVM Performance-Tuning Battle
 

Viewers also liked

Compaction and Splitting in Apache Accumulo
Compaction and Splitting in Apache AccumuloCompaction and Splitting in Apache Accumulo
Compaction and Splitting in Apache AccumuloHortonworks
 
Eclipse Memory Analyzer - More Than Just a Heap Walker
Eclipse Memory Analyzer - More Than Just a Heap WalkerEclipse Memory Analyzer - More Than Just a Heap Walker
Eclipse Memory Analyzer - More Than Just a Heap Walkerguest62fd60c
 
Eclipse Memory Analyzer Tool
Eclipse Memory Analyzer ToolEclipse Memory Analyzer Tool
Eclipse Memory Analyzer Toollittleeye
 
Virtualization Primer for Java Developers
Virtualization Primer for Java DevelopersVirtualization Primer for Java Developers
Virtualization Primer for Java DevelopersRichard McDougall
 
Microservices + Oracle: A Bright Future
Microservices + Oracle: A Bright FutureMicroservices + Oracle: A Bright Future
Microservices + Oracle: A Bright FutureKelly Goetsch
 
Introduction to OpenStack
Introduction to OpenStackIntroduction to OpenStack
Introduction to OpenStackjamiehannaford
 
OSv presentation from Linux Foundation Collaboration Summit
OSv presentation from Linux Foundation Collaboration SummitOSv presentation from Linux Foundation Collaboration Summit
OSv presentation from Linux Foundation Collaboration SummitDon Marti
 
OSv at Cassandra Summit
OSv at Cassandra SummitOSv at Cassandra Summit
OSv at Cassandra SummitDon Marti
 

Viewers also liked (9)

Compaction and Splitting in Apache Accumulo
Compaction and Splitting in Apache AccumuloCompaction and Splitting in Apache Accumulo
Compaction and Splitting in Apache Accumulo
 
Eclipse Memory Analyzer - More Than Just a Heap Walker
Eclipse Memory Analyzer - More Than Just a Heap WalkerEclipse Memory Analyzer - More Than Just a Heap Walker
Eclipse Memory Analyzer - More Than Just a Heap Walker
 
Eclipse Memory Analyzer Tool
Eclipse Memory Analyzer ToolEclipse Memory Analyzer Tool
Eclipse Memory Analyzer Tool
 
Virtualization Primer for Java Developers
Virtualization Primer for Java DevelopersVirtualization Primer for Java Developers
Virtualization Primer for Java Developers
 
Microservices + Oracle: A Bright Future
Microservices + Oracle: A Bright FutureMicroservices + Oracle: A Bright Future
Microservices + Oracle: A Bright Future
 
Introduction to OpenStack
Introduction to OpenStackIntroduction to OpenStack
Introduction to OpenStack
 
OSv presentation from Linux Foundation Collaboration Summit
OSv presentation from Linux Foundation Collaboration SummitOSv presentation from Linux Foundation Collaboration Summit
OSv presentation from Linux Foundation Collaboration Summit
 
Unik Slides
Unik SlidesUnik Slides
Unik Slides
 
OSv at Cassandra Summit
OSv at Cassandra SummitOSv at Cassandra Summit
OSv at Cassandra Summit
 

Similar to Virtualization aware Java VM

JavaOne 2014: Java vs JavaScript
JavaOne 2014:   Java vs JavaScriptJavaOne 2014:   Java vs JavaScript
JavaOne 2014: Java vs JavaScriptChris Bailey
 
Optimize Your VMware SDDC with IBM Infrastructure
Optimize Your VMware SDDC with IBM InfrastructureOptimize Your VMware SDDC with IBM Infrastructure
Optimize Your VMware SDDC with IBM InfrastructurePaula Koziol
 
Pure Systems Patterns of Expertise - John Kaemmerer and Gerry Kovan, 11th Sep...
Pure Systems Patterns of Expertise - John Kaemmerer and Gerry Kovan, 11th Sep...Pure Systems Patterns of Expertise - John Kaemmerer and Gerry Kovan, 11th Sep...
Pure Systems Patterns of Expertise - John Kaemmerer and Gerry Kovan, 11th Sep...IBM Systems UKI
 
vFabric - Ideal Platform for SaaS Apps
vFabric - Ideal Platform for SaaS AppsvFabric - Ideal Platform for SaaS Apps
vFabric - Ideal Platform for SaaS AppsVMware vFabric
 
Java on zSystems zOS
Java on zSystems zOSJava on zSystems zOS
Java on zSystems zOSTim Ellison
 
Effectively Plan for Your Move to the Cloud
Effectively Plan for Your Move to the CloudEffectively Plan for Your Move to the Cloud
Effectively Plan for Your Move to the CloudPrecisely
 
CFSummit ColdFusion 2015 Load Balancing, Failover and Scalability
CFSummit ColdFusion 2015 Load Balancing, Failover and ScalabilityCFSummit ColdFusion 2015 Load Balancing, Failover and Scalability
CFSummit ColdFusion 2015 Load Balancing, Failover and ScalabilitymcollinsCF
 
E g innovations overview
E g innovations overviewE g innovations overview
E g innovations overviewNuno Alves
 
Load Balancing, Failover and Scalability with ColdFusion
Load Balancing, Failover and Scalability with ColdFusionLoad Balancing, Failover and Scalability with ColdFusion
Load Balancing, Failover and Scalability with ColdFusionColdFusionConference
 
IBM Think 2019 session 2116 - Best practices for operating and managing a pro...
IBM Think 2019 session 2116 - Best practices for operating and managing a pro...IBM Think 2019 session 2116 - Best practices for operating and managing a pro...
IBM Think 2019 session 2116 - Best practices for operating and managing a pro...Hendrik van Run
 
Power systems virtualization with power kvm
Power systems virtualization with power kvmPower systems virtualization with power kvm
Power systems virtualization with power kvmsolarisyougood
 
V mware v fabric 5 - what's new technical sales training presentation
V mware v fabric 5 - what's new technical sales training presentationV mware v fabric 5 - what's new technical sales training presentation
V mware v fabric 5 - what's new technical sales training presentationsolarisyourep
 
PowerVC and Power Systems Cloud Trends
PowerVC and Power Systems Cloud TrendsPowerVC and Power Systems Cloud Trends
PowerVC and Power Systems Cloud TrendsJay Kruemcke
 
IBM WebSphere Application Server Update - Technical University (March 2015)
IBM WebSphere Application Server Update - Technical University (March 2015)IBM WebSphere Application Server Update - Technical University (March 2015)
IBM WebSphere Application Server Update - Technical University (March 2015)Ian Robinson
 
IBM Software Defined Networking for Virtual Environments (IBM SDN VE)
IBM Software Defined Networking for Virtual Environments (IBM SDN VE)IBM Software Defined Networking for Virtual Environments (IBM SDN VE)
IBM Software Defined Networking for Virtual Environments (IBM SDN VE)IBM System Networking
 
Integrierte Experten Systeme_Erik-Werner Radtke_IBM Symposium 2013
Integrierte Experten Systeme_Erik-Werner Radtke_IBM Symposium 2013Integrierte Experten Systeme_Erik-Werner Radtke_IBM Symposium 2013
Integrierte Experten Systeme_Erik-Werner Radtke_IBM Symposium 2013IBM Switzerland
 
Introduction to ibm cloud paks concept license and minimum config public
Introduction to ibm cloud paks concept license and minimum config publicIntroduction to ibm cloud paks concept license and minimum config public
Introduction to ibm cloud paks concept license and minimum config publicPetchpaitoon Krungwong
 
Überwachung virtueller Umgebungen
Überwachung virtueller UmgebungenÜberwachung virtueller Umgebungen
Überwachung virtueller UmgebungenStefan Bergstein
 
Platform as a Service - Cloud Foundry and IBM Bluemix
Platform as a Service - Cloud Foundry and IBM BluemixPlatform as a Service - Cloud Foundry and IBM Bluemix
Platform as a Service - Cloud Foundry and IBM BluemixDavid Currie
 
S104 twist and cloud
S104 twist and cloudS104 twist and cloud
S104 twist and cloudnick_garrod
 

Similar to Virtualization aware Java VM (20)

JavaOne 2014: Java vs JavaScript
JavaOne 2014:   Java vs JavaScriptJavaOne 2014:   Java vs JavaScript
JavaOne 2014: Java vs JavaScript
 
Optimize Your VMware SDDC with IBM Infrastructure
Optimize Your VMware SDDC with IBM InfrastructureOptimize Your VMware SDDC with IBM Infrastructure
Optimize Your VMware SDDC with IBM Infrastructure
 
Pure Systems Patterns of Expertise - John Kaemmerer and Gerry Kovan, 11th Sep...
Pure Systems Patterns of Expertise - John Kaemmerer and Gerry Kovan, 11th Sep...Pure Systems Patterns of Expertise - John Kaemmerer and Gerry Kovan, 11th Sep...
Pure Systems Patterns of Expertise - John Kaemmerer and Gerry Kovan, 11th Sep...
 
vFabric - Ideal Platform for SaaS Apps
vFabric - Ideal Platform for SaaS AppsvFabric - Ideal Platform for SaaS Apps
vFabric - Ideal Platform for SaaS Apps
 
Java on zSystems zOS
Java on zSystems zOSJava on zSystems zOS
Java on zSystems zOS
 
Effectively Plan for Your Move to the Cloud
Effectively Plan for Your Move to the CloudEffectively Plan for Your Move to the Cloud
Effectively Plan for Your Move to the Cloud
 
CFSummit ColdFusion 2015 Load Balancing, Failover and Scalability
CFSummit ColdFusion 2015 Load Balancing, Failover and ScalabilityCFSummit ColdFusion 2015 Load Balancing, Failover and Scalability
CFSummit ColdFusion 2015 Load Balancing, Failover and Scalability
 
E g innovations overview
E g innovations overviewE g innovations overview
E g innovations overview
 
Load Balancing, Failover and Scalability with ColdFusion
Load Balancing, Failover and Scalability with ColdFusionLoad Balancing, Failover and Scalability with ColdFusion
Load Balancing, Failover and Scalability with ColdFusion
 
IBM Think 2019 session 2116 - Best practices for operating and managing a pro...
IBM Think 2019 session 2116 - Best practices for operating and managing a pro...IBM Think 2019 session 2116 - Best practices for operating and managing a pro...
IBM Think 2019 session 2116 - Best practices for operating and managing a pro...
 
Power systems virtualization with power kvm
Power systems virtualization with power kvmPower systems virtualization with power kvm
Power systems virtualization with power kvm
 
V mware v fabric 5 - what's new technical sales training presentation
V mware v fabric 5 - what's new technical sales training presentationV mware v fabric 5 - what's new technical sales training presentation
V mware v fabric 5 - what's new technical sales training presentation
 
PowerVC and Power Systems Cloud Trends
PowerVC and Power Systems Cloud TrendsPowerVC and Power Systems Cloud Trends
PowerVC and Power Systems Cloud Trends
 
IBM WebSphere Application Server Update - Technical University (March 2015)
IBM WebSphere Application Server Update - Technical University (March 2015)IBM WebSphere Application Server Update - Technical University (March 2015)
IBM WebSphere Application Server Update - Technical University (March 2015)
 
IBM Software Defined Networking for Virtual Environments (IBM SDN VE)
IBM Software Defined Networking for Virtual Environments (IBM SDN VE)IBM Software Defined Networking for Virtual Environments (IBM SDN VE)
IBM Software Defined Networking for Virtual Environments (IBM SDN VE)
 
Integrierte Experten Systeme_Erik-Werner Radtke_IBM Symposium 2013
Integrierte Experten Systeme_Erik-Werner Radtke_IBM Symposium 2013Integrierte Experten Systeme_Erik-Werner Radtke_IBM Symposium 2013
Integrierte Experten Systeme_Erik-Werner Radtke_IBM Symposium 2013
 
Introduction to ibm cloud paks concept license and minimum config public
Introduction to ibm cloud paks concept license and minimum config publicIntroduction to ibm cloud paks concept license and minimum config public
Introduction to ibm cloud paks concept license and minimum config public
 
Überwachung virtueller Umgebungen
Überwachung virtueller UmgebungenÜberwachung virtueller Umgebungen
Überwachung virtueller Umgebungen
 
Platform as a Service - Cloud Foundry and IBM Bluemix
Platform as a Service - Cloud Foundry and IBM BluemixPlatform as a Service - Cloud Foundry and IBM Bluemix
Platform as a Service - Cloud Foundry and IBM Bluemix
 
S104 twist and cloud
S104 twist and cloudS104 twist and cloud
S104 twist and cloud
 

More from Tim Ellison

The Extraordinary World of Quantum Computing
The Extraordinary World of Quantum ComputingThe Extraordinary World of Quantum Computing
The Extraordinary World of Quantum ComputingTim Ellison
 
Apache Big Data Europe 2016
Apache Big Data Europe 2016Apache Big Data Europe 2016
Apache Big Data Europe 2016Tim Ellison
 
A Java Implementer's Guide to Better Apache Spark Performance
A Java Implementer's Guide to Better Apache Spark PerformanceA Java Implementer's Guide to Better Apache Spark Performance
A Java Implementer's Guide to Better Apache Spark PerformanceTim Ellison
 
Apache Harmony: An Open Innovation
Apache Harmony: An Open InnovationApache Harmony: An Open Innovation
Apache Harmony: An Open InnovationTim Ellison
 
Inside IBM Java 7
Inside IBM Java 7Inside IBM Java 7
Inside IBM Java 7Tim Ellison
 
Real World Java Compatibility
Real World Java CompatibilityReal World Java Compatibility
Real World Java CompatibilityTim Ellison
 
Secure Engineering Practices for Java
Secure Engineering Practices for JavaSecure Engineering Practices for Java
Secure Engineering Practices for JavaTim Ellison
 
Securing Java in the Server Room
Securing Java in the Server RoomSecuring Java in the Server Room
Securing Java in the Server RoomTim Ellison
 
Modules all the way down: OSGi and the Java Platform Module System
Modules all the way down: OSGi and the Java Platform Module SystemModules all the way down: OSGi and the Java Platform Module System
Modules all the way down: OSGi and the Java Platform Module SystemTim Ellison
 
Using GPUs to Handle Big Data with Java
Using GPUs to Handle Big Data with JavaUsing GPUs to Handle Big Data with Java
Using GPUs to Handle Big Data with JavaTim Ellison
 

More from Tim Ellison (10)

The Extraordinary World of Quantum Computing
The Extraordinary World of Quantum ComputingThe Extraordinary World of Quantum Computing
The Extraordinary World of Quantum Computing
 
Apache Big Data Europe 2016
Apache Big Data Europe 2016Apache Big Data Europe 2016
Apache Big Data Europe 2016
 
A Java Implementer's Guide to Better Apache Spark Performance
A Java Implementer's Guide to Better Apache Spark PerformanceA Java Implementer's Guide to Better Apache Spark Performance
A Java Implementer's Guide to Better Apache Spark Performance
 
Apache Harmony: An Open Innovation
Apache Harmony: An Open InnovationApache Harmony: An Open Innovation
Apache Harmony: An Open Innovation
 
Inside IBM Java 7
Inside IBM Java 7Inside IBM Java 7
Inside IBM Java 7
 
Real World Java Compatibility
Real World Java CompatibilityReal World Java Compatibility
Real World Java Compatibility
 
Secure Engineering Practices for Java
Secure Engineering Practices for JavaSecure Engineering Practices for Java
Secure Engineering Practices for Java
 
Securing Java in the Server Room
Securing Java in the Server RoomSecuring Java in the Server Room
Securing Java in the Server Room
 
Modules all the way down: OSGi and the Java Platform Module System
Modules all the way down: OSGi and the Java Platform Module SystemModules all the way down: OSGi and the Java Platform Module System
Modules all the way down: OSGi and the Java Platform Module System
 
Using GPUs to Handle Big Data with Java
Using GPUs to Handle Big Data with JavaUsing GPUs to Handle Big Data with Java
Using GPUs to Handle Big Data with Java
 

Recently uploaded

Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Will Schroeder
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6DianaGray10
 
Cloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial DataCloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial DataSafe Software
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationIES VE
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...Aggregage
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IES VE
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8DianaGray10
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfDianaGray10
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsSeth Reyes
 
Babel Compiler - Transforming JavaScript for All Browsers.pptx
Babel Compiler - Transforming JavaScript for All Browsers.pptxBabel Compiler - Transforming JavaScript for All Browsers.pptx
Babel Compiler - Transforming JavaScript for All Browsers.pptxYounusS2
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxMatsuo Lab
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfDaniel Santiago Silva Capera
 
Digital magic. A small project for controlling smart light bulbs.
Digital magic. A small project for controlling smart light bulbs.Digital magic. A small project for controlling smart light bulbs.
Digital magic. A small project for controlling smart light bulbs.francesco barbera
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostMatt Ray
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1DianaGray10
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Adtran
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureEric D. Schabell
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1DianaGray10
 

Recently uploaded (20)

Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
 
Cloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial DataCloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial Data
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
 
Babel Compiler - Transforming JavaScript for All Browsers.pptx
Babel Compiler - Transforming JavaScript for All Browsers.pptxBabel Compiler - Transforming JavaScript for All Browsers.pptx
Babel Compiler - Transforming JavaScript for All Browsers.pptx
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptx
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
 
Digital magic. A small project for controlling smart light bulbs.
Digital magic. A small project for controlling smart light bulbs.Digital magic. A small project for controlling smart light bulbs.
Digital magic. A small project for controlling smart light bulbs.
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability Adventure
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
 

Virtualization aware Java VM

  • 1. © 2015 IBM Corporation IBM WebSphere Users Group 23rd March 2015 Virtualization Aware JVM Making the most of a virtualized environment Tim Ellison – Hursley labs
  • 2. © 2015 IBM Corporation Important Disclaimers THE INFORMATION CONTAINED IN THIS PRESENTATION IS PROVIDED FOR INFORMATIONAL PURPOSES ONLY. WHILST EFFORTS WERE MADE TO VERIFY THE COMPLETENESS AND ACCURACY OF THE INFORMATION CONTAINED IN THIS PRESENTATION, IT IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. ALL PERFORMANCE DATA INCLUDED IN THIS PRESENTATION HAVE BEEN GATHERED IN A CONTROLLED ENVIRONMENT. YOUR OWN TEST RESULTS MAY VARY BASED ON HARDWARE, SOFTWARE OR INFRASTRUCTURE DIFFERENCES. ALL DATA INCLUDED IN THIS PRESENTATION ARE MEANT TO BE USED ONLY AS A GUIDE. IN ADDITION, THE INFORMATION CONTAINED IN THIS PRESENTATION IS BASED ON IBM’S CURRENT PRODUCT PLANS AND STRATEGY, WHICH ARE SUBJECT TO CHANGE BY IBM, WITHOUT NOTICE. IBM AND ITS AFFILIATED COMPANIES SHALL NOT BE RESPONSIBLE FOR ANY DAMAGES ARISING OUT OF THE USE OF, OR OTHERWISE RELATED TO, THIS PRESENTATION OR ANY OTHER DOCUMENTATION. NOTHING CONTAINED IN THIS PRESENTATION IS INTENDED TO, OR SHALL HAVE THE EFFECT OF: - CREATING ANY WARRANT OR REPRESENTATION FROM IBM, ITS AFFILIATED COMPANIES OR ITS OR THEIR SUPPLIERS AND/OR LICENSORS 2
  • 3. © 2015 IBM Corporation3 Goals of this talk  Describe the impact of deep systems virtualization on the Java Virtual Machine (JVM) and Java Applications.  Explain the benefits of making the JVM virtualization aware.  Discuss techniques to optimize implementations for virtualized environments.
  • 4. © 2015 IBM Corporation4 A stylized system environment Hardware OS JVM Middle-ware Application Proprietary CPU, Memory, IO designed for optimal performanceProprietary CPU, Memory, IO designed for optimal performance Drivers, APIs, abstractions for software developers Language virtual machine for portability and convenience Business function building blocks and capabilities Achieves a department or end user goal Workload
  • 5. © 2015 IBM Corporation5 A data centre environment is no longer what it was... Hardware OS JVM Middle-ware Application Hardware OS JVM Middle-ware Application Hardware OS JVM Middle-ware Application Workload Workload Workload scaling Isolation Utilization
  • 6. © 2015 IBM Corporation6 A data centre environment is no longer what it was... Hardware OS JVM Middle-ware Application Hardware Hypervisor Guest OS Guest OS JVM Middle-ware Application JVM Middle-ware Application JVM Middle-ware Application JVM Middle-ware Application Workload Workload Workload Workload lightweight containers Virtualized machine
  • 7. © 2015 IBM Corporation7 Virtualization available at every layer  Hardware Virtualization  Helps pack in more applications compared to bare metal  These provide very good isolation at a cost of duplication of services → Higher Overhead  Usecase: Multiple customers can be hosted on the same infrastructure.  OS Virtualization - Containers  New light weight containers such as Docker, Warden, AIX WPAR, Solaris Containers provide basic isolation mechanism with very little overhead.  Usecase: Multiple applications each running inside a container of its own for a single customer.  Runtime Virtualization – Virtualization aware Java VM  Runtime Virtualization increases the resources that can be shared while still offering reduced isolation.  Usecase: Several instances of an application hosted on a single instance of Java for a single customer.
  • 8. © 2015 IBM Corporation8 What does this virtualization story mean to the JVM ?  Fixed view of hardware resources.  JVM resources do not change during application life-cycle.  Configuration usually determined at start-up, and doesn't change during the entire run.  Resources are elastic. Hypervisors might “re-assign” resources based on need.  Resource reporting APIs are unreliable !  Resources are shared, and limits can change dynamically.
  • 9. © 2015 IBM Corporation9 Physical View vs. Logical View – “How many CPUs do I have?” Hypervisor 2 vCPUs 2 vCPUs 2 Cores OS OS Hypervisor 2 vCPUs 2 vCPUs 4 Cores OS OS 2 vCPUs OS CPU Entitlement = 1 CPU Entitlement = 0.8 CPU Entitlement = 0.2 CPU Entitlement = 2 CPU Entitlement = 2
  • 10. © 2015 IBM Corporation10 Am I Real or Am I Virtual ?! Q. Do Java applications need to know if they are running inside a Guest OS ? A. Mostly No. Only a small class of applications benefit  Resource Orchestrators and Load Balancers  Monitoring tools  Debuggers and RAS Tools Q. Does the JVM implementation need to know if it is running inside a Guest OS ? A. Absolutely Yes !  Manage Java resources based upon real physical resources.  Provide virtualization info to applications.
  • 11. © 2015 IBM Corporation11 Benefits of a virtualization aware JVM  Make the most efficient use of resources in a virtualized environment.  Propagate the knowledge up the software stack to enable load balancers to take appropriate decisions.  Remove necessity for multiple middle-ware products to understand intricacies of hypervisors.  Provide unified interface to be able to deal with a multitude of hypervisors.
  • 12. © 2015 IBM Corporation12 IBM's JMX Beans for Virtualization  com.ibm.lang.management.OperatingSystemMXBean – with IBM Extensions – Extended OS usage statistics – Logical view • Processor • Memory – OS Support: AIX, Linux, Windows and z/OS  com.ibm.virtualization.management.HypervisorMXBean – Detect if we are running on a hypervisor. – Hypervisor Details (Currently only Vendor Name string) – Hypervisors Supported: z/VM, PR/SM, PowerVM, VMWare, KVM (x86 and Power), Hyper-V  com.ibm.virtualization.management.GuestOSMXBean – Guest OS usage statistics as seen from the hypervisor – Physical View – Usage Statistics • Processor • Memory – AIX & Linux on PowerVM, Linux and Windows on VMWare, z/OS & zLinux on z/VM
  • 13. © 2015 IBM Corporation13 JMX Beans for Virtualization Hardware OS JVM Middle-ware Application Hypervisor OS JVM Middle-ware Application OperatingSystemMXBean HypervisorMXBean & GuestOSMXBean
  • 14. © 2015 IBM Corporation14 OperatingSystemMXBean – New APIs
  • 15. © 2015 IBM Corporation15
  • 16. © 2015 IBM Corporation16
  • 17. © 2015 IBM Corporation17
  • 18. © 2015 IBM Corporation18
  • 19. © 2015 IBM Corporation19 GuestOSMXBean use-case – Tune internals of JVM & Websphere Hardware OS JVM Middle-ware Application Hypervisor OS JVM Middle-ware Application Determine Thread-pool size Tune GC & JIT parameters
  • 20. © 2015 IBM Corporation20 OperatingSystemMXBean use-case – Load Balance JVM Instances Hardware Monitoring Agent OS JVM Middle-ware Application JVM Middle-ware Application JVM Middle-ware Application Spawn / destroy a JVM based on system load
  • 21. © 2015 IBM Corporation21 Implementation Notes ■ The Beans are available in IBM Java SDK version 7.1 onwards ■ Hypervisor specific setup may be required to obtain usage data. – VMWare requires VMGuestLib to be installed (Is part of VMware tools) – Hypfs needs to be mounted on zLinux ■ Hypervisor detection known to fail on certain older Intel processors – IBM_JAVA_HYPERVISOR_SETTINGS environment variable can be used as a workaround – See javadoc for HypervisorMXBean for more details. ■ Some data may not be available on specific OS / Hypervisor combinations. – Javadoc should have all relevant info. ■ Currently only one level of hypervisor is supported. In case of multiple layers of hypervisor (e.g. on zSystems), only the top level hypervisor info is returned. ■ Javacore now contains virtualization info.
  • 22. © 2015 IBM Corporation22 Additional virtualization optimizations
  • 23. © 2015 IBM Corporation23 Dynamic Heap Adjustment (softmx)  ­Xmx – absolute limit, fixed at startup  ­Xsoftmx – soft limit <= -Xmx, set dynamically through JMX – Garbage collector tries to shrink to softmx over time – Once at target will not expand beyond it  OS Interaction – JVM advises OS when memory freed – Effectiveness depends on OS support  Use cases – Cap early, grow later – Shrink to free unused memory
  • 24. © 2015 IBM Corporation24 What is your application doing when Idle ?  Does your application use lots of CPU even when Idle ?  Historically poor Java idle behavior causes CPU burn – Inefficient CPU usage in the Cloud • Starves other VM's / JVM instances – Increased client costs for CPU Usage • Especially so on zSystems  Memory hoarding of Idle JVM's. – Reduce memory footprint when idle. • “Boilerplate” applications in Bluemix that are never used, but are taking up lots of memory.  First step is to be able to measure precise JVM CPU usage
  • 25. © 2015 IBM Corporation25 Application System-JVM Ability to categorize JVM threads for CPU usage Application-User1 Application Application -User2 App-User3 A-U4 Application-User5 GC JIT Other Sys CPUUsage Thread Groups Resource-Monitor
  • 26. © 2015 IBM Corporation26 JvmCpuMonitorMXBean
  • 27. © 2015 IBM Corporation27 JvmCpuMonitorInfo
  • 28. © 2015 IBM Corporation28 Javacore info
  • 29. © 2015 IBM Corporation29 Use Cases for Thread-based CPU Usage  Reporting transaction CPU usage  Identifying "expensive" transactions  Reporting JVM overhead over specific intervals  Foundation for future work on tracking idle behaviour  …  Available in IBM Java SDK version 8 onwards References ● http://www-01.ibm.com/support/knowledgecenter/SSYKE2_8.0.0/com.ibm.java.api.80.doc/com.ibm.lang.management/com/ibm/lang/management/JvmCpuMonitorMXBean.html ● http://www-01.ibm.com/support/knowledgecenter/SSYKE2_8.0.0/com.ibm.java.lnx.80.doc/diag/appendixes/cmdline/xxreducecpumonitoroverhead.html?lang=en
  • 30. © 2015 IBM Corporation30 -Xtune:virtualized  Available from Java 7 SR4 onwards.  Reduces JVM CPU consumption when Idle (mostly JIT).  Needs a large shared class cache to maintain peak performance.  AOT space in the Shared Class Cache (SCC) must not be capped.
  • 31. © 2015 IBM Corporation31 Summary  Virtualization layers hide “real” resource information.  JVM needs to know the underlying architecture at start time. – It then needs to periodically monitor for any changes.  Applications can make use of the MBeans to do the same.  Use only as much memory as you need. – Make use of SoftMX to reduce the heap dynamically.  Idle detection and deep sleep helps cut costs. – Use MXBean to monitor Idle behaviour.
  • 32. © 2015 IBM Corporation32 Copyright and Trademarks © IBM Corporation 2015. All Rights Reserved. IBM, the IBM logo, and ibm.com are trademarks or registered trademarks of International Business Machines Corp., and registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web – see the IBM “Copyright and trademark information” page at URL: www.ibm.com/legal/copytrade.shtml