Dynamic Garbage Collection Scheduling for Server Farms

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In client/server systems, manual garbage collection is complex and error-prone, leading to issues like memory leaks and execution pauses, while automatic garbage collection consumes resources and can disrupt service levels.

Innovation Solution

A method is introduced to dynamically identify servers for garbage collection based on memory usage thresholds, where servers are temporarily taken out of service for garbage collection, minimizing pauses and optimizing resource reuse.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If automatic garbage collection is performed on servers, then memory management is simplified and memory leaks are prevented, but service disruption and execution pauses increase

Engineering Contradiction:
Improvememory management reliabilityVSAvoidservice availability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system divides the server farm into multiple segments (individual servers) and performs garbage collection on selected segments while others continue servicing requests. This segmentation allows memory management to be handled independently on each server, preventing system-wide service disruption.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system combines multiple servers into a unified pool where servers can be dynamically selected for garbage collection based on current workload and memory conditions. This merging allows the system to maintain overall service availability while performing GC on individual servers.

Inventive Principle:
Principle #5Merging (Combining)

2Quantity of substance

If garbage collection is performed frequently to reclaim memory, then memory reuse efficiency is improved, but service disruption increases

Engineering Contradiction:
Improveavailable memoryVSAvoidservice interruption time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The system dynamically adjusts the timing and selection of garbage collection operations based on real-time server conditions, including current workload, memory usage thresholds, and service demand. This dynamic approach allows memory reclamation to occur when it has minimal impact on service availability.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system implements periodic monitoring of memory usage on servers and triggers garbage collection operations at scheduled intervals or when thresholds are reached, rather than continuously or ad-hoc. This periodic action balances memory reclamation needs with service continuity.

Inventive Principle:
Principle #19Periodic action

3Adaptability or versatility

If manual garbage collection is implemented, then control over timing is improved, but complexity and error-proneness increase

Engineering Contradiction:
Improvegarbage collection controlVSAvoidmemory management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system implements automatic monitoring and triggering of garbage collection operations based on pre-defined memory usage thresholds and server conditions. This self-service approach eliminates the need for manual intervention while maintaining adaptive control, reducing complexity and human error.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system continuously monitors memory usage on each server and uses this feedback to automatically determine when garbage collection should be initiated. This feedback mechanism provides adaptive control without requiring manual management, balancing memory reclamation needs with service availability.

Inventive Principle:
Principle #23Feedback

4Quantity of substance

If garbage collection is performed on all servers simultaneously, then memory reclamation is maximized, but service disruption is widespread

Engineering Contradiction:
Improvereclaimed memoryVSAvoidoverall service capacity
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The system divides the garbage collection process into separate operations on individual servers rather than executing simultaneously across all servers. This segmentation ensures that only a subset of servers experiences service disruption at any given time, maintaining overall service capacity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs garbage collection on only the necessary subset of servers at any given time, based on current memory needs and service conditions, rather than executing GC on all servers simultaneously. This partial action approach maintains service capacity while still achieving adequate memory reclamation.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS8892610B1System and method for garbage collection pause reduction
Publication Date: 2014.11.18 GOOGLE LLC
  • US8892610B1 patent drawing
  • US8892610B1 patent drawing
  • US8892610B1 patent drawing

AI summary

A method to schedule garbage collection operations may be executed in a client/server system using multiple servers. The method includes comparing usage of memory in respective ones of the plurality of servers to one or more memory usage thresholds and dynamically identifying one or more servers in which to perform garbage collection of memory objects during a particular time period. By distributing the durations over which garbage collection is performed on respective servers, the client server system, among other things, reduces the pauses in servicing client requests.