Overview: Oracle JRockit Real Time & JRockit Mission Control Mark Prichard & Erik Bergenholtz Java Products Group The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.

© 2010 Proprietary and Confidential Agenda

• Product Overview • JRockit Real Time • JRockit Mission Control Overview • Demo – Console – Memory Leak analyzer • JRockit Virtual Edition • JRockit Flight Recorder • Demo – JRockit Flight Recorder – WLDF (WebLogic Diagnostics Framework)

BEA Confidential. | 3 Oracle Application Grid

Custom Packaged SOA C /C++ / Appliance Legacy App App Service Cobol

Application Grid

WebLogic Server Tuxedo

Coherence Enterprise Manager JRockit / Hotspot Virtual Physical

Efficiency Competitiveness Simplification Lowest operational Outperform with speed and Best foundation for costs flexibility entire software stack JRockit Basic Facts

• Complete implementation of Java – 100% compatible with the Sun Java SE implementation • Underpins product stack – Optimized stack • Architeched and optimized for server-side Java – High Performance – ”Zero downtime” tooling (value-add through Mission Control) – Real-time GC (through JRockit Real Time) JRockit Main Features

• No byte-code interpreter – All methods are compiled • Advanced JIT compiler – Hot methods are optimized and inlined • Concurrent and parallel garbage collection – Both generational and single-spaced – Garbage collection of code and classes – Real-time garbage collection Agenda

• Product Overview • JRockit Real Time • JRockit Mission Control Overview • Demo – Console – Memory Leak analyzer • JRockit Virtual Edition • JRockit Flight Recorder • Demo – JRockit Flight Recorder – WLDF (WebLogic Diagnostics Framework)

BEA Confidential. | 7 Oracle JRockit Real Time

• Use Case -Extreme low latency and predictability for Java applications – Time Critical • Benefits – Guaranteed maximum response times • Single-digit ms GC pause times definition • Enhanced Mission Control Eclipse-based Integration • Deterministic QoS under heavy load • No code re-writes

“At first, we doubted BEA's performance claims for JRRT After all, if it were possible to lose the garbage-collection latency, wouldn't Sun have done it already? After testing JRRT in several scenarios, we concluded Oracle's solution works.” -Network Computing Typical Pain Points

• “We have problems with long GC pauses in our Java application” • “We are going to build an application which requires millisecond response times, and want to do it in Java” • “We have a response time SLA to our customers. If we don’t meet it, we have to pay fines.” • “We would like to migrate our C application to Java, but we are concerned about Garbage Collection pauses.” • “Every millisecond delay means we lose money due to losing deals or increase arbitrage costs.”

BEA Confidential. | 9 Standard JVM Unpredictable Response Times due to GC

Application startup JRockit Real Time in Action Avoid Latency Spikes with Deterministic GC

Application startup Throughput and Latency Tradeoffs

Parallel GC – Optimized to increase throughput

Java application threads

Garbage Collector threads (1 per processor)

Concurrent GC – Optimized to reduce pause time

Java application threads

Garbage Collector thread

Concurrent GC consumes additional resources WLRT – Deterministic GC

• Provides QoS guarantees – Usage: ”-Xgcprio:deterministic –XpauseTarget=10ms • Highly tuned mostly concurrent mark-n-sweep GC – Most work done concurrently, pauses are frequent but very short – Back off, split work and reschedule if nearing QoS limit (divide and conquer) One GC cycle (phases 0-2, 2-4, 4-5, 5 visible) 500 ms

20 s JRockit Mission Control

• Monitor health & performance in production • Visualize application & JVM events per thread – Nanosecond granularity (subject to OS limitations) • Identify and remedy latency issues Mission Control Architecture

Mission Control GUI

Deploy Mission Control Server

Standard APIs (JMX, XML)

Built into JRockit Console (jrcmd) java –Xmanagement:port=7091 Hello Agenda

• Product Overview • JRockit Real Time • JRockit Mission Control Overview • Demo – Console – Memory Leak analyzer • JRockit Virtual Edition • JRockit Flight Recorder • Demo – JRockit Flight Recorder – WLDF (WebLogic Diagnostics Framework)

BEA Confidential. | 16 Agenda

• Product Overview • JRockit Real Time • JRockit Mission Control Overview • Demo – Console – Memory Leak analyzer • JRockit Virtual Edition • JRockit Flight Recorder • Demo – JRockit Flight Recorder – WLDF (WebLogic Diagnostics Framework)

BEA Confidential. | 17 Oracle JRockit Virtual Edition Optimized Java Infrastructure

• Runs natively on hypervisor TraditionalOptimized Virtualized Java Java – More efficient use of hardware Execution Stack

resources WebLogic Server with WebLogic Server – Higher density JRockit Virtual Edition

– Better performance • Reduced operational cost Guest Operating System – Simpler patching JRockit Virtual Edition – Improved security HypervisorOracle VM • Custom Java appliances – Building blocks for larger Bare Metal Hardware assemblies – Simple deployment JRockit Virtual Edition How does it work?

JRockit –VE OS Layer

TCP/IP File System

Scheduler H/W

WebLogic Server with JRockit Virtual Edition

WebLogic Server • TCP/IP: Network communication

JRockit –VE f • Scheduler: Runs Java threads. Single process Oracle VM • File System: Local [virtual] disk • HW: Hardware device interaction. Network Bare Metal Hardware card, virtual screen, etc. WebLogic Server with JRockit Virtual Edition

• Standard WebLogic Server – Running on JRockit VE • Simplified and efficient WebLogic Cluster virtualized Java EE Virtualized Virtualized Virtualized Managed Managed Managed – Administration and management Server Server Server is virtualization aware JRockit VE JRockit VE JRockit VE

• Increased performance Hypervisor and density – Virtualized Java EE Virtualized Resource Pool applications run faster and with more instances on the same hardware Simplified: JRockit Virtual Edition

(Approximate JRockit Linux JeOS Numbers) Virtual Edition Config. Files 1000 200 1 Commands 3000 500 10 Command Params. 50,000 10,000 100 Admin Tools 500 200 1 Boot Time (s) 50 30 1 Size (MB) 1000 200 2 Reduction Ratio from Linux 1 ~2 ~300 Performance: JRockit Virtual Edition

Performance Issue Standard WebLogic on JVM / OS JRockit Virtual Edition Java Aware Scheduling? No Yes Kernel Mode Transitions? Many Very few Shorter Switching Times? No Yes Optimize size of Heap No Yes Shorter I/O Path? No Yes Virtualized Performance: WebLogic Server on JRockit Virtual Edition

WebLogic WebLogic Server on WebLogic Server Configuration Server on JRockit Virtual on Guest OS Physical OS Edition WebLogic Server 10.3.2 GA 10.3.2 GA 10.3.2 GA Clock Speed 2.8 GHz 2.8 GHz 2.8 GHz Memory 24GB 4GB33% increased6GB Memory Speed (MHz) 1066 1066performance1066 over Operating System OEL5.4 OVM/JRVEa guestOVM/OEL5.4 OS PV JRockit R27.6.2-20 R27.6.3-40 R27.6.2-20 Heap (GB) 3.6 3.3 3.6 Operations / Sec 348 300 225 Agenda

• Product Overview • JRockit Real Time • JRockit Mission Control Overview • Demo – Console – Memory Leak analyzer • JRockit Virtual Edition • JRockit Flight Recorder & WLDF • Demo – JRockit Flight Recorder – WLDF (WebLogic Diagnostics Framework)

BEA Confidential. | 24 What is the JRockit Flight Recorder

• New in JRockit R28 New Data • “Circular buffer” in JRockit JVM that stores diagnostic data – Always on – New data comes in and is stored, old data dropped off

• Built-in integration with JRMC Time – Replaces JRMC Runtime Analyzer and Latency Analyzer • Very low/near zero overhead

– Uses data already used by JVM Flight Recording • Data can include events from the JVM and from any other event producer – WebLogic Server (WLDF) Old Data – Fusion Middleware (DMS) JRockit Flight Recorder Use Cases

• What it is designed for? – Provide diagnostic information in running production systems – Capture most recent activity to enable analysis leading up to an issue – Capture data from all levels JVM, WLS, DMS, etc… – Offline/offsite analysis can be done using the JRMC GUI – JRockit dumps capture information to assist in crash-analysis • What it is not designed for? – Large event payloads or very high volumes of events – Long history – Not a replacement for Debug logging or the server logging WLDF/JFR Integration Overview

• JRockit R28 added JRockit Flight Recorder (JFR) capability – Similar in concept to aircraft black box – Designed for fulltime use in production systems – Rolling window of most recent diagnostic event data (circular buffer) – Provides overall view activity, top to bottom • API allows others to produce JFR event data (WLDF, DMS, etc…) • Tooling support for the customers to view/use the JFR (JRMC GUI, JRCMD) • WLDF/JFR Integration – Provides JFR events to highlight activity in Weblogic Server – Records JFR data in WLDF Image Captures – Provides enhanced WLST access to WLDF Image Captures WLDF/JFR Integration Features

• WLDF Image capture – Records all JFR data that is available from all producers – WLST Helper APIs for listing and copying captured diagnostic image data • WLDF JFR event production for WLS component usages – WebApp, EJB, JDBC, JTA, JMS, Web Services, Connector, … – WLDF automatically throttles event production (non-intrusive) • WLDF Diagnostic Volume control (Off, Low, Medium, High) – 1 simple control (no need to configure a WLDF module) – PS2 default volume is Off, default may change to Low – Volume may be used in the future for more general WLDF feature coverage Agenda

• Product Overview • JRockit Real Time • JRockit Mission Control Overview • Demo – Console – Memory Leak analyzer • JRockit Virtual Edition • JRockit Flight Recorder • Demo – JRockit Flight Recorder – WLDF (WebLogic Diagnostics Framework)

BEA Confidential. | 29