Fair Queuing for Generative Operations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cloud provider networks face challenges in managing concurrent execution of API requests, particularly when generative operations vary significantly in computing resource usage, leading to unfair latency for less demanding operations due to dominance by resource-intensive requests.

Innovation Solution

Implementing a fair queuing system with two queues, a main queue and an overload queue, where request tasks from generative operations are classified based on a request cost index, with normal operations dequeued and executed at a higher rate than heavy operations to prevent latency spikes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the provider network processes API requests concurrently to increase throughput, then request throughput is improved, but request latency for less demanding operations deteriorates due to resource domination by intensive requests

Engineering Contradiction:
Improverequest throughputVSAvoidrequest latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments the single request processing queue into multiple queues (e.g., short queue for low-resource requests and long queue for high-resource requests). This segmentation allows the system to handle different types of requests separately, preventing resource-intensive requests from blocking faster-processing requests, thereby maintaining both high throughput and low latency for appropriate request types.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by assigning different processing characteristics to different queues. The short queue is optimized for rapid processing of low-resource requests, while the long queue handles high-resource requests with appropriate prioritization. This allows each queue to have tailored processing qualities that match the specific needs of the requests it handles.

Inventive Principle:
Principle #3Local quality

2Use of energy by moving object

If resource-intensive requests are allowed to execute without restriction, then computing resource utilization is improved, but fairness to other users deteriorates

Engineering Contradiction:
Improvecomputing resource utilizationVSAvoidservice fairness
Core Design Contradiction:
Use of energy by moving objectVSReliability

Solution Approach 1:

The patent implements dynamic request routing that adjusts based on current system state and request characteristics. The system dynamically determines which queue to place requests in based on their resource requirements and current queue conditions. This dynamic approach allows the system to maximize resource utilization while maintaining fairness, as resource-intensive requests are directed to appropriate queues where they won't unfairly impact other users.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of request routing from a single-queue model to a multi-queue model with different characteristics. By introducing queue type as a new parameter and adjusting request routing based on resource requirements, the system can both utilize computing resources effectively and maintain service fairness through differentiated handling of different request types.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11880726B1Fair queuing of request tasks spawned by requests to execute generative operations
Publication Date: 2024.01.23 AMAZON TECH INC
  • US11880726B1 patent drawing
  • US11880726B1 patent drawing
  • US11880726B1 patent drawing

AI summary

Fair queuing of request tasks spawned by requests to execute generative operations such as, for example, graph query language requests to execute a graph query language query, mutation, or subscription operations. Queuing techniques are used to prevent a heavy generative operation from dominating usage of computing resources of a host that executes many generative operations concurrently including a mix of heavy and normal generative operations. Generative operations are analyzed and classified as heavy or normal as the request tasks they spawn are being executed. If a generative operation is classified as heavy, then subsequent request tasks spawned by the heavy generative operation are added to an overload queue while request tasks spawned by concurrently executing normal generative operations as added to a main queue. For fairness, request tasks are polled from the main queue for execution at greater frequency than request tasks in the overload queue.