NIC Receive Queue Entries for Low-CPU Packet Handoff

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computing environments face inefficiencies in data transfer between control programs and network interface cards, particularly in shared resource environments, leading to high CPU cycle costs and network input/output expenses due to the lack of direct and efficient communication mechanisms.

Innovation Solution

Implementing an adapter module that generates packet completion queue entries to facilitate direct communication between control programs and network interface cards, using packet information to locate data buffers and enable asynchronous communication without a centralized controlling mechanism.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional centralized control mechanisms are used to manage data transfer between control programs and network interface cards, then system control and coordination are maintained, but CPU cycle costs and network I/O expenses increase significantly

Engineering Contradiction:
Improvesystem controlVSAvoidCPU cycle costs
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The adapter module performs self-service by autonomously managing packet transfer operations. It directly transfers packets between the network interface card and control programs without requiring centralized supervision or intervention, thereby eliminating the need for expensive CPU cycles and network I/O operations while maintaining reliable system control through the completion queue mechanism

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The adapter module acts as an intermediary between the network interface card and control programs. It receives packets from the network interface card, stores them in completion queue entries, and facilitates direct access to control programs without centralized coordination, reducing CPU overhead while maintaining system reliability

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If centralized supervision is used to coordinate data transfer operations, then communication coordination is maintained, but network input/output expenses and processing time increase

Engineering Contradiction:
Improvecommunication coordinationVSAvoidprocessing time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The adapter module implements self-service by autonomously coordinating packet transfers without centralized supervision. It manages the completion queue entries and facilitates direct communication between control programs and the network interface card, eliminating coordination delays and reducing processing time while maintaining ease of operation through the structured completion queue mechanism

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The adapter module performs preliminary actions by pre-processing packets and storing them in completion queue entries before control programs need access. This advance preparation eliminates the need for synchronized coordination during data transfer, reducing processing time while maintaining communication coordination through the pre-organized queue structure

Inventive Principle:
Principle #10Preliminary action

3Use of energy by moving object

If direct communication between control programs and network interface cards is implemented without centralized control, then CPU cycle costs are reduced, but communication reliability and coordination may be compromised

Engineering Contradiction:
ImproveCPU cycle costsVSAvoidcommunication reliability
Core Design Contradiction:
Use of energy by moving objectVSReliability

Solution Approach 1:

The completion queue mechanism provides feedback to control programs about the status of packet transfers. Each completion queue entry contains information about the transferred packets, enabling control programs to reliably track and manage communication without centralized supervision, thus maintaining communication reliability while reducing CPU cycle costs through direct access

Inventive Principle:
Principle #23Feedback

4Productivity

If efficient direct data transfer is implemented using packet completion queues, then data transfer efficiency is improved, but device complexity and implementation requirements increase

Engineering Contradiction:
Improvedata transfer efficiencyVSAvoidimplementation requirements
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system segments the data transfer process into discrete completion queue entries, each representing a specific packet transfer operation. This segmentation simplifies the implementation by breaking down complex data transfer management into manageable units that can be independently processed by control programs without requiring complex centralized coordination

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The adapter module serves as an intermediary that handles the complexity of direct communication between control programs and the network interface card. It manages packet acquisition, storage in completion queue entries, and facilitation of direct access, thereby improving data transfer efficiency while containing implementation complexity within the adapter module rather than requiring system-wide complexity

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20260039608A1Receive processing in communications between computing device(s) and a network interface card
Publication Date: 2026.02.05 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US20260039608A1 patent drawing
  • US20260039608A1 patent drawing
  • US20260039608A1 patent drawing

AI summary

An adapter module executing on a computing device of a computing environment is to be used to transmit packets from a network interface card of the computing environment to a control program executing within the computing environment. The adapter module obtains packet information of a packet received at the network interface card. Based on obtaining the packet information, a packet completion queue entry is generated in a packet completion queue and the packet information is stored in the packet completion queue entry. The packet information is to be used to locate a data buffer into which the packet is stored. The packet completion queue entry is provided to the control program to be used by the control program to retrieve the packet from the data buffer.