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.
Abstract:
In a storage cluster, a producer and a consumer can be remote from each other and have different capabilities. For example, a consumer may be running on a computing node (hereinafter “node”) that operates faster than a node hosting a producer. In addition, network conditions can impact communications to/from the producer and/or the consumer. This environment allows the possibility of a consumer violating sequential access constraints of a file when a producer is writing to the file. This can lead to the consumer reading incorrect data. A file system can ensure compliance with serialization of a concurrently accessed file by obtaining a lock on a subsequent file range before releasing a currently held write lock.
Abstract:
Presented herein are Remote Direct Memory Access (RDMA) networks, RDMA protocols, and methods for performing upper layer protocol (ULP) for RDMA network configurations. Methods for performing ULP RDMA include: a client central processing unit (CPU) allocating a buffer in a memory region of a client computing device; a client network interface card (NIC) creating a steering tag for the buffer; the client CPU transmitting to a local server CPU of a local server node an initiate RDMA request, the RDMA request including source and destination (SRC-DEST) information and a requested RDMA operation, the SRC-DEST information including the steering tag and a file path for a data file; a remote server NIC of a remote server node locating the data file with the file path; the remote server NIC performing the requested RDMA operation without utilizing the server's CPU; and the client and remote server NIC's completing the requested RDMA operation.
Abstract:
Presented herein are Remote Direct Memory Access (RDMA) networks, RDMA protocols, and methods for performing upper layer protocol (ULP) for RDMA network configurations. Methods for performing ULP RDMA include: a client central processing unit (CPU) allocating a buffer in a memory region of a client computing device; a client network interface card (NIC) creating a steering tag for the buffer; the client CPU transmitting to a local server CPU of a local server node an initiate RDMA request, the RDMA request including source and destination (SRC-DEST) information and a requested RDMA operation, the SRC-DEST information including the steering tag and a file path for a data file; a remote server NIC of a remote server node locating the data file with the file path; the remote server NIC performing the requested RDMA operation without utilizing the server's CPU; and the client and remote server NIC's completing the requested RDMA operation.
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.
Abstract:
In a storage cluster, a producer and a consumer can be remote from each other and have different capabilities. For example, a consumer may be running on a computing node (hereinafter “node”) that operates faster than a node hosting a producer. In addition, network conditions can impact communications to/from the producer and/or the consumer. This environment allows the possibility of a consumer violating sequential access constraints of a file when a producer is writing to the file. This can lead to the consumer reading incorrect data. A file system can ensure compliance with serialization of a concurrently accessed file by obtaining a lock on a subsequent file range before releasing a currently held write lock.
Abstract:
Systems, devices, methods and computer program products are provided for selecting between multiple remote procedure call (RPC) frameworks in a client/server Transmission Control Protocol/Internet Protocol (TCP/IP) session. A server device can be configured with multiple RPC frameworks for processing and decoding RPC related communication from a client device. Each RPC framework can be designed to process RPC messages associated with a particular RPC suite. The appropriate RPC framework to decode and process incoming RPC messages can be selected based on a variety of factors. For example, the appropriate RPC framework can be selected based on the RPC suite identified by the client device during an RPC bind operation. The appropriate RPC framework can also be selected based on a server message block (SMB) pipe opened by the client device. The appropriate RPC framework can be further selected based on a client identifier.
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.