Host Channel Adapter Buffer Allocation for InfiniBand QoS

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Infiniband network systems face challenges in providing quality of service (QoS) levels within or between virtual machines for processing packets, as existing technologies lack efficient resource allocation mechanisms, leading to inconsistent and unpredictable packet transmission rates.

Innovation Solution

The implementation of a host channel adapter that allocates physical and virtual collect buffers (PCBs and VCBs) using control and status registers (CSRs) and a service processor resource manager to guarantee resource availability for virtual machines, allowing them to sub-allocate resources to different QoS levels, ensuring consistent packet transmission.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If existing resource allocation mechanisms are used in Infiniband network systems, then virtual machines can transmit packets, but the packet transmission rates are inconsistent and unpredictable

Engineering Contradiction:
Improvepredictability of packet transmission rateVSAvoidresource allocation mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the host channel adapter resources by introducing two distinct buffer types: physical collect buffers (PCBs) for storing command data and virtual collect buffers (VCBs) for buffering packets. This segmentation allows independent management and allocation of each buffer type to different virtual machines, enabling predictable resource allocation and consistent packet transmission rates without requiring complex centralized arbitration mechanisms.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary action by pre-allocating specific numbers of PCBs and VCBs to each virtual machine before packet transmission begins. The host channel adapter maintains registration information that records the allocated buffer quantities for each virtual machine in advance, ensuring that resources are guaranteed and transmission rates are predictable without needing complex real-time negotiation or arbitration during operation.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If resources are allocated to multiple virtual machines without sub-allocation to QoS levels, then resource management is simple, but quality of service differentiation cannot be provided

Engineering Contradiction:
ImproveQoS level differentiation capabilityVSAvoidresource allocation structure
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies the nested doll principle by creating a hierarchical resource allocation structure where QoS levels are nested within virtual machines. Each virtual machine can be assigned to different QoS levels (e.g., QoS level 0, QoS level 1), and within each QoS level, specific numbers of PCBs and VCBs are allocated. This nested structure enables fine-grained QoS differentiation while maintaining a relatively simple allocation mechanism at each level, as the same buffer management logic applies recursively at both the virtual machine and QoS level boundaries.

Inventive Principle:
Principle #7Nested doll (Nesting)

3Productivity

If the host channel adapter uses a large number of physical collect buffers to handle commands from multiple virtual machines, then command processing capacity increases, but resource allocation becomes less efficient

Engineering Contradiction:
Improvecommand processing capacityVSAvoidtotal buffer resources required
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent implements dynamics by making buffer allocation flexible and adaptive rather than static. The host channel adapter dynamically allocates PCBs and VCBs to virtual machines based on their specific needs and QoS level assignments. The registration information structure allows the system to track and adjust allocations for each virtual machine independently, enabling the same physical buffer pool to serve multiple virtual machines efficiently with varying allocations, thus increasing command processing capacity without proportionally increasing total buffer resources required.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8484392B2Method and system for infiniband host channel adaptor quality of service
Publication Date: 2013.07.09 ORACLE INT CORP
  • US8484392B2 patent drawing
  • US8484392B2 patent drawing
  • US8484392B2 patent drawing

AI summary

A method for allocating resources of a host channel adapter includes the host channel adapter identifying an underlying function referenced in the first resource allocation request received from a virtual machine manager, determining that the first resource allocation request specifies a number of physical collect buffers (PCBs) allocated to the underlying function, allocating the number of PCBs to the underlying function, determining that the first resource allocation request specifies a number of virtual collect buffers (VCBs) allocated to the underlying function, and allocating the number of VCBs to the underlying function. The host channel adapter further receives command data for a command from the single virtual machine, determines that the underlying function has in use at least the number of PCBs when the command data is received, and drops the command data in the first command based on the underlying function having in use at least the number of PCBs.