Dual Queueing for Distributed Service Throttling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In large distributed computing systems, managing resource utilization and isolating issues becomes challenging as complexity increases, leading to difficulties in maintaining service quality and cost-effectiveness, particularly during periods of high demand when hardware resources become overloaded.
Innovation Solution
Implementing a queuing system with a main queue and a sideline queue, where customer events are delayed in the sideline queue when a service endpoint is overloaded, allowing the system to prevent degradation of service by throttling and managing resource allocation based on customer identification and state information.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of energy
If hardware resources are shared to support multiple customers, then cost-effectiveness is improved, but service degradation occurs during high demand periods
Solution Approach 1:
The system segments the single hardware resource into multiple virtual machines, allowing simultaneous service to multiple customers while maintaining isolation. Each virtual machine receives dedicated resource allocation through virtualization, preventing any single customer from monopolizing resources and causing service degradation for others.
Solution Approach 2:
The virtualization system dynamically allocates and adjusts resource distribution among virtual machines based on current demand and service-level agreements. This dynamic management allows the system to respond to high-demand periods by reallocating resources to maintain service quality while still achieving cost-effectiveness through shared hardware.
2Reliability
If resource allocation is increased to prevent service degradation, then service quality is improved, but cost-effectiveness deteriorates
Solution Approach 1:
The virtualization platform creates a universal computing environment where a single physical infrastructure serves multiple customers and workloads simultaneously. This multi-functionality allows the system to maintain service quality for all customers without requiring separate dedicated hardware for each, thereby preserving cost-effectiveness while improving reliability.
3Reliability
If monitoring and control mechanisms are added to manage resource utilization, then service quality is improved, but system complexity increases
Solution Approach 1:
The virtualization system incorporates self-service capabilities where the virtual machine monitor automatically monitors resource utilization, detects service-level agreement violations, and adjusts resource allocation without external intervention. This automated self-management improves service quality through consistent monitoring and control while minimizing the complexity burden on operators.
Solution Approach 2:
The system implements feedback mechanisms where resource usage data is continuously collected and used to adjust virtual machine resource allocation. This closed-loop control ensures service quality is maintained by automatically responding to resource utilization changes, reducing the need for complex manual monitoring and control systems.
Data Source
AI summary
Computing resource service providers provide computing resources to a plurality of customers. To avoid customers experiencing a degradation in service associated with the computing resources provided to customers, a main queue and a sideline queue may be used to manage and distribute customer events to service endpoints. Customer events may be placed in a main queue and transmitted, by a delivery host, to a service endpoint. If the delivery host receives a throttle response from the service endpoint, the delivery host may enqueue the customer event in a sideline queue and generate and/or store state information associated with the customer event. The state information may include an interval of time at the expiration of which the customer event may be retransmitted to the service endpoint.


