VM Bandwidth Guarantee via Priority Queuing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Cloud providers cannot accurately offer bandwidth guarantees between virtual machines (VMs), leading to unpredictable performance for tenants and inefficiencies in utilizing spare bandwidth, resulting in wasted capacity and hindered adoption of enterprise applications in cloud environments.
Innovation Solution
Implementing work conserving bandwidth guarantees using priority queues in hardware switches, where traffic within bandwidth guarantees is assigned to higher priority queues and excess traffic is directed to lower priority queues, allowing opportunistic use of spare bandwidth by other VM pairs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If bandwidth guarantees are provided to VMs, then performance predictability is improved, but spare bandwidth utilization deteriorates due to conservative provisioning
Solution Approach 1:
The system dynamically adjusts bandwidth allocation by monitoring actual traffic flows and reassigning unused guaranteed bandwidth to other VM pairs that need it. This transforms static bandwidth guarantees into dynamic allocations, maintaining performance predictability while improving overall utilization.
Solution Approach 2:
When VM pairs finish using their guaranteed bandwidth early, the system recovers the unused bandwidth capacity and makes it available for other VM pairs. This prevents bandwidth waste by continuously reallocating freed capacity to active traffic flows.
2Adaptability or versatility
If multiple queues are used for bandwidth management, then service levels are differentiated, but device complexity increases
Solution Approach 1:
The system segments traffic into different queues based on service level requirements and bandwidth guarantee status. High-priority queues handle traffic that must meet guaranteed bandwidth, while low-priority queues handle excess traffic that can utilize spare capacity. This segmentation enables service level differentiation without requiring complex custom management logic.
Solution Approach 2:
The patent introduces an intermediary mechanism (the flow manager and priority queuing system) that automatically manages bandwidth allocation between different service levels. This intermediary handles the complexity of monitoring, comparing, and reallocating bandwidth, freeing tenants from managing their own queue configurations while still providing differentiated service levels.
3Reliability
If bandwidth guarantees are enforced, then tenant performance is protected, but overall network productivity decreases due to wasted capacity
Solution Approach 1:
The system maintains continuous monitoring of bandwidth usage across all VM pairs and continuously reallocates unused guaranteed bandwidth to active flows. This ensures that tenant performance protection is maintained while maximizing network productivity through ongoing optimization of bandwidth utilization.
Solution Approach 2:
The flow manager implements feedback loops by continuously monitoring actual traffic flows, comparing them against guaranteed bandwidth, and adjusting allocations accordingly. When VM pairs use less than their guaranteed bandwidth, the system detects this through feedback and reallocates the spare capacity to other VM pairs, thereby improving overall network productivity while maintaining tenant performance guarantees.
Data Source
AI summary
Example embodiments relate to work conserving bandwidth guarantees using priority, and a method for determining VM-to-VM bandwidth guarantees between a source virtual machine (VM) and at least one destination VM, including a particular VM-toVM bandwidth guarantee between the source VM and a particular destination VM. The method includes monitoring outbound network traffic flow from the source VM to the particular destination VM. The method includes comparing the outbound network traffic flow to the particular VM-to-VM bandwidth guarantee. When the outbound network traffic flow is less than the particular VM-to-VM bandwidth guarantee, packets of the flow are directed according to a first priority. When the outbound network traffic flow is greater than the particular VM-to-VM bandwidth guarantee, packets of the flow are directed according to a second priority.


