RDMA Send Queue Doorbell Ring Reduction via Status Bit Polling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current RDMA network adapters experience performance bottlenecks due to frequent doorbell rings, which are necessary for notifying hardware about new work requests, especially as hardware resources transition to host memory and processing rates increase, leading to overhead in host platform interfaces.

Innovation Solution

Implementing a generation status bit mechanism for tracking work requests in Send Queues, where software sets and hardware verifies the status bit, reducing the need for doorbell rings by only notifying hardware when the queue is empty and using hardware polling to manage work requests, thereby minimizing software-hardware interaction overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If doorbell rings are used to notify hardware about every new work request, then hardware can be promptly notified of new requests, but host platform interface overhead increases significantly

Engineering Contradiction:
Improvenotification reliabilityVSAvoidinterface overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies partial action by notifying hardware only when necessary (when the queue is actually empty) rather than for every work request. The doorbell ring is triggered selectively based on the queue state, reducing unnecessary notifications while ensuring hardware is informed when needed to maintain processing continuity.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system implements self-service through hardware polling mechanisms where the hardware automatically checks for new work requests without requiring software intervention for each notification. The polling mechanism allows hardware to autonomously manage its notification needs, reducing the burden on the host platform interface.

Inventive Principle:
Principle #25Self-service

2Ease of manufacture

If hardware resources are kept in host memory to reduce cost, then device cost decreases, but doorbell ring frequency increases due to migration of hardware constructs

Engineering Contradiction:
Improvedevice costVSAvoidprocessing rate
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent reduces doorbell ring frequency by implementing selective notification based on queue state. Instead of notifying hardware for every work request or frequent updates, the system only triggers doorbell rings when the queue transitions to an empty state, reducing the number of notifications while maintaining effective hardware resource management in host memory.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system implements periodic action through hardware polling mechanisms that check for new work requests at regular intervals. This periodic polling approach allows hardware to efficiently monitor host memory resources without requiring continuous doorbell ring notifications, balancing cost-effective memory usage with maintained processing throughput.

Inventive Principle:
Principle #19Periodic action

3Productivity

If multiple work requests are posted with a single request, then processing efficiency improves, but applications rarely utilize this capability and post one request at a time

Engineering Contradiction:
Improverequest processing efficiencyVSAvoidapplication complexity
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent implements self-service by enabling hardware to automatically poll and process multiple work requests from the queue without requiring application intervention. The hardware autonomously retrieves and processes successive work requests, allowing the system to achieve batch processing efficiency even when applications post requests individually, without increasing application complexity.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9507752B2Methods, apparatus and systems for facilitating RDMA operations with reduced doorbell rings
Publication Date: 2016.11.29 INTEL CORP
  • US9507752B2 patent drawing
  • US9507752B2 patent drawing
  • US9507752B2 patent drawing

AI summary

Methods, apparatus and systems for reducing usage of Doorbell Rings in connection with RDMA operations. A portion of system memory is employed as a Memory-Mapped Input/Output (MMIO) address space configured to be accessed via a hardware networking device. A Send Queue (SQ) is stored in MMIO and is used to facilitate processing of Work Requests (WRs) that are written to SQ entries by software and read from the SQ via the hardware networking device. The software and logic in the hardware networking device employ pointers identifying locations in the SQ corresponding to a next write WR entry slot and last read WR entry slot that are implemented to enable WRs to be written to and read from the SQ during ongoing operations under which the SQ is not emptied such that doorbell rings to notify the hardware networking device that new WRs have been written to the SQ are not required.