Ordered Streaming Over Unordered Interconnects

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed data processing systems with un-ordered interconnects, structural deadlocks occur when Senders wait for acknowledgements to transmit ordered transaction requests, limiting performance and preventing optimal streaming of requests like ordered writes and reads.

Innovation Solution

Implementing a method where Senders detect structural deadlocks by timing acknowledgements for reserved resources and release younger requests to free up buffer resources, allowing older requests to proceed without waiting for acknowledgements, thus enabling pipelined transmission of ordered requests over un-ordered interconnects.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If Senders wait for acknowledgements to transmit ordered transaction requests over un-ordered interconnect, then ordering reliability is maintained, but streaming performance deteriorates due to structural deadlocks

Engineering Contradiction:
Improveordering reliabilityVSAvoidstreaming performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary actions by sending multiple reservation requests in advance before actual transaction execution. Senders can issue reservation requests for multiple transactions ahead of time, allowing the receiver to prepare buffer resources in advance. This preliminary reservation mechanism enables ordered transactions to proceed without waiting for acknowledgements of previous transactions, thereby eliminating structural deadlocks while maintaining ordering reliability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system introduces dynamic resource allocation where buffer resources are allocated and deallocated based on actual transaction needs rather than static pre-allocation. The receiver dynamically manages buffer resources by allocating them when reservation requests are received and deallocating them when transactions complete, allowing flexible handling of ordered transactions without blocking on acknowledgements. This dynamic approach resolves the contradiction between maintaining order and achieving high streaming performance.

Inventive Principle:
Principle #15Dynamics

2Reliability

If Senders wait for acknowledgements before transmitting ordered requests, then transaction ordering is ensured, but bandwidth is limited due to pipelining constraints

Engineering Contradiction:
Improvetransaction orderingVSAvoidbandwidth
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The system enables preliminary reservation of buffer resources for multiple transactions in advance. Senders can issue reservation requests for ordered transactions before the previous transaction completes, allowing the receiver to prepare resources ahead of time. This eliminates the need to wait for acknowledgements before sending the next ordered request, thereby achieving high bandwidth while maintaining transaction ordering through the reservation-then-execute protocol.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If younger requests are held in buffer to maintain order, then ordering is preserved, but buffer resources are consumed causing deadlocks

Engineering Contradiction:
Improveordering preservationVSAvoidbuffer resource management
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system performs preliminary reservation of buffer resources for younger requests before they need to be executed. By issuing reservation requests in advance for multiple transactions, the system ensures that buffer resources are allocated before deadlocks can occur. The receiver then executes transactions in the correct order using these pre-reserved buffers, maintaining ordering preservation without consuming buffer resources for extended periods, thereby avoiding deadlocks.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system maintains continuous progression of ordered transactions by ensuring that buffer resources are continuously allocated and deallocated in a controlled manner. The receiver continuously processes reservation requests and executes transactions in order, keeping the system in a state of continuous useful action rather than blocking. This continuous operation prevents buffer resources from being consumed indefinitely, eliminating the source of deadlocks while preserving ordering.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS10423466B2Optimized streaming in an un-ordered interconnect
Publication Date: 2019.09.24 ARM LTD
  • US10423466B2 patent drawing
  • US10423466B2 patent drawing
  • US10423466B2 patent drawing

AI summary

A method, system, and device provide for the streaming of ordered requests from one or more Senders to one or more Receivers over an un-ordered interconnect while mitigating structural deadlock conditions.