Emulated InfiniBand Channel Adapter via Memory-Mapped I/O

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The Infiniband architecture requires dedicated hardware, which is expensive and adds significant cost to computer systems, as it necessitates specialized hardware components for interconnecting computing device nodes.

Innovation Solution

An emulated channel adapter, implemented using the Data Plane Development Kit (DPDK), replaces dedicated IB hardware by utilizing a poll mode driver to service queue pairs and implement memory-mapped communications between computing device nodes, allowing applications to communicate as if using IB hardware without the need for actual IB hardware.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If dedicated IB hardware is used, then communication performance and reliability are improved, but system cost increases significantly

Engineering Contradiction:
Improvecommunication reliabilityVSAvoidsystem cost
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent creates a software copy of the Infiniband channel adapter functionality. The emulated channel adapter implements the same communication protocols and queue pair management as hardware IB adapters, allowing applications to interact with it through the same interface. This software copy provides equivalent communication reliability without requiring expensive dedicated IB hardware components.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent replaces the mechanical/hardware-based Infiniband adapter with a software-based implementation. Instead of using physical IB hardware components (channel adapters, switches), the system uses software emulated in the host computing device's memory space, substituting hardware mechanics with software logic while maintaining the same functional behavior.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Productivity

If dedicated IB hardware is used, then communication speed and efficiency are improved, but device complexity increases

Engineering Contradiction:
Improvecommunication efficiencyVSAvoidhardware complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The emulated channel adapter serves multiple functions within a single software component. It handles queue pair management, work request processing, payload data transmission, and communication protocol implementation all through one unified software interface. This multi-functionality eliminates the need for separate hardware components for each function, reducing overall device complexity while maintaining communication efficiency.

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

Solution Approach 2:

The emulated channel adapter acts as an intermediary layer between applications and the underlying communication infrastructure. It provides a standardized interface that applications can use without needing to understand or directly interact with complex hardware details. This intermediary abstraction simplifies the system by hiding hardware complexity behind a uniform software interface.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Object-affected harmful factors

If software emulation is used, then system cost is reduced, but processing overhead may increase

Engineering Contradiction:
Improvesystem costVSAvoidprocessing time
Core Design Contradiction:
Object-affected harmful factorsVSLoss of time

Solution Approach 1:

The emulated channel adapter is pre-configured with queue pairs and memory-mapped I/O channels before communication begins. Applications can immediately start transmitting data without waiting for hardware initialization or configuration. The work request queues are pre-established in memory, allowing for rapid data submission and processing without the overhead of runtime hardware setup.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The software emulated adapter maintains continuous operation through persistent queue pairs and memory-mapped buffers. Data transmission flows continuously through pre-established communication channels without interruption for hardware reconfiguration or state resets. This continuous operation minimizes processing delays and maintains high throughput despite the software-based implementation.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS10645051B2Memory-mapped input/output (I/O) channel
Publication Date: 2020.05.05 RED HAT ISRAEL
  • US10645051B2 patent drawing
  • US10645051B2 patent drawing
  • US10645051B2 patent drawing

AI summary

Various examples are directed to systems and methods for utilizing a memory-mapped I/O channel. A first application may request that a message be sent to a channel counterparty. A message driver may receive from the first application the request to send the message, where the request comprises payload data from the message. The message driver may write a work request to a send queue of a first queue pair at the first memory location. An emulated channel adapter may poll a physical address at a memory device corresponding to the first memory location; determine that the work request is present at the send queue, and send the payload data to the channel counterparty.