Protocol Layer Tunneling for Data Processing Interconnects
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing data processing system's interconnect performance and throughput are reduced due to the 'out-of-order' write condition, where requesters must wait for completion responses before issuing new write requests, and completers wait for slave responses, leading to inefficiencies in data transactions.
Innovation Solution
The implementation of protocol layer tunneling maintains the order of transactions between requesters and completers, even with message retries, by using a request node and home node processor to manage dynamic and static requests, credit grants, and retry requests, allowing for improved performance and throughput.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Stability of the object's composition
If requesters wait for completion responses before issuing new write requests to maintain order, then transaction order is preserved, but interconnect performance and throughput are significantly reduced
Solution Approach 1:
The patent introduces a preliminary ordering phase where write requests are tagged with sequence numbers and buffered before being forwarded to the completer. This preliminary action separates the ordering function from the execution function, allowing the requester to issue multiple requests without waiting for completions while still maintaining order through the sequence number tagging mechanism.
Solution Approach 2:
The patent introduces an intermediary ordering buffer between the requester and completer that holds write requests with sequence numbers. This intermediary structure decouples the requester from the completer, allowing the requester to send requests without waiting for completions while the intermediary ensures ordered delivery to the completer and ultimately to the slave.
2Stability of the object's composition
If completers wait for slave responses before issuing completion responses to maintain order, then transaction order is preserved, but interconnect performance and throughput are further reduced
Solution Approach 1:
The patent implements preliminary sequencing at the requester side by tagging write requests with sequence numbers before they reach the completer. This preliminary action allows the completer to receive requests in order without having to wait for slave responses before accepting new requests, thereby improving throughput while maintaining order through the pre-applied sequence numbers.
Solution Approach 2:
The patent segments the write transaction into distinct phases: request issuance with sequence tagging, completer reception and buffering, slave execution, and completion response. This segmentation allows the completer to accept and buffer requests independently of slave response timing, enabling pipelining and improving throughput while the sequence numbers ensure order is preserved in the completion phase.
3Productivity
If requesters issue new write requests during retry of current requests, then interconnect utilization improves, but out-of-order write conditions occur
Solution Approach 1:
The patent applies preliminary sequence number tagging to all write requests before they are issued over the interconnect. This preliminary action creates an immutable order identifier that survives retries and retransmissions, allowing the system to freely retry requests during interconnect congestion while the sequence numbers ensure that reordered requests are correctly sequenced upon receipt.
Solution Approach 2:
The patent implements a feedback mechanism where the completer or slave monitors sequence numbers of received requests and detects out-of-order conditions. When out-of-order requests are detected, the system can trigger retries or buffering to correct the order, providing feedback control that maintains write order while allowing flexible retry behavior to improve utilization.
Data Source
AI summary
The present disclosure advantageously provides a system and method for protocol layer tunneling for a data processing system. A system includes an interconnect, a request node coupled to the interconnect, and a home node coupled to the interconnect. The request node includes a request node processor, and the home node includes a home node processor. The request node processor is configured to send, to the home node, a sequence of dynamic requests, receive a sequence of retry requests associated with the sequence of dynamic requests, and send a sequence of static requests associated with the sequence of dynamic requests in response to receiving credit grants from the home node. The home node processor is configured to send the sequence of retry requests in response to receiving the sequence of dynamic requests, determine the credit grants, and send the credit grants.


