Hierarchical Network Bandwidth Allocation for Virtual Machines
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional packet schedulers in virtual computing environments struggle to manage network bandwidth effectively, especially in scenarios where available bandwidth is low or fluctuates, due to increased resource consumption and saturation of physical NICs, leading to a need for improved scheduling techniques.
Innovation Solution
A Quality of Service (QoS) model with hierarchical allocation, minimum guarantees, maximum limits, and prioritized allocation of spare bandwidth based on weights or shares is implemented, using a node hierarchy to allocate network bandwidth to virtual machines or other consumers, ensuring efficient packet scheduling through queuing and tracking data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional packet schedulers use QoS model with weight-based allocation, then guaranteed throughput can be provided for each VM, but the weights need to be adjusted when available network bandwidth is low or fluctuates
Solution Approach 1:
The patent segments bandwidth allocation into hierarchical levels (root node, intermediate nodes, leaf nodes) where each level can independently manage bandwidth. This segmentation allows the system to provide guaranteed throughput at each level while automatically adapting to bandwidth fluctuations without requiring manual weight adjustments across the entire system.
Solution Approach 2:
The patent implements dynamic bandwidth allocation where the packet scheduler continuously monitors available network bandwidth and adjusts allocation in real-time. The system transitions from static weight-based allocation to dynamic allocation that automatically responds to bandwidth conditions, eliminating the need for manual weight adjustments while maintaining guaranteed throughput.
2Productivity
If consolidation ratios per server are increased, then cost is reduced and utilization is increased, but physical NIC saturation occurs more frequently
Solution Approach 1:
The patent introduces a hierarchical dimension to bandwidth allocation, moving from flat weight-based allocation to a multi-level hierarchy. This dimensional change enables the system to manage increased consolidation ratios by providing structured bandwidth guarantees at each hierarchical level, preventing NIC saturation even as server utilization increases.
3Ease of operation
If network bandwidth is over-provisioned, then packet scheduling is simpler and latency guarantees are easier to meet, but resource utilization is lower and cost is higher
Solution Approach 1:
The patent implements self-service bandwidth allocation where the hierarchical packet scheduler automatically monitors network conditions and adjusts bandwidth distribution without external intervention. The system serves itself by detecting bandwidth availability and reallocating resources dynamically, eliminating the need for over-provisioning while maintaining simple operation and meeting latency guarantees.
Data Source
AI summary
Network bandwidth is allocated to virtual machines (VMs) according to a node hierarchy that includes a root node, intermediate nodes, and leaf nodes, wherein each leaf node represents a queue of packet transmission requests from a VM and each intermediate node represents a grouping of leaf queues. As VMs generate requests to transmit packets over the network, the network bandwidth is allocated by queuing packets for transmission in the leaf nodes, and selecting a leaf node from which a packet is to be transmitted based on tracking data that represent how much network bandwidth has been allocated to the nodes. Upon selecting the leaf node, the tracking data of the selected leaf node and the tracking data of an intermediate node that is a parent node of the selected leaf node are updated, and a command to transmit the packet of the selected leaf node is issued.


