Virtualizing Hardware Queues in Self-Virtualizing IO Devices

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In logically partitioned computers, managing hardware queues for self-virtualizing IO resources is inefficient due to vendor-specific programming interfaces and varying queue configurations, requiring significant development effort and resource management complexity.

Innovation Solution

The solution involves virtualizing hardware transmit and/or receive queues in a self-virtualizing IO resource, allowing a logical partition to configure virtual queues and using an adjunct partition to map these to hardware queues, thereby abstracting away resource-specific details and enabling flexible queue management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If hardware queues are managed directly by logical partitions with vendor-specific programming interfaces, then queue management is possible, but development effort and resource management complexity increase significantly

Engineering Contradiction:
ImproveQueue management simplicityVSAvoidResource management complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary layer (virtualization layer) between the logical partition and the hardware queues. This intermediary abstracts the vendor-specific programming interfaces and queue management complexities, allowing logical partitions to access hardware queues through simplified, standardized interfaces while the intermediary handles the complex mapping and management tasks.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a universal queue management interface that works across different vendor-specific hardware implementations. By defining standardized virtual queue interfaces that can map to various hardware queue configurations, the system achieves multi-vendor compatibility and reduces development effort while maintaining flexibility in queue management.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Adaptability or versatility

If logical partitions require exact matching of hardware queue numbers, then queue access is straightforward, but flexibility in queue configuration is reduced

Engineering Contradiction:
ImproveQueue configuration flexibilityVSAvoidQueue access simplicity
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent enables dynamic parameter changes in queue configuration by allowing the virtualization layer to map virtual queue parameters to hardware queue parameters flexibly. Logical partitions can request different queue configurations without being constrained by the exact hardware queue numbers, as the intermediary handles the parameter translation and adaptation to available hardware resources.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent implements dynamic queue mapping where the relationship between virtual queues and hardware queues can be adjusted at runtime. This allows the system to adapt queue configurations based on workload requirements and hardware availability, providing both flexibility in configuration and simplified access through automated mapping mechanisms.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8881141B2Virtualization of hardware queues in self-virtualizing input/output devices
Publication Date: 2014.11.04 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US8881141B2 patent drawing
  • US8881141B2 patent drawing
  • US8881141B2 patent drawing

AI summary

Hardware transmit and/or receive queues in a self-virtualizing IO resource are virtualized to effectively abstract away resource-specific details for the self-virtualizing IO resource. By doing so, a logical partition may be permitted to configure and access a desired number of virtual transmit and/or receive queues, and have an adjunct partition that interfaces the logical partition with the self-virtualizing IO resource handle the appropriate mappings between the hardware and virtual queues.