Pre-registering memory regions for remote direct memory access in a distributed file system
First Claim
1. A method comprising:
- pre-registering, by at least one processing device at a client device, multiple input/output (IO) buffers comprising memory regions at the client device for a remote direct memory access (RDMA) interface at the client device, wherein the client device provides an application executed by the client device with access to a distributed file system comprising multiple server devices using the RDMA interface, and wherein the IO buffers are pre-registered during initialization of the RDMA interface prior to providing the application with access to the distributed file system using the RDMA interface;
receiving a request to access a file in the distributed file system from the application at the client device;
responsive to determining that data of the file has been designated for caching, designating a first IO buffer among the IO buffers as a cache for the data from the file; and
receiving the data for the file in the first IO buffer from the distributed file system using the RDMA interface.
1 Assignment
0 Petitions
Accused Products
Abstract
The subject matter of this specification can be implemented in, among other things, a method that includes pre-registering, by a processing device at a client device, multiple input/output (IO) buffers at the client device with a remote direct memory access (RDMA) interface at the client device. The client device accesses multiple server devices of a distributed file system using the RDMA interface. The method further includes receiving a request to access a file in the distributed file system from an application at the client device. The method further includes designating a first IO buffer among the IO buffers as a cache for data from the file. The method further includes receiving the data for the file in the first IO buffer from the distributed file system using the RDMA interface.
36 Citations
17 Claims
-
1. A method comprising:
-
pre-registering, by at least one processing device at a client device, multiple input/output (IO) buffers comprising memory regions at the client device for a remote direct memory access (RDMA) interface at the client device, wherein the client device provides an application executed by the client device with access to a distributed file system comprising multiple server devices using the RDMA interface, and wherein the IO buffers are pre-registered during initialization of the RDMA interface prior to providing the application with access to the distributed file system using the RDMA interface; receiving a request to access a file in the distributed file system from the application at the client device; responsive to determining that data of the file has been designated for caching, designating a first IO buffer among the IO buffers as a cache for the data from the file; and receiving the data for the file in the first IO buffer from the distributed file system using the RDMA interface. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A non-transitory computer-readable medium having instructions stored thereon that, when executed by at least one processing device, cause the processing device to:
-
pre-register, by the processing device at a client device, multiple input/output (IO) buffers comprising memory regions at the client device for a remote direct memory access (RDMA) interface at the client device, wherein the client device provides an application executed by the client device with access to a distributed file system comprising multiple server devices using the RDMA interface, and wherein the IO buffers are pre-registered during initialization of the RDMA interface prior to providing the application with access to the distributed file system using the RDMA interface, and wherein pre-registering comprises specifying multiple levels of access for the IO buffers due to a level of access subsequently used by the application not yet known at a time the IO buffers are pre-registered; receive a request to access a file in the distributed file system from the application at the client device; receive data for the file in a first IO buffer among the IO buffers from the distributed file system using the RDMA interface; and responsive to determining that the data of the file has been designated for caching, copying the data from the first IO buffer to a cache at the client device. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A system comprising:
-
a remote direct memory access (RDMA) interface at a client device; a memory, at the client device, comprising multiple memory regions; and at least one processing device, at the client device, to communicate with the RDMA interface and the memory to; pre-register multiple input/output (IO) buffers comprising the memory regions for the RDMA interface, wherein the client device provides an application executed by the client device with access to a distributed file system comprising multiple server devices using the RDMA interface, and wherein the IO buffers are pre-registered during initialization of the RDMA interface prior to providing the application with access to the distributed file system using the RDMA interface; receive a request to access a file in the distributed file system from the application at the client device; responsive to determining that data of the file has been designated for caching, designate a first IO buffer among the IO buffers as a cache for the data from the file; and receive the data for the file in the first IO buffer from the distributed file system using the RDMA interface. - View Dependent Claims (13, 14, 15, 16, 17)
-
Specification