Shared Send Queue for Networked Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional network systems require multiple dedicated send queues for each reliable communication channel, leading to increased communication processing overhead and limited scalability, especially for companion devices with limited queue storage capacity.

Innovation Solution

Implementing a shared send queue that decouples from reliable communication channels, allowing multiple outstanding messages and enabling message transmission across multiple destinations without the need for multiple send queues, with a communication device managing the shared send queue to ensure in-order completion of messages.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple dedicated send queues are allocated for each reliable communication channel, then reliable connectivity and message transmission order are ensured, but communication processing overhead increases and device complexity increases

Engineering Contradiction:
Improvereliable connectivityVSAvoidnumber of send queues
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

Multiple dedicated send queues are merged into a single shared send queue that serves multiple reliable communication channels. The shared send queue stores work queue elements for different channels, and the network controller manages message transmission across channels using this unified queue structure, thereby reducing the total number of queues while maintaining reliable connectivity for each channel.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The shared send queue is designed to be universal, serving multiple reliable communication channels simultaneously. It can store and manage work queue elements for different destination devices and channels, making the queue structure multi-functional rather than dedicated to a single channel, thus reducing overall system complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Reliability

If multiple dedicated send queues are allocated for each reliable communication channel, then message transmission order is maintained, but CPU overhead increases

Engineering Contradiction:
Improvein-order deliveryVSAvoidCPU overhead
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The CPU overhead is reduced by merging multiple dedicated send queues into one shared send queue. The network controller handles message transmission and order management for multiple channels using this single queue, thereby decreasing the processing burden on the CPU compared to managing multiple separate queues.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The network controller acts as an intermediary between the shared send queue and multiple reliable communication channels. It manages the complexity of maintaining in-order delivery across channels while using the simplified shared queue structure, thereby reducing CPU overhead without sacrificing reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If multiple dedicated send queues are allocated for each reliable communication channel, then communication reliability is maintained, but memory bandwidth utilization increases

Engineering Contradiction:
Improveerror-free transferVSAvoidmemory bandwidth utilization
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

Multiple dedicated send queues are combined into a single shared send queue, reducing the total memory structures that need to be managed. This consolidation decreases memory bandwidth utilization while the network controller ensures error-free transfer through its management of the shared queue and coordination with reliable communication channels.

Inventive Principle:
Principle #5Merging (Combining)

4Reliability

If multiple dedicated send queues are allocated for each reliable communication channel, then channel-specific message ordering is ensured, but scalability is limited

Engineering Contradiction:
Improvechannel-specific in-order deliveryVSAvoidscalability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The shared send queue is designed with universality to handle multiple reliable communication channels. It can accommodate work queue elements for different destinations and channels while maintaining the ability to ensure in-order delivery for each channel, thereby improving scalability compared to dedicated queue per channel approaches.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The shared send queue employs dynamic management mechanisms where the network controller can flexibly allocate and manage queue resources based on current communication needs. This dynamic approach allows the system to scale efficiently by adapting to varying numbers and types of communication channels without requiring static dedicated queues for each.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10051038B2Shared send queue
Publication Date: 2018.08.14 INTEL CORP
  • US10051038B2 patent drawing
  • US10051038B2 patent drawing
  • US10051038B2 patent drawing

AI summary

Generally, this disclosure relates to a shared send queue in a networked system. A method, apparatus and system are configured to support a plurality of reliable communication channels using a shared send queue. The reliable communication channels are configured to carry messages from a host to a plurality of destinations and to ensure completed order of messages is related to a transmission order.