Shared Network Adapter Interrupt Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In shared resource environments, efficiently transmitting packets to a shared network adapter while minimizing CPU cycles and network I/O costs is challenging, especially when handling large data transfers.

Innovation Solution

A method where a host prepares storage block page entries (SBPEs) for transmit packets, determines if an interrupt is needed based on an initiative state, updates the state to reflect the shared adapter's processing status, and programs the network interface card (NIC) to transmit the packets.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If interrupts are sent frequently to inform the shared network adapter of TX packets, then the adapter can process packets promptly, but CPU cycles are wasted due to excessive interrupt handling

Engineering Contradiction:
Improvepacket transmission speedVSAvoidCPU cycle usage
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The host checks the initiative state periodically before sending interrupts. Instead of sending an interrupt for every TX packet, the host only sends an interrupt when the initiative state indicates the shared adapter is not currently processing packets. This periodic checking mechanism reduces interrupt frequency while ensuring packets are transmitted promptly when the adapter is available.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The initiative state acts as a feedback mechanism between the host and the shared network adapter. The adapter updates the initiative state to reflect its processing status, and the host uses this feedback information to determine whether to send an interrupt. This feedback loop optimizes interrupt timing and reduces unnecessary CPU cycles spent on interrupt handling.

Inventive Principle:
Principle #23Feedback

2Productivity

If the host continuously monitors the shared adapter's processing status, then interrupt timing is optimized, but system complexity increases

Engineering Contradiction:
Improvesystem efficiencyVSAvoidmonitoring mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The shared network adapter maintains and updates the initiative state in host memory autonomously. Instead of the host continuously polling the adapter's status, the adapter self-manages the initiative state to reflect its processing status. This self-service approach reduces the monitoring burden on the host and simplifies the overall system while maintaining optimized interrupt timing.

Inventive Principle:
Principle #25Self-service

3Productivity

If interrupts are sent for every TX packet, then network I/O is maximized, but CPU overhead increases due to frequent interrupt processing

Engineering Contradiction:
Improvenetwork I/O throughputVSAvoidCPU overhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The host employs periodic interrupt sending based on the initiative state rather than sending interrupts for every single TX packet. This periodic approach maintains network I/O throughput by ensuring interrupts are sent when the adapter is ready, while significantly reducing CPU overhead by eliminating redundant interrupt processing for packets sent during the adapter's processing window.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The initiative state provides feedback information that enables the host to optimize interrupt timing. By checking this feedback before sending interrupts, the host ensures network I/O is maximized only when the adapter is available, avoiding unnecessary CPU overhead from interrupts sent when the adapter is already processing packets.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS20250123871A1Transmitting data using a shared network adapter
Publication Date: 2025.04.17 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US20250123871A1 patent drawing
  • US20250123871A1 patent drawing
  • US20250123871A1 patent drawing

AI summary

Embodiments herein describe techniques for a host to provide TX packets to a shared adapter that then uses a NIC to forward the TX packet to a network. In one embodiment, the host creates or fills in one or more TX storage block page entries (SBPE) for the TX packet and stores an index of the TX SBPE in host memory. The host memory can also store an initiative state that tracks whether the shared adapter is currently processing TX packets. If not, the host can issue an interrupt to the shared adapter, along with the index associated with the TX SBPE. The shared adapter can then fetch the TX SBPE from host memory and program the NIC to transmit the TX packet.