Network Adapter Early Completion Response for Remote Memory Loads

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for CPU loads and stores to remote memory over network fabrics face inefficiencies, particularly with small payloads and long completion delays due to network congestion or failure, which are not effectively handled in current technologies.

Innovation Solution

A system and method where a network adapter receives local data transfer requests, converts them into remote requests, monitors for completion responses, and provides an early completion response if no response is received within a specific time, allowing the compute node to continue processing without waiting for the actual response, while managing completion status through tracking structures and error handling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If CPU loads and stores are used to transfer data over network fabric, then small payloads can be moved efficiently, but long completion delays occur due to network congestion or failure

Engineering Contradiction:
Improvepayload sizeVSAvoidcompletion delay
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The system performs preliminary actions by sending the data payload before the completion response. The CPU can continue processing subsequent operations while the completion response is pending, as the data is already available in the remote memory. This reordering eliminates the need to wait for the completion response before proceeding with further processing.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary mechanism (the network adapter and completion tracking structure) that decouples the data transfer from the completion notification. The completion response is tracked separately through a completion structure, allowing the CPU to continue processing without blocking on the network response.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If CPU waits for remote completion response, then data transfer reliability is ensured, but CPU efficiency decreases due to blocking

Engineering Contradiction:
Improvedata transfer completionVSAvoidCPU efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The completion structure acts as an intermediary that tracks completion responses separately from the main data processing flow. The CPU can continue processing while the completion structure monitors for the completion response, ensuring reliability without blocking CPU efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system enables continuous useful action by allowing the CPU to proceed with subsequent operations immediately after issuing the load/store command. The completion response is handled asynchronously through the completion structure, maintaining continuous productivity while ensuring eventual completion reliability.

Inventive Principle:
Principle #20Continuity of useful action

3Productivity

If RDMA is used for data transfer, then high throughput and low latency are achieved, but small payloads (≤8 B) are less efficient due to additional indirection

Engineering Contradiction:
Improvedata transfer throughputVSAvoidtransfer mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system applies local quality by using different transfer mechanisms for different payload sizes. For small payloads (≤8 B), CPU loads and stores are used which are more efficient. For larger payloads, RDMA is used to achieve high throughput. This selective approach optimizes for the specific requirements of each transfer size.

Inventive Principle:
Principle #3Local quality

4Ease of operation

If CPU directly performs data transfer, then no operating system involvement is needed, but handling of long completion delays is not practical

Engineering Contradiction:
Improvedata transfer simplicityVSAvoidcompletion delay handling
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The completion structure serves as an intermediary that handles the complexity of completion delay tracking without involving the operating system. The structure automatically tracks completion responses and provides notifications when complete, simplifying the handling of long delays while maintaining direct CPU-to-remote-memory access.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8122301B2Performing remote loads and stores over networks
Publication Date: 2012.02.21 ORACLE AMERICAN INC
  • US8122301B2 patent drawing
  • US8122301B2 patent drawing
  • US8122301B2 patent drawing

AI summary

A network adaptor which performs CPU loads and stores to remote memory over network fabrics. The network adaptor receives a transfer request from a compute node and converts the request to a remote transfer request, which is transmitted to the network. The network adaptor then monitors the network connection for a remote completion response. When the network adaptor receives the remote completion response within a specific time period, the network adaptor transmits a first completion response to the compute node. If the network adaptor does not receive the remote completion response within the specific time period, the network adaptor transmits an “early completion response” to the compute node. The network adaptor continues to monitor for the actual response. This allows the compute node to continue processing without having to wait for the actual response to be received. The method handles small payloads efficiently and also accounts for long completion delays.