FPIN-Based Congestion Control for Virtual Machine IO Prioritization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing techniques for congestion control in Fibre Channel (FC) communication paths of virtual computing environments are complex and limited in their application, particularly in managing congestion notifications and throttling IO operations effectively across Virtual Machines (VMs) with varying priorities.
Innovation Solution
The implementation of intelligent congestion control methods that utilize Fabric Performance Impact Notification (FPIN) events to throttle IO operations of VMs based on their priority. This involves transmitting congestion event notifications with specific throttle factors to VM groups, prioritizing the throttling of lower priority VMs first, and incrementally increasing throttling across higher priority VMs as congestion persists.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional congestion control techniques are used in FC communication paths, then congestion can be detected, but the control methods are complex and limited in their application
Solution Approach 1:
The system segments VMs into different priority groups (first VM group with lowest priority, second VM group with higher priority, etc.) and applies different throttle factors to each group. This segmentation allows the complex congestion control problem to be divided into manageable segments with different control strategies for each priority level.
Solution Approach 2:
Different throttle factors are applied locally to different VM groups based on their priority levels. The first VM group receives a first throttle factor, while the second VM group receives a second throttle factor that is less than the first. This local quality approach allows tailored congestion control for each segment rather than a uniform approach.
2Reliability
If congestion control throttles all VMs uniformly, then congestion is reduced, but higher priority VMs are unnecessarily affected
Solution Approach 1:
The patent applies different throttle factors to different VM groups based on their priority levels. Lower priority VMs (first VM group) receive higher throttle factors to reduce their IO operations more aggressively, while higher priority VMs (second VM group) receive lower throttle factors to maintain their productivity. This resolves the contradiction by making the throttling effect local to each priority group rather than uniform across all VMs.
Solution Approach 2:
The system dynamically adjusts throttle factors based on VM priority levels, allowing the congestion control mechanism to adapt its behavior to different operational contexts. The throttle factor is not static but varies according to the priority of the affected VM group, enabling the system to maintain productivity for critical VMs while effectively managing congestion.
3Device complexity
If congestion control is implemented without priority consideration, then implementation is simpler, but important VMs may be throttled during congestion
Solution Approach 1:
The system segments VMs into priority-based groups, creating a structured approach to congestion control. By dividing VMs into first VM group (lowest priority) and second VM group (higher priority), the system maintains manageable complexity while ensuring that critical VMs are protected from aggressive throttling. The segmentation provides a clear framework for differential treatment.
Solution Approach 2:
The system performs preliminary classification of VMs into priority groups before congestion occurs. This preliminary action establishes the priority hierarchy and associated throttle factors in advance, so that when congestion is detected, the system can immediately apply the appropriate differential throttling without complex real-time decisions. This pre-prepared structure maintains reliability for critical VMs while keeping the actual congestion response relatively simple.
Data Source
AI summary
Disclosed embodiments provide methods, systems, and computer program products for implementing intelligent congestion control of data transfers in Fibre Channel (FC) communication paths based on an associated priority of workloads running on respective virtual machines (VMs). In a disclosed embodiment, a host server comprises a Virtual IO Server (VIOS) with Nport ID Virtualization (NPIV) technology to manage the multiple VMs; receives Fabric Performance Impact Notification (FPIN) congestion event notifications and transmits the FPIN congestion event notifications to the VMs with a respective throttle factor configured for respective VMs. Disclosed embodiments throttle IO operations of the VMs based on a priority of the VMs to implement intelligent congestion control, and restore IO operations of the VMs in a VM group order based on a reverse VM priority when the congestion event is cleared.


