I/O Adapter Resource Allocation for Virtual Functions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtualized computer systems, efficiently allocating resources to virtual functions across multiple ports of a hardware input/output (I/O) adapter is challenging, leading to suboptimal processing speeds due to uneven distribution of resources and bandwidth utilization.

Innovation Solution

A method and apparatus that determine the first port with the least number of virtual functions and allocate resources iteratively, favoring ports with fewer virtual functions while maximizing available interrupt sources, ensuring fair and consistent distribution to maximize resource utilization and processing speed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If resources are allocated evenly across all ports, then resource distribution is simple and consistent, but ports with fewer virtual functions receive insufficient resources leading to suboptimal processing speeds

Engineering Contradiction:
Improveprocessing speedVSAvoidresource allocation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies local quality by allocating resources differently to different ports based on their specific needs. Each port receives resources proportional to its virtual function count and bandwidth availability, rather than uniform distribution. This ensures that ports with fewer virtual functions receive fewer resources while ports with more virtual functions receive more resources, optimizing processing speed for each local context.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent changes the allocation parameter from fixed equal distribution to dynamic distribution based on virtual function count and bandwidth availability. The system iteratively adjusts resource allocation parameters until optimal distribution is achieved, where resources are proportional to the product of virtual function count and bandwidth availability for each port.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If more resources are allocated to ports with more virtual functions, then resource utilization efficiency improves, but bandwidth availability may be insufficient for ports with fewer virtual functions

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidbandwidth availability
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent implements feedback through iterative resource allocation. The system calculates initial resource distribution, evaluates bandwidth availability and virtual function counts, then adjusts allocations in subsequent iterations. This feedback loop continues until resource allocation optimally balances utilization efficiency with bandwidth availability across all ports.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent applies dynamics by making resource allocation flexible and adaptive rather than static. The allocation scheme dynamically adjusts based on current port conditions, virtual function counts, and bandwidth availability. This dynamic approach allows the system to respond to changing conditions and optimize both resource utilization and bandwidth distribution.

Inventive Principle:
Principle #15Dynamics

3Productivity

If iterative resource allocation is implemented to optimize processing speed, then resource distribution becomes more efficient, but computational overhead and allocation time increase

Engineering Contradiction:
Improveresource distribution efficiencyVSAvoidallocation time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-calculating and storing virtual function counts and bandwidth availability metrics for each port before resource allocation. This preliminary data preparation enables the iterative allocation process to proceed more efficiently, reducing the computational overhead during the actual resource distribution phase.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements partial action by performing resource allocation in iterative stages rather than all-at-once. Each iteration partially adjusts allocations based on current conditions, progressively converging to the optimal distribution. This staged approach reduces computational complexity compared to calculating the complete optimal solution in a single step.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS8862739B2Allocating resources to virtual functions
Publication Date: 2014.10.14 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US8862739B2 patent drawing
  • US8862739B2 patent drawing
  • US8862739B2 patent drawing

AI summary

A method of assigning resources to an input/output adapter having multiple ports may include determining a first port of the input/output adapter that includes a first bandwidth availability. A first number of resources assigned to the first port may be modified. The method may further include comparing a total count of resources assigned the ports to a maximum number of resources, where the total count includes the modified first number of resources. At least a portion of the modified first number of resources to the first port may be allocated to the first port.