Dynamic Execution Budget Management for Distributed Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed computing systems face performance degradation due to 'retry storms' caused by cascading failures across multiple services, leading to increased latency and potential system-wide outages, as existing retry mechanisms lack effective management of execution budgets.

Innovation Solution

Implementing dynamic execution budgets that limit the number of retries and execution time across the entire application graph, allowing for selective allocation of budgets based on prior performance of services and hosts to prevent cascading failures and optimize resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If retry mechanisms are implemented across distributed services to handle failures, then system reliability is improved, but retry storms occur causing increased latency and system-wide outages

Engineering Contradiction:
Improvesystem reliabilityVSAvoidlatency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system dynamically changes the retry budget parameter based on service performance metrics and current system state. Each service is allocated a specific retry budget that limits the number of retries, preventing unlimited retry storms while maintaining adequate retry capacity for handling transient failures. This parameter control resolves the contradiction by bounding retry behavior to prevent latency explosions.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The retry budget allocation is dynamic rather than static. The system continuously monitors service performance and adjusts retry budgets in real-time, allocating more retries to well-performing services and fewer to struggling services. This dynamic adaptation prevents retry storms from propagating system-wide while maintaining high reliability for healthy services.

Inventive Principle:
Principle #15Dynamics

2Loss of time

If execution budgets are strictly limited to prevent retry storms, then latency is reduced, but system stability deteriorates due to cascading failures

Engineering Contradiction:
ImprovelatencyVSAvoidsystem stability
Core Design Contradiction:
Loss of timeVSStability of the object's composition

Solution Approach 1:

The system implements feedback loops that monitor service performance metrics and use this information to adjust retry budgets dynamically. When services are performing well, the system allows higher retry budgets; when services show signs of struggle, the system reduces budgets to prevent cascading failures. This feedback mechanism maintains system stability while managing latency.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs preliminary actions by pre-calculating and allocating retry budgets before retry storms can occur. By proactively managing retry capacity based on current system state and historical performance, the system prevents cascading failures before they propagate, maintaining stability while controlling latency.

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If uniform retry budgets are allocated to all services, then ease of operation is improved, but productivity decreases due to inefficient resource utilization across the application graph

Engineering Contradiction:
Improveease of operationVSAvoidtask completion efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The system applies local quality by allocating different retry budgets to different services based on their individual performance characteristics and criticality. High-performing services receive larger retry budgets, while struggling services receive smaller budgets. This localized differentiation maximizes overall system productivity by concentrating retry capacity where it is most effective.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system changes retry budget parameters dynamically based on service performance metrics. Instead of uniform allocation, each service receives a customized retry budget that reflects its actual needs and performance. This parameter adaptation improves productivity by ensuring that retry resources are allocated efficiently across the distributed system.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10992517B1Dynamic distributed execution budget management system
Publication Date: 2021.04.27 AMAZON TECH INC
  • US10992517B1 patent drawing
  • US10992517B1 patent drawing
  • US10992517B1 patent drawing

AI summary

Systems and methods are provided for managing computing tasks in distributed computing systems using execution budgets. Execution budgets may include a budgeted number of operation retries that may be performed by a distributed computing system in response to failure of an operation, or a budgeted amount of time in which the distributed computing system may perform the operations of a computing task. The configuration of the distributed system to execute the computing task may be generated based on prior consumption of execution budgets by portions of the computing system.