JVM Heap Tuning via Transaction Volume Forecasting

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current Java Virtual Machine (JVM) garbage collection processes in multi-processor systems are inefficient, causing throughput reduction due to prolonged application processing stops during garbage collection events, as only one processor can perform garbage collection at a time, leading to idle processors and potential delays in handling increased transaction volumes.

Innovation Solution

A method and system that gather and analyze garbage collection event data to identify correlations with transaction volumes, forecast future heap memory utilization and garbage collection activity, and adjust heap parameters to optimize garbage collection efficiency, reducing processing delays and the need for additional hardware.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Extent of automation

If automated garbage collection is performed periodically on the heap, then memory management is automated and objects are reclaimed, but application processing stops during garbage collection events

Engineering Contradiction:
Improveautomated garbage collectionVSAvoidapplication processing stop time
Core Design Contradiction:
Extent of automationVSLoss of time

Solution Approach 1:

The system performs preliminary analysis of garbage collection logs and transaction patterns to forecast future garbage collection needs. By predicting when garbage collection will be needed based on historical data and transaction volumes, the system can prepare in advance, potentially scheduling garbage collection during natural low-activity periods rather than causing unexpected processing stops.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system continuously monitors and analyzes garbage collection events, collecting data on collection duration, frequency, and transaction volumes. This feedback loop allows the system to identify patterns and correlations, adjusting future garbage collection timing and duration based on observed system behavior and workload characteristics.

Inventive Principle:
Principle #23Feedback

2Reliability

If only one processor performs garbage collection at a time in a multi-processor system, then garbage collection can be performed, but other processors remain idle and throughput is reduced

Engineering Contradiction:
Improvegarbage collection executionVSAvoidsystem throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system forecasts future garbage collection requirements based on analyzed patterns from historical data. By predicting when garbage collection will be needed and estimating its duration, the system can proactively schedule garbage collection events during periods of lower transaction activity, thereby minimizing the impact on overall system throughput and reducing idle processor time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adjusts garbage collection scheduling based on real-time workload conditions and historical patterns. Rather than using fixed intervals, the scheduling adapts to varying transaction volumes and system states, optimizing the balance between performing necessary garbage collection and maintaining high processor utilization.

Inventive Principle:
Principle #15Dynamics

3Productivity

If garbage collection duration is reduced to maintain throughput, then processor utilization improves, but garbage collection may not complete thoroughly

Engineering Contradiction:
Improveprocessor utilizationVSAvoidgarbage collection completeness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary analysis of transaction patterns and garbage collection history to identify optimal timing windows. By forecasting future garbage collection needs and selecting appropriate time windows in advance, the system can schedule collections when workload is naturally lower, allowing sufficient duration for complete garbage collection while minimizing impact on overall throughput.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses its own operational data and patterns to automatically optimize its garbage collection scheduling. By analyzing its own performance metrics and transaction patterns, the system self-adjusts collection timing and duration to achieve both completeness and efficiency without external intervention.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8583783B1Method and system for adaptive recovery of heap memory
Publication Date: 2013.11.12 T MOBILE INNOVATIONS LLC
  • US8583783B1 patent drawing
  • US8583783B1 patent drawing
  • US8583783B1 patent drawing

AI summary

A method is provided for garbage collection in a heap of an application server that uses automated garbage collection. The method comprises gathering information about a plurality of garbage collection events. The method further comprises identifying a correlation between garbage collection activity and a volume of applications transactions in the application server. The method further comprises, based on the correlation, forecasting at least one of a future utilization of heap memory and a future garbage collection activity based on a projected future transaction volume. The method further comprises tuning the heap based on the forecast.