Distributed Service Throughput Control via Multiple Algorithms

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed service environments face challenges in managing node backlogs and smooth throughput reduction when a node is brought back online or experiences a large backlog, leading to an unpleasant user experience due to sudden drops in service availability.

Innovation Solution

Implementing multiple algorithms within the distributed service to dynamically adjust the rate of work acceptance, switching between a first algorithm for normal operational mode and a second algorithm for recovery mode, which smoothes out throughput reductions and ensures consistent service availability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the distributed service stops receipt of user requests to allow a backlogged storage node to catch up, then the backlog of the storage node is reduced, but the user experience deteriorates due to service unavailability

Engineering Contradiction:
Improvebacklog reduction rateVSAvoidservice availability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system dynamically adjusts the throughput reduction applied to incoming requests based on the backlog severity of recovering nodes. Instead of a static stop-all-requests approach, the system applies dynamic throttling that adapts to current system state, allowing partial service continuity while still enabling backlog recovery.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of request acceptance rate from 100% (normal operation) to a reduced rate (during recovery), controlled by the gentle reduction factor. This parameter adjustment allows the system to balance between clearing backlogs and maintaining service availability, rather than making binary stop/go decisions.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If the distributed service abruptly stops incoming requests to clear node backlogs, then the node backlog is cleared faster, but the throughput reduction becomes jarring to users

Engineering Contradiction:
Improvebacklog clearance speedVSAvoiduser experience smoothness
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The system applies a gentle reduction factor as a cushioning mechanism that softens the impact of throughput reduction on users. Instead of abrupt stops, the system pre-applies a gradual reduction that cushions the transition, making the backlog clearance process imperceptible or minimally noticeable to users.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Solution Approach 2:

The system periodically evaluates node backlog states and adjusts the gentle reduction factor accordingly, rather than applying a fixed reduction. This periodic adjustment allows the system to clear backlogs in a staged manner, maintaining smooth user experience while progressively reducing backlogs over time.

Inventive Principle:
Principle #19Periodic action

3Device complexity

If the distributed service uses a single algorithm for determining work acceptance rate, then the system complexity is reduced, but the ability to handle different operational modes (normal and recovery) is compromised

Engineering Contradiction:
Improvealgorithm complexityVSAvoidoperational mode adaptability
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The system implements a universal control mechanism that handles both normal and recovery operational modes through a single gentle reduction factor parameter. This multi-functional approach allows the same control logic to adapt to different system states without requiring separate algorithms, maintaining simplicity while providing mode-specific behavior.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS9755985B1Utilizing multiple algorithms in a distributed-service environment
Publication Date: 2017.09.05 AMAZON TECH INC
  • US9755985B1 patent drawing
  • US9755985B1 patent drawing
  • US9755985B1 patent drawing

AI summary

Techniques for producing a gentle reduction in throughput in a distributed service when a node of the service encounters a very large backlog of requests and/or when a previously offline node of the service is brought back online. These techniques may utilize multiple different algorithms to determine an amount of work that the distributed service is able to accept at any given time, rather than a single algorithm.