FPIN-Based Congestion Control for Virtual Machine IO Prioritization

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvecongestion detection capabilityVSAvoidcongestion control technique complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #3Local quality

2Reliability

If congestion control throttles all VMs uniformly, then congestion is reduced, but higher priority VMs are unnecessarily affected

Engineering Contradiction:
Improvecongestion management effectivenessVSAvoidVM IO operation throughput
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #3Local quality

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.

Inventive Principle:
Principle #15Dynamics

3Device complexity

If congestion control is implemented without priority consideration, then implementation is simpler, but important VMs may be throttled during congestion

Engineering Contradiction:
Improvecongestion control implementation complexityVSAvoidservice level for critical VMs
Core Design Contradiction:
Device complexityVSReliability

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20250158928A1Effectively detecting and handling congestion using FPIN based events in virtual environments
Publication Date: 2025.05.15 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US20250158928A1 patent drawing
  • US20250158928A1 patent drawing
  • US20250158928A1 patent drawing

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.