Operation Fencing System for Shared Memory Work Queues

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In shared memory systems and network operations, existing operation fencing techniques often lead to system stalls due to the need for all previous work requests to complete before executing subsequent requests, resulting in inefficiencies and increased wait times.

Innovation Solution

A method and apparatus that utilize fencing dependency circuitry to determine when a dependent work request can be executed by checking the completion status of a controlling work request through a completion queue, ensuring that execution only occurs after the controlling request has completed, thereby reducing unnecessary waiting.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If all previous work requests must complete before executing subsequent requests, then ordering constraints are enforced, but system stalls occur and wait times increase

Engineering Contradiction:
Improveordering constraint enforcementVSAvoidsystem throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the work request execution into independent units with explicit fencing dependencies. Instead of requiring all previous requests to complete, only the specific controlling work request mentioned in the fencing indication must complete. This segmentation allows other independent requests to proceed concurrently, resolving the contradiction between maintaining ordering constraints and preserving system throughput.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic execution scheduling where the completion requirement for each dependent work request is adaptively determined based on its specific fencing indication. The system dynamically identifies which controlling requests must complete rather than enforcing a static all-or-nothing completion policy, enabling flexible concurrency while maintaining necessary ordering constraints.

Inventive Principle:
Principle #15Dynamics

2Reliability

If traditional fencing requires all previous work requests to complete, then strong ordering is guaranteed, but unnecessary waiting occurs

Engineering Contradiction:
Improvestrong ordering guaranteeVSAvoidwait time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent uses preliminary action by having the dependent work request include a fencing indication that identifies the specific controlling work request ahead of time. This pre-specified dependency information allows the system to prepare for execution by monitoring only the relevant completing request rather than waiting for all previous requests, eliminating unnecessary waiting while preserving the strong ordering guarantee for the specified dependency.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If fencing dependency circuitry checks completion status of each controlling WR, then execution correctness is ensured, but checking overhead increases

Engineering Contradiction:
Improveexecution correctnessVSAvoidchecking mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary completion queue that mediates between the controlling work requests and the dependent work requests. The fencing dependency circuitry checks the completion status through this intermediary structure rather than directly monitoring each controlling request. This intermediary approach ensures execution correctness by providing a centralized completion status record while reducing the complexity of the checking mechanism through structured information management.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11822973B2Operation fencing system
Publication Date: 2023.11.21 MELLANOX TECHNOLOGIES LTD(IL)
  • US11822973B2 patent drawing
  • US11822973B2 patent drawing
  • US11822973B2 patent drawing

AI summary

A method including an executing entity, including fencing dependency circuitry, communicating with physical memory including a work queue (WQ) including a first controlling work request (WR), and a first dependent WR, the first dependent WR including a fencing indication indicating that the first dependent WR should not be executed until the first controlling WR has completed, the fencing dependency circuitry determining that the first dependent WR is ready for execution and checking, based on the fencing indication in the first dependent WR, whether the first controlling WR has completed, and the executing entity executing the first dependent WR only when the first controlling WR has completed. Related apparatus and methods are also provided.