Split model driver using a push-push messaging protocol over a channel based network
First Claim
1. A split model network driver comprising:
- a host module driver provided on a host, the host connected to a switched fabric;
an I/O unit module driver on a remote I/O unit, the I/O unit connected to the switched fabric;
wherein both the host module driver and the I/O unit module driver include a push-push messaging layer to communicate messages across the switched fabric using message Sends and RDMA writes, the host module driver and the I/O unit module driver to initiate data transfers to each other without receiving a request to transfer; and
wherein the push-push messaging layer communicate messages across the switched fabric using message Sends and RDMA writes, the RDMA writes including data and a transfer indication to identify a buffer consumed at a destination.
1 Assignment
0 Petitions
Accused Products
Abstract
A channel based network is provided that allows one or more hosts to communicate with one or more remote fabric attached I/O units. A split-model network driver includes a host module driver and I/O unit module driver. The host module driver and the I/O unit module driver each includes a messaging layer that allows the hosts and I/O units to communicate over the switched fabric using a push-push messaging protocol. For a host to send data, the host either initiates a RDMA write to a pre-registered buffer or initiates a message Send to a pre-posted buffer on the target. For the RDMA case, the initiator would have to send the target some form of transfer indication specifying where the data has been written. This notification can be done with either a separate message or more preferably with immediate data that is included with the RDMA write.
-
Citations
20 Claims
-
1. A split model network driver comprising:
-
a host module driver provided on a host, the host connected to a switched fabric;
an I/O unit module driver on a remote I/O unit, the I/O unit connected to the switched fabric;
wherein both the host module driver and the I/O unit module driver include a push-push messaging layer to communicate messages across the switched fabric using message Sends and RDMA writes, the host module driver and the I/O unit module driver to initiate data transfers to each other without receiving a request to transfer; and
wherein the push-push messaging layer communicate messages across the switched fabric using message Sends and RDMA writes, the RDMA writes including data and a transfer indication to identify a buffer consumed at a destination. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. An apparatus comprising:
-
a first virtual interface (VI) work queue pair;
a second virtual interface (VI) work queue pair;
a channel adapter coupled to the VI work queue pairs to interface the apparatus to a switched fabric;
a messaging layer to communicate buffer management messages over the switched fabric using the first work queue pair, and to communicate RDMA write messages over the switched fabric using the second VI work queue pair, one or more of the RDMA write messages including a transfer indication within the RDMA write message that identifies a buffer consumed by the RDMA write. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. An apparatus comprising:
-
a virtual interface (VI) work queue;
a host channel adapter coupled to the VI work queue, the channel adapter to interface the host to a switched fabric;
a push-push messaging layer to communicate control and buffer management messages over a first channel and to communicate RDMA write messages over a second channel, one or more of the RDMA write messages including a transfer indication within the RDMA write message, the transfer indication identifying a buffer that is consumed at a destination by a RDMA write. - View Dependent Claims (14, 15, 16)
-
-
17. A host comprising:
-
at least one virtual interface (VI) work queue pair;
a host channel adapter coupled to the VI work queue pair, the channel adapter to interface the host to a switched fabric;
a push-push messaging layer to communicate control and buffer management messages over a first channel and to communicate RDMA write messages over a second channel, the messaging layers communicating a transfer indication message over the first channel after an RDMA write message and separate from the RDMA write message, the transfer indication message identifying a buffer that was consumed at a destination by a RDMA write.
-
-
18. A computerized method comprising:
-
establishing a connected channel between first and second nodes across a switched fabric by associating a work queue pair of the first node with a work queue pair of the second node;
communicating data from the first node to the second node using a push-push RDMA write to a pre-registered buffer at the second node, the RDMA write also including a transfer indication identifying the buffer that was consumed at the second node that received the data, with the RDMA write to comprise a data transfer initiated without receiving a request to transfer; and
establishing a second connected channel between the first and second nodes, the second connected channel to communicate control and buffer management messages between the nodes. - View Dependent Claims (19)
-
-
20. A computer program, embodied in a tangible medium, when executed causes a computing device to:
-
establish a connected channel between first and second nodes across a switched fabric by associating a work queue pair of the first node with a work queue pair of the second node;
communicate data from the first node to the second node using a push-push RDMA write to a pre-registered buffer at the second node, the RDMA write also including a transfer indication identifying the buffer that was consumed at the second node that received the data, with the RDMA write to comprise a data transfer initiated without receiving a request to transfer; and
establishing a second connected channel between the first and second nodes, the second connected channel to communicate control an buffer management messages between the nodes.
-
Specification