Optimized streaming in an un-ordered interconnect
First Claim
Patent Images
1. A method of optimized streaming in a data processing system, the method comprising:
- transmitting in any order first and second reservation requests for reservation of one or more resources over an un-ordered interconnect by a sender to a receiver;
responsive to receiving in any order the first and second reservation requests, the receiver reserving a resource of the one or more resources and transmitting an acknowledgement of the reservation to the sender;
the sender determining from the acknowledgement of the reservation whether the receiver has reserved the resource responsive to the first reservation request or to the second reservation request and further correlating the determined first or second reservation request with a first transaction request or a second transaction request, the second transaction request to be executed by the sender subsequent in order to execution, by the sender, of the first transaction request; and
responsive to the sender determining that the reserved resource is reserved for the second transaction request and that a second resource of the one or more resources for the first transaction request is not reserved within a period of time and a deadlock condition exists, the sender transmitting instructions to the receiver;
responsive to instructions received from the sender, the receiver;
releasing the resource reserved for the second transaction request and thereby breaking the deadlock condition; and
reserving the second resource for the first transaction request and transmitting a second acknowledgement of the reservation of the second resource; and
responsive to the second acknowledgement received from the receiver, the sender executing the first transaction request using the reserved second resource; and
when the receiver reserves the second resource for the first transaction request within the period of time;
the sender transmitting instructions to the receiver to execute the first transaction request using the second resource; and
the receiver executing the second transaction request using the resource in accordance with the transmitted instructions.
1 Assignment
0 Petitions
Accused Products
Abstract
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.
31 Citations
18 Claims
-
1. A method of optimized streaming in a data processing system, the method comprising:
-
transmitting in any order first and second reservation requests for reservation of one or more resources over an un-ordered interconnect by a sender to a receiver; responsive to receiving in any order the first and second reservation requests, the receiver reserving a resource of the one or more resources and transmitting an acknowledgement of the reservation to the sender; the sender determining from the acknowledgement of the reservation whether the receiver has reserved the resource responsive to the first reservation request or to the second reservation request and further correlating the determined first or second reservation request with a first transaction request or a second transaction request, the second transaction request to be executed by the sender subsequent in order to execution, by the sender, of the first transaction request; and responsive to the sender determining that the reserved resource is reserved for the second transaction request and that a second resource of the one or more resources for the first transaction request is not reserved within a period of time and a deadlock condition exists, the sender transmitting instructions to the receiver; responsive to instructions received from the sender, the receiver; releasing the resource reserved for the second transaction request and thereby breaking the deadlock condition; and reserving the second resource for the first transaction request and transmitting a second acknowledgement of the reservation of the second resource; and responsive to the second acknowledgement received from the receiver, the sender executing the first transaction request using the reserved second resource; and when the receiver reserves the second resource for the first transaction request within the period of time; the sender transmitting instructions to the receiver to execute the first transaction request using the second resource; and the receiver executing the second transaction request using the resource in accordance with the transmitted instructions. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method of optimized streaming in a data processing system, the method comprising:
-
transmitting in any order first and second reservation requests for reservation of one or more resources over an un-ordered interconnect by a sender to a receiver; responsive to receiving in any order the first and second reservation requests, the receiver reserving a resource of the one or more resources and transmitting an acknowledgement of the reservation to the sender; the sender determining from the acknowledgement of the reservation whether the receiver has reserved the resource responsive to the first reservation request or to the second reservation request and further correlating the determined first or second reservation request with a first transaction request or a second transaction request, the second transaction request to be executed subsequent in order to the first transaction request; responsive to determining that the reserved resource is reserved for the second transaction request, the sender detecting whether the receiver also reserves within a period of time a second resource for the first transaction request; when the receiver does not reserve the second resource for the first transaction request within the period of time, the sender determining that a deadlock condition exists, and the receiver, responsive to control by the sender, releasing the resource reserved for the second transaction request, reserving the second resource for the first transaction request and transmitting a second acknowledgement of the reservation of the second resource for the first transaction request and thereby breaking the deadlock condition; the receiver executing the first transaction request using the reserved second resource and thereafter releasing the reserved second resource; the sender transmitting to the receiver over the un-ordered interconnect a third reservation request to reserve a third resource for the second transaction request; responsive to receiving the third reservation request, the receiver reserving the third resource for the second transaction request and transmitting a third acknowledgement of reservation of the third resource; and the receiver executing the second transaction request using the reserved third resource and thereafter releasing the reserved third resource; and when the receiver reserves the resource for the first transaction request within the period of time, further comprising; the sender transmitting instructions to the receiver to execute the first transaction request using the resource; and the receiver executing the second transaction request using the resource in accordance with the transmitted instructions. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A sender device configured to transmit a plurality of transaction requests and a plurality of reservation requests in a data processing system, the sender device comprising:
-
a processor; an outgoing requests element in communication with and controlled by the processor; a deadlock detection element in communication with the processor; and a response detector in communication with the deadlock detection element and configured to receive incoming communications; the outgoing requests element configured to transmit in any order first and second reservation requests for reservation of one or more resources needed for execution of first and second transaction requests, the second transaction request to be executed by a receiver subsequent in order to the first transaction request, responsive to receipt by the response detector of an acknowledgement of reservation of a resource, the deadlock detection element determines from the acknowledgment whether the resource is reserved responsive to the first reservation request or to the second reservation request and further correlates the determined first or second reservation request with a first transaction request or a second transaction request, responsive to determination by the deadlock detection element of the sender device that the reserved resource is reserved for the second transaction request and that a second resource for the first transaction request is not reserved by the receiver within a period of time, the processor of the sender device is configured to generate instructions to; release the resource reserved for the second transaction request and thereby break a deadlock condition detected by the deadlock detection element; reserve the second resource for the first transaction request and transmit a second acknowledgement of the reservation of the second resource; and execute the first transaction request using the reserved second resource, and responsive to a determination by the deadlock detection element of the sender device that the reserved resource is reserved within the period of time, further comprising; the sender transmitting instructions to the receiver to execute the first transaction request using the resource; and the receiver executing the second transaction request using the resource in accordance with the transmitted instructions, where the processor controls the outgoing requests element to transmit the instructions to the receiver. - View Dependent Claims (16, 17, 18)
-
Specification