Load Attenuating Thread Pools for Distributed Resource Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed computing environments, resource contention leads to performance degradation due to shared resources being oversaturated or overloaded, resulting in outages and poor user experiences, especially in multi-tenant SaaS platforms where 'noisy neighbor' issues arise from batch jobs impacting other tenants.

Innovation Solution

Implementing Load Attenuating Thread Pools (LATP) that dynamically manage worker threads based on resource utilization metrics, allowing for real-time adjustments to prevent overload by adding, removing, or maintaining thread counts in thread pools, ensuring sufficient headroom for higher priority requests.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the number of worker threads in a thread pool is increased to improve processing capacity for batch jobs, then the productivity of batch processing improves, but the shared resource becomes oversaturated leading to performance degradation and outages for high-priority requests

Engineering Contradiction:
Improvebatch processing capacityVSAvoidservice availability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements dynamic thread pool management where the number of worker threads is adjusted in real-time based on resource utilization metrics. Thread pools transition between different states (e.g., idle, active, attenuated) based on monitored conditions, allowing the system to adapt thread count dynamically rather than using a fixed size. This resolves the contradiction by enabling high thread counts when resources are available and low thread counts when resources are constrained.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system continuously monitors resource utilization metrics and uses this feedback to control thread pool behavior. When resource utilization exceeds thresholds, the system attenuates (reduces) the number of worker threads. When utilization is low, threads are restored. This closed-loop feedback mechanism ensures that batch processing can utilize resources aggressively when available while automatically backing off to prevent saturation, thus maintaining both productivity and reliability.

Inventive Principle:
Principle #23Feedback

2Productivity

If resource utilization is increased to maximize throughput, then productivity improves, but the system becomes vulnerable to overload and outages

Engineering Contradiction:
Improveresource throughputVSAvoidsystem overload
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The patent implements preemptive load attenuation by monitoring resource utilization and reducing thread counts before the system becomes overloaded. By detecting early signs of resource saturation and proactively attenuating thread pools, the system prevents harmful overload conditions from developing. This preliminary anti-action approach maintains high throughput during normal operation while preventing the harmful effects of saturation before they occur.

Inventive Principle:
Principle #9Preliminary anti-action

3Device complexity

If thread pool size is fixed to simplify management, then device complexity is reduced, but the system cannot adapt to changing resource conditions

Engineering Contradiction:
Improvethread management complexityVSAvoidresource adaptation
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent implements self-service thread management where the thread pool automatically adjusts its own size based on monitored resource conditions without requiring external intervention or complex manual configuration. The system monitors itself, makes decisions about thread attenuation and restoration automatically, and manages its own lifecycle. This maintains simplicity while achieving high adaptability, as the thread pool serves itself rather than requiring external control mechanisms.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11740934B2Systems and methods for thread management to optimize resource utilization in a distributed computing environment
Publication Date: 2023.08.29 SAILPOINT TECHNOLOGIES INC
  • US11740934B2 patent drawing
  • US11740934B2 patent drawing
  • US11740934B2 patent drawing

AI summary

Systems and methods for embodiments for load attenuating thread pools (LATP) that may be associated with a service deployed in distributed computer environment, where that service utilizes a shared resource. A LATP includes a thread pool comprising a number of worker threads servicing requests handled by a service that includes such a LATP. The thread pool is managed by a thread pool manager of the LATP that can attenuate (herein used to mean add, remove or leave unchanged) the number of worker threads in the thread pool based on a resource utilization metric associated with the shared resource.