Devices, methods, and systems for disaggregated memory resources in a computing environment
A system comprises a first processing block configured to receive, from a first local resource, a formatted transaction in a format that is not recognizable by a remote endpoint; determine a first transaction category, from among a plurality of transaction categories, of the formatted transaction based on content of the formatted transaction; perform one or operations on the formatted transaction based on the first transaction category to form a reformatted transaction in a format that is recognizable by the remote endpoint; and place the reformatted transaction in a queue for transmission to the remote endpoint.
1 . A system, comprising:
a first endpoint comprising:
first client endpoint logic coupled to a first processing resource, the first client endpoint logic to:
format first transactions received from the first processing resource for sending to a second endpoint, wherein formatting one of the first transactions includes replacing an initial tag of the first transaction with a new tag that is transmitted with the first transaction to the second endpoint, wherein the initial tag is unique from other tags within a first domain that includes the first endpoint, and wherein the new tag is unique from other tags within a second domain that is between the first endpoint and the second endpoint; and
receive first transaction responses from the second endpoint indicating execution of the first transactions at the second endpoint; and
first server endpoint logic coupled to a first memory resource, the first server endpoint logic to:
direct second transactions received from the second endpoint to the first memory resource for execution; and
upon execution of the second transactions, format second transaction responses from the first memory resource for sending to the second endpoint.
2 . The system of claim 1 , further comprising:
the second endpoint comprising:
second server endpoint logic coupled to a second memory resource, the second server endpoint logic to direct the first transactions received from the first client endpoint logic to the second memory resource for execution, and to, upon execution of the first transactions, format the first transaction responses for sending to the first client endpoint logic; and
second client endpoint logic to format the second transactions for sending to the first server endpoint logic, and to receive the second transaction responses from the first server endpoint logic indicating execution of the second transactions at the first memory resource.
3 . The system of claim 1 , further comprising:
a transmission interface to transmit the first transactions to the second endpoint and to receive the second transactions from the second endpoint.
4 . The system of claim 3 , wherein the transmission interface comprises an Infiniband interface.
5 . The system of claim 1 , wherein the second transactions comprise a request from the second endpoint to read from or write to the first memory resource.
6 . The system of claim 1 , wherein the first transactions comprise a request from the first endpoint to read from or write to a second memory resource of the second endpoint.
7 . The system of claim 1 , further comprising:
a network of switches to route the first transactions from the first endpoint to the second endpoint and the second transactions from the second endpoint to the first endpoint.
8 . A method, comprising:
formatting, by first client endpoint logic of a network adapter coupled to a first processing resource at a first endpoint, first transactions received from the first processing resource for sending to a second endpoint, wherein formatting one of the first transactions includes replacing an initial tag of the first transaction with a new tag that is transmitted with the first transaction to the second endpoint, wherein the initial tag is unique from other tags within a first domain that includes the first endpoint, and wherein the new tag is unique from other tags within a second domain that is between the first endpoint and the second endpoint;
receiving, by the first client endpoint logic, first transaction responses from the second endpoint indicating execution of the first transactions at the second endpoint;
directing, by first server endpoint logic of the network adapter coupled to a first memory resource, second transactions received from the second endpoint to the first memory resource for execution; and
formatting, by the first server endpoint logic upon execution of the second transactions, second transaction responses from the first memory resource for sending to the second endpoint.
9 . The method of claim 8 , wherein the second transactions comprise a request from the second endpoint to read from or write to the first memory resource.
10 . The method of claim 8 , wherein the first transactions comprise a request from the first endpoint to read from or write to a second memory resource of the second endpoint.
11 . A system, comprising:
a first processing block to:
receive, from a remote endpoint, a mastered transaction in a format that is recognizable by a local memory resource; and
perform one or more operations that direct the mastered transaction to the local memory resource, the one or more operations including;
replacing a first tag of the mastered transaction with a second tag that is transmitted with the mastered transaction to the local memory resource, wherein the first tag is unique from other tags within a first domain that is between the first processing block and the remote endpoint, and wherein the second tag is unique from other tags within a second domain that includes the first processing block; and
a second processing block to:
determine whether the mastered transaction that has been directed to the local memory resource should be reissued;
send, when the mastered transaction should be reissued, an indication to the first processing block that causes the mastered transaction to be reissued to the local memory resource; and
generate, when the mastered transaction should not be reissued, an indication that the mastered transaction has been performed at the local memory resource, the indication that the mastered transaction has been performed comprising a transaction response that is sent to the remote endpoint.
12 . The system of claim 11 , wherein the second processing block is to:
generate the transaction response in a format that is recognizable by the remote endpoint; and
place the transaction response in a queue for sending to the remote endpoint.
13 . The system of claim 11 , wherein the one or more operations that direct the mastered transaction to the local memory resource include:
parsing the mastered transaction into a data queue for data and a header queue for a header;
determining a transaction category, from among a plurality of transaction categories, of the mastered transaction based on the header;
passing the data and the header through a state machine based on the transaction category; and
directing the mastered transaction to the local memory resource based on output of the state machine.
14 . The system of claim 11 , wherein the first processing block is to:
store the first tag to a memory.
15 . The system of claim 14 , wherein the second processing block is to:
retrieve the first tag from the memory when the indication that the mastered transaction has been performed at the local memory resource comprises the transaction response; and
send the transaction response with the first tag to the remote endpoint.
16 . The system of claim 11 , further comprising:
a transmission interface to receive the mastered transaction from the remote endpoint and to send the transaction response to the remote endpoint.
17 . The system of claim 16 , wherein the transmission interface comprises an Infiniband interface.
18 . The system of claim 11 , wherein the mastered transaction comprises a request from the remote endpoint to read from the local memory resource.
19 . The system of claim 11 , wherein the mastered transaction comprises a request from the remote endpoint to write to the local memory resource.
20 . The system of claim 11 , further comprising:
a network of switches to route the mastered transaction from the remote endpoint to the first processing block and to route the transaction response from the second processing block to the remote endpoint.