Latency Queue Mechanism for High-Speed Network Adapter

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current network communication systems face challenges in processing latency messages efficiently, particularly at high speeds, due to the reliance on translation tables that slow down the processing of work requests and packets for multiple connections.

Innovation Solution

The implementation of a latency message mechanism that allows the adapter to access payload directly from a latency queue slot without using translation tables, enabling direct memory access and reducing processing latency by using a threshold message size to determine when a latency message can be sent, along with storing connection information and posting completion status in a dedicated queue.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If translation tables are used to process work requests and packets for multiple connections, then connection management capability is improved, but processing latency increases

Engineering Contradiction:
Improveconnection management capabilityVSAvoidprocessing latency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent segments the processing path by introducing a latency queue that is separate from the traditional translation table-based processing. Work requests are divided into two paths: those that can be immediately processed from the latency queue (for small messages) and those that require translation table lookup (for larger or more complex messages). This segmentation allows critical path latency to be reduced for common cases while maintaining full connection management capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary action by pre-positioning small message payloads directly in the latency queue slots associated with each connection. When a work request arrives for a small message, the payload is already in place and can be immediately transmitted without requiring a translation table lookup or memory access. This preliminary preparation eliminates the critical path latency for the most common case of small message transmission.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If direct memory access is used to reduce processing latency, then processing speed is improved, but memory access complexity increases

Engineering Contradiction:
Improveprocessing speedVSAvoidmemory access complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The latency queue acts as an intermediary structure between the connection management logic and the payload memory. Instead of directly accessing arbitrary memory locations via translation tables, the system uses the latency queue as a buffer that holds pre-positioned payloads. This intermediary simplifies the memory access pattern to a fixed, predictable structure while still enabling direct access for small messages, thus improving processing speed without proportionally increasing complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent changes the parameter of message size classification by introducing a threshold that determines whether to use the latency queue path or the traditional translation table path. Small messages (below threshold) use the simplified latency queue direct access, while larger or more complex messages use the full translation table mechanism. This parameter-based routing optimizes processing speed for the common small message case while maintaining correctness for all message types.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If latency messages are sent for small messages, then transmission efficiency is improved, but message handling overhead increases

Engineering Contradiction:
Improvetransmission efficiencyVSAvoidmessage handling overhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a message size parameter threshold that automatically determines the handling path. Small messages below the threshold use the efficient latency queue mechanism with direct memory access, while larger messages or those requiring complex processing use the traditional work request path. This parameter-based decision eliminates the need for complex runtime analysis and keeps the overhead minimal by using a simple comparison operation.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent applies partial action by using the latency queue mechanism only for small messages where it provides benefit, rather than forcing all messages through this path. The threshold mechanism ensures that the simplified handling is applied selectively to appropriate message sizes, avoiding the overhead for messages that would benefit more from the traditional processing path. This partial application optimizes the trade-off between efficiency and overhead.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9936003B1Method and system for transmitting information in a network
Publication Date: 2018.04.03 MARVELL ASIA PTE LTD
  • US9936003B1 patent drawing
  • US9936003B1 patent drawing
  • US9936003B1 patent drawing

AI summary

Methods and systems for transmitting information are provided. A threshold message size is configured to determine when an application executed by a computing system can send a latency message identifying a memory location from where a device can procure a payload for transmission to a destination. The computing system sends a latency message to the device, where the latency message includes the memory location, a transfer size and an indicator indicating if the application wants a completion status after the latency message is processed. The computing system stores connection information at a location dedicated to the application that sends the latency message. The device transmits the payload to the destination; and posts a completion status, where the device posts the completion status at a completion queue associated with the application with information that enables the application to determine whether other latency messages can be posted.