Two-Level Network Rate Limiter for VM Bandwidth Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In virtual machine environments, existing rate-limiting techniques struggle to effectively manage and enforce bandwidth limits across multiple virtual machines, leading to potential overuse of network resources without a robust mechanism for aggregate bandwidth control.
Innovation Solution
A two-level rate limiting system is implemented, where individual transmission queues are assigned a first-level rate limiter for enforcing individual bandwidth limits and a second-level rate limiter for enforcing group-level bandwidth limits, with pointers determining eligibility for transmission, and arbitration techniques like WRR and DWRR managing packet transmission.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If hardware rate limiting is performed by NIC, then bandwidth control precision is improved, but device complexity increases
Solution Approach 1:
The patent divides rate limiting into two separate hierarchical levels: individual transmission queue rate limiting and group-level aggregate rate limiting. This segmentation allows hardware (NIC) to handle precise individual queue control while software (hypervisor) manages aggregate bandwidth, distributing complexity across different layers rather than concentrating all control functions in one device.
Solution Approach 2:
The patent introduces a two-level rate limiting architecture where individual transmission queues act as intermediaries between virtual machines and the network. The first-level rate limiters control individual queues, while second-level rate limiters control groups of queues, creating an intermediary layer that enables both precise control and simplified aggregate management.
2Device complexity
If software rate limiting is performed by hypervisor, then device complexity is reduced, but productivity decreases
Solution Approach 1:
The patent segments rate limiting functions into two levels: individual transmission queue control and group-level aggregate control. This segmentation enables software (hypervisor) to manage multiple queues efficiently at the group level without handling each queue individually, thereby maintaining low device complexity while improving overall productivity through parallel processing of queue groups.
Solution Approach 2:
The patent creates a multi-functional rate limiting system where the hypervisor performs both individual queue management and aggregate group control. The system can simultaneously handle multiple transmission queues with different rate limiting policies, making the software solution versatile and productive across various virtual machine configurations.
3Productivity
If aggregate bandwidth control is implemented across multiple virtual machines, then resource allocation efficiency is improved, but device complexity increases
Solution Approach 1:
The patent segments aggregate bandwidth control into hierarchical levels: individual transmission queues at the first level and groups of queues at the second level. This segmentation allows efficient resource allocation at the group level while maintaining simpler individual queue management, distributing complexity across multiple manageable layers rather than requiring complex monolithic control.
Solution Approach 2:
The patent adds a hierarchical dimension to rate limiting by introducing group-level aggregation above individual queues. This dimensional change transforms the control structure from flat individual queue management to a multi-layered hierarchy, enabling efficient aggregate resource allocation while keeping individual queue complexity low.
Data Source
AI summary
The present application describes a system and method for rate limiting traffic of network users, such as virtual machines (VMs). In accordance with the disclosure, transmission queues for the VMs may be assigned to two levels of rate limiting. The first-level rate limit may be an individual rate limit for a particular transmission queue, while the second-level rate limit may be a group rate limit that is applied to a group of transmission queues. The first-level rate limit for some transmission queues may be performed using software rate limiting, while for other transmission queues the first-level rate limit may be performed using hardware rate limiting. The second-level rate limit may be applied to a group of transmission queues that contains both software first-level rate limited transmission queues and hardware first-level rate limited transmission queues.


