Burst Throttling via Sequential I/O Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computer systems face challenges in managing workload variations and preventing overload scenarios in multi-tenant block-level data storage services, as they struggle to define a meaningful global threshold for service requests that are unpredictable and vary in rate and intensity.

Innovation Solution

Implementing a burst token bucket model and a global work token bucket mechanism to dynamically allocate and throttle I/O operations, allowing for burst allocation of resources and efficient workload management by using tokens representing I/O credits, which are accumulated and consumed based on workload demands.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a fixed global threshold is used to compare request rates, then service overload can be prevented, but the system cannot adapt to temporal and spatial workload variations

Engineering Contradiction:
Improveoverload preventionVSAvoidworkload variation handling
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic threshold adjustment by continuously monitoring workload patterns and adapting the threshold accordingly. Instead of using a fixed global threshold, the system dynamically modifies thresholds based on observed temporal and spatial workload variations, allowing the system to maintain reliability while adapting to changing conditions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of the threshold from a fixed value to a dynamic value that adjusts based on workload characteristics. By monitoring request patterns and modifying the threshold parameter in response to observed variations, the system resolves the contradiction between maintaining a stable threshold for overload prevention and adapting to varying workload conditions.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If service is denied or throttled during overload, then system stability is maintained, but customer satisfaction decreases

Engineering Contradiction:
Improvesystem stabilityVSAvoidcustomer service quality
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by proactively adjusting thresholds before overload occurs. By continuously monitoring workload patterns and preemptively modifying thresholds in response to emerging trends, the system prevents overload conditions from developing, thereby maintaining both system stability and customer service quality without needing to deny or throttle service.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If burst allocation is allowed, then peak workload performance is improved, but system overload risk increases

Engineering Contradiction:
Improvepeak workload performanceVSAvoidoverload risk
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements feedback mechanisms that continuously monitor system load and dynamically adjust burst allocation thresholds. When the system detects approaching capacity limits, the feedback loop triggers threshold reductions that prevent overload. This allows the system to safely accommodate burst workloads by adaptively controlling the degree of burst allocation based on real-time system conditions.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9639398B1Burst throttling with sequential operation detection
Publication Date: 2017.05.02 AMAZON TECH INC
  • US9639398B1 patent drawing
  • US9639398B1 patent drawing
  • US9639398B1 patent drawing

AI summary

Burst throttling methods may be used manage computing resources of a data storage service. Tokens may represent I/O operations executed by a customer of the data storage service. A global token bucket may contain a set of tokens representing the overall I/O operation capacity of the data storage service. Additionally, a work token bucket may contain a set of tokens for a given logical volume maintained by the data storage service. When I/O request are received the data storage service may determine if the I/O request is a member of a sequence and removed a reduced number for tokens from the work token bucket as a result. Furthermore, if there is sufficient capacity the data storage service may charge a reduced number of tokens to the work token bucket.