Dynamic Concurrency Limit Adjustment for Serverless Functions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Serverless computing platforms face challenges in managing the concurrency of serverless functions, leading to prohibitively low processing speed and high latency due to fixed concurrency limits that do not adapt to changing performance metrics, potentially causing bottlenecks and inefficient resource utilization.

Innovation Solution

A system and method that dynamically set and adjust the concurrency limit of serverless functions based on real-time performance metrics such as throughput and latency, increasing the limit when metrics meet predetermined thresholds and decreasing it when they degrade, to optimize resource allocation and prevent service overload.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a fixed concurrency limit is set for serverless functions, then resource allocation is controlled and stability is maintained, but processing speed becomes prohibitively low and latency increases due to inability to adapt to changing performance metrics

Engineering Contradiction:
Improveprocessing speedVSAvoidconcurrency management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamic concurrency limits that automatically adjust based on real-time performance metrics. The system transitions from a static fixed limit to a dynamic adaptive limit that scales up when performance thresholds are met and scales down when thresholds are exceeded, resolving the contradiction between maintaining control/stability and achieving high processing speed.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system continuously monitors performance metrics (throughput, latency, error rates) and uses this feedback to adjust concurrency limits. When metrics indicate healthy performance, the system increases concurrency to improve processing speed. When metrics degrade, it reduces concurrency to maintain stability, thus resolving the contradiction through closed-loop control.

Inventive Principle:
Principle #23Feedback

2Productivity

If concurrency limit is increased to improve processing speed, then throughput increases, but system stability deteriorates and bottlenecks occur due to service overload

Engineering Contradiction:
ImprovethroughputVSAvoidsystem stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system dynamically adjusts concurrency limits based on real-time performance feedback, allowing throughput to increase when services can handle the load while automatically reducing concurrency when stability issues arise, thus resolving the contradiction between high throughput and system stability.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the concurrency limit parameter adaptively based on performance metric thresholds. When metrics indicate healthy system state, the concurrency parameter is increased to boost throughput. When metrics indicate stress or bottlenecks, the parameter is reduced to maintain stability, resolving the contradiction through adaptive parameter adjustment.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If concurrency limit is decreased to maintain system stability, then reliability is improved, but processing speed and throughput become prohibitively low

Engineering Contradiction:
Improvesystem stabilityVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system uses performance metric feedback to determine when to reduce concurrency for stability and when to increase it for speed. By continuously monitoring metrics and adjusting accordingly, the system maintains stability only when necessary rather than permanently limiting concurrency, thus resolving the contradiction between reliability and processing speed.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

Rather than maintaining a permanently low concurrency limit for stability, the system dynamically adjusts the limit based on current system state. This allows the system to achieve high processing speed when stable and reduce to low concurrency only when stability is threatened, resolving the contradiction through temporal adaptability.

Inventive Principle:
Principle #15Dynamics

4Productivity

If dynamic adjustment of concurrency limit is implemented, then processing speed and resource utilization are optimized, but system complexity increases due to additional monitoring and control mechanisms

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidcontrol mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs self-adjustment of concurrency limits based on its own performance metrics without requiring external intervention or complex manual control mechanisms. The automated monitoring and adjustment capabilities are built into the system itself, resolving the contradiction between optimized resource utilization and control mechanism complexity through self-management.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11018965B1Serverless function scaling
Publication Date: 2021.05.25 RED HAT INC
  • US11018965B1 patent drawing
  • US11018965B1 patent drawing
  • US11018965B1 patent drawing

AI summary

The present disclosure provides for systems and methods for dynamically managing a concurrency limit of a serverless function, in other words, a quantity of instances of a serverless function that may be concurrently executed. Performance metrics of the serverless function as it is implemented by services may be measured and compared against preconfigured thresholds. If the performance metrics meet the preconfigured thresholds, the concurrency limit of the serverless function may be increased. In some aspects, if one or more performance metrics fails to meet a respective preconfigured threshold, the concurrency limit of the serverless function may be decreased.