Load Balancing Interfaces for Managed Memory Time-Outs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Prolonged suspension of managed threads during memory heap sweeps can lead to time-outs in application execution, particularly when memory management implementations exceed certain thresholds.

Innovation Solution

Implementing load balancing interfaces and APIs, such as MaxGenerationNotifier and MaxGenerationCompleteNotifier, to monitor and manage memory management operations, allowing for proactive redistribution of application execution to avoid time-outs by detecting impending large-scale garbage collections and notifying a load balancer to redirect processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If memory heap sweep is performed to manage memory, then memory management is improved, but managed thread execution is suspended causing application time-out

Engineering Contradiction:
Improvememory managementVSAvoidapplication execution time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The memory heap is divided into multiple segments or regions that can be swept independently and concurrently. Multiple worker threads perform garbage collection on different segments simultaneously, reducing the total suspension time for managed threads while maintaining effective memory management.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The garbage collection process is designed to continue sweeping memory segments in the background without completely suspending managed thread execution. By maintaining continuous sweeping action across multiple segments, the system achieves both memory management and reduced execution interruption.

Inventive Principle:
Principle #20Continuity of useful action

2Reliability

If comprehensive memory sweep is performed to ensure thorough garbage collection, then memory cleanup completeness is improved, but execution suspension duration increases

Engineering Contradiction:
Improvegarbage collection completenessVSAvoidsuspension duration
Core Design Contradiction:
ReliabilityVSDuration of action of moving object

Solution Approach 1:

The memory heap is segmented into multiple regions that are swept by different worker threads in parallel. This segmentation allows comprehensive garbage collection across all segments while reducing the suspension duration for any single segment, as managed threads are only suspended for the duration of their specific segment's sweep.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Multiple garbage collection worker threads are merged to operate simultaneously on different memory segments. This combining of multiple collection efforts achieves thorough garbage collection completeness while distributing the suspension burden across shorter, concurrent time intervals.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS7926071B2Load balancing interfaces
Publication Date: 2011.04.12 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7926071B2 patent drawing
  • US7926071B2 patent drawing
  • US7926071B2 patent drawing

AI summary

Interfaces are provided to notify of conditions pertaining to memory management. Thus, efforts to avoid time-outs during execution of code in a managed execution environment may be implemented.