Staggered Garbage Collection Scheduling for Distributed System Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed systems face significant latency issues due to garbage collection operations, which can synchronize across servers, leading to increased wait times for clients and inefficient resource utilization, particularly in large-scale backend computing systems like social networks and banking institutions.

Innovation Solution

Implementing a scheduling mechanism where time data is created and shared among clients and servers to stagger garbage collection periods, allowing clients to select servers that are not currently garbage collecting, thereby minimizing latency and optimizing resource allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Extent of automation

If servers perform garbage collection operations simultaneously, then memory management is automated and efficient, but system latency increases and responsiveness deteriorates

Engineering Contradiction:
Improveautomatic memory managementVSAvoidsystem latency
Core Design Contradiction:
Extent of automationVSLoss of time

Solution Approach 1:

The patent implements periodic garbage collection actions with staggered timing across different servers. Each server performs GC at scheduled intervals rather than simultaneously, converting the continuous problematic state into periodic controlled events. This maintains automated memory management while reducing overall system latency through temporal distribution.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The patent segments the garbage collection process by dividing the server fleet into different groups that perform GC at different times. Instead of a monolithic simultaneous GC across all servers, the system creates segmented time windows where only subsets of servers perform GC concurrently, reducing the aggregate impact on system responsiveness.

Inventive Principle:
Principle #1Segmentation

2Ease of operation

If the lease approach is used to avoid GCing servers, then request routing improves, but communication overhead increases

Engineering Contradiction:
Improverequest routingVSAvoidcommunication overhead
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-scheduling garbage collection times for each server and making this schedule available to clients before requests are made. Clients can proactively select servers that are not currently in GC based on published schedules, eliminating the need for real-time lease negotiation and reducing communication overhead significantly.

Inventive Principle:
Principle #10Preliminary action

3Speed

If garbage collection time is reduced, then system responsiveness improves, but memory management effectiveness deteriorates

Engineering Contradiction:
Improvesystem responsivenessVSAvoidmemory management effectiveness
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent segments the garbage collection workload across multiple servers with staggered timing. Each individual server can complete its GC cycle quickly, maintaining short GC duration for responsiveness, while the distributed approach ensures that memory management effectiveness is maintained across the entire system through coordinated operation of multiple servers.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9727457B2Minimizing latency due to garbage collection in a distributed system
Publication Date: 2017.08.08 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9727457B2 patent drawing
  • US9727457B2 patent drawing
  • US9727457B2 patent drawing

AI summary

Techniques are provided for minimizing latency due to garbage collection in a distributed system. Time data is stored at a computing device. The time data indicates when each of multiple computing nodes (e.g., servers) in the distributed system might be performing (or is scheduled to perform) a garbage collection operation. The computing device receives a first request and, in response, determines, based on the time data, one or more computing nodes to process a second (e.g., related) request, which may contain identical content as in the first request. The second request is sent to the one or more computing nodes.