Ordered Streaming Over Unordered Interconnects
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Reliability
If Senders wait for acknowledgements before transmitting ordered requests, then transaction ordering is ensured, but bandwidth is limited due to pipelining constraints
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.
3Reliability
If younger requests are held in buffer to maintain order, then ordering is preserved, but buffer resources are consumed causing deadlocks
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.
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.
Data Source
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.


