Methods and systems for efficiently moving data between nodes in a cluster
Abstract
Exemplary embodiments provide methods, mediums, and systems for efficiently moving data between cluster nodes. Upon receiving a request to read or write data at a first cluster node that is in communication with a client, the first node effects the transfer to or from a second cluster node. The transfer is carried out using a combination of remote data memory access (“RDMA”), or a similar technique that bypasses a part of the network stack, and transport control protocol (“TCP”), or a similar technique that does not bypass a part of the network stack. The data is transferred using RDMA, while certain control messages are sent using TCP. By combining RDMA content transfers and TCP control messages, data transfers can be carried out faster, more efficiently, and with less processing overhead. Other embodiments are described and claimed.
Claims
exact text as granted — not AI-modified1 . A method comprising:
receiving, via circuitry, a request from a point of contact node to write data to a remote volume associated with a remote node, wherein the remote node is capable of communicating with the point of contact node using a first protocol that traverses a network stack and a second protocol that bypasses at least a portion of the network stack; receiving at least a portion of the data to be written via the second protocol that bypasses at least a portion of the network stack; writing the received data to the remote volume; and transmitting a response to the point of contact node via the first protocol that traverses the network stack.
2 . The method of claim 1 , wherein the first protocol is transport control protocol (TCP) and the second protocol is the remote direct memory access (RDMA) protocol.
3 . The method of claim 1 , further comprising retrieving, from the request, a location of a preallocated buffer on the point of contact node,
wherein receiving the portion of the requested data comprises reading the portion from the preallocated buffer.
4 . The method of claim 1 , wherein:
the data comprises metadata and content, receiving the request from the point of contact node comprises receiving the metadata via the first protocol, receiving the portion of the requested data comprises receiving the content via the second protocol, and writing the received data comprises combining the content with the metadata to reassemble the data.
5 . The method of claim 1 , further comprising receiving the portion of the requested data via the second protocol when a size of the requested data exceeds a predetermined threshold.
6 . The method of claim 5 , wherein the predetermined threshold is between about 16 kilobytes and about 32 kilobytes.
7 . The method of claim 1 , further comprising:
reverting to data transmission via the first protocol when communication via the second protocol is not possible.
8 . The method of claim 1 , wherein receiving the request from the point of contact node comprises receiving the request via the first protocol.
9 . A non-transitory computer readable medium storing instructions that, when executed, cause circuitry of a computing device to:
receive a request from a point of contact node to write data to a remote volume associated with a remote node; receive at least a portion of the data to be written via a bypassing protocol that bypasses at least a portion of a network stack; write the received data to the remote volume; and transmit a response to the point of contact node via a traversing protocol that traverses the network stack.
10 . The medium of claim 9 , wherein the traversing protocol is transport control protocol (TCP) and the bypassing protocol is the remote direct memory access (RDMA) protocol.
11 . The medium of claim 9 , further storing instructions to retrieve, from the request, a location of a preallocated buffer on the point of contact node,
wherein receiving the portion of the requested data comprises reading the portion from the preallocated buffer.
12 . The medium of claim 9 , wherein:
the data comprises metadata and content, receiving the request from the point of contact node comprises receiving the metadata via the traversing protocol receiving the portion of the requested data comprises receiving the content via the bypassing protocol, and writing the received data comprises combining the content with the metadata to reassemble the requested data.
13 . The medium of claim 9 , further storing instructions to receive the portion of the data via the bypassing protocol when a size of the data exceeds a predetermined threshold.
14 . The medium of claim 9 , further storing instructions to:
revert to data transmission via the traversing protocol when communication via the bypassing protocol is not possible.
15 . The medium of claim 9 , wherein receiving the request at the remote node comprises receiving the request via the traversing protocol.
16 . An apparatus, comprising:
a network interface capable of communicating with a point of contact node using a first protocol that traverses a network stack and a second protocol that bypasses at least a portion of the network stack; and logic, at least a portion of which is implemented in hardware, the logic comprising:
a request handler configured to receive a request from the point of contact node to write data to a remote volume associated with the remote node,
reception logic configured to receive a portion of the data via the second protocol,
writing logic configured to write the received data to the remote volume, and
transmission logic configured to transmit a response to the point of contact node via a traversing protocol that traverses the network stack.
17 . The apparatus of claim 16 , wherein the first protocol is transport control protocol (TCP) and the second protocol is the remote direct memory access (RDMA) protocol.
18 . The apparatus of claim 16 , the logic configured to read the portion of the data from a preallocated buffer in a memory of the point of contact node, wherein a location of the preallocated buffer is received with the request.
19 . The apparatus of claim 16 , wherein the data comprises metadata and content, and the reception logic is configured to receive the content via the second protocol, receive the metadata as part of the request, and combine the content with the metadata to reassemble the requested data.
20 . The system of claim 16 , the logic configured to receive the portion of the requested data via the second protocol when the requested data exceeds a predetermined threshold.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.