Pre-registering memory regions for remote direct memory access in a distributed file system

US2020341940A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2020341940-A1
Application numberUS-202016927795-A
CountryUS
Kind codeA1
Filing dateJul 13, 2020
Priority dateJan 13, 2016
Publication dateOct 29, 2020
Grant date

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

The subject matter of this specification can be implemented in, among other things, a method that includes pre-registering, at a client device, one or more input/output (IO) buffers for a remote direct memory access (RDMA) interface at the client device. In response to pre-registering the one or more IO buffers at the client device, an application executed by the client device is provided with access to a distributed file system through the RDMA interface. In response to determining that data of a requested file in the distributed file system has been designated for caching, a first IO buffer among the IO buffers is designated as a cache for the data of the file. The data for the file is received via the RDMA interface and from the distributed file system, for the first IO buffer.

First claim

Opening claim text (preview).

What is claimed is: 1 . A method comprising: pre-registering, at a client device, one or more input/output (IO) buffers for a remote direct memory access (RDMA) interface at the client device; responsive to pre-registering the one or more TO buffers at the client device, providing an application executed by the client device with access to a distributed file system through the RDMA interface; responsive to determining that data of a requested file in the distributed file system has been designated for caching, designating a first TO buffer among the TO buffers as a cache for the data of the file; and receiving, via the RDMA interface and from the distributed file system, the data of the file for the first IO buffer. 2 . The method of claim 1 , wherein the one or more TO buffers are pre-registered during initialization of the RDMA interface. 3 . The method of claim 1 , wherein the one or more TO buffers comprise a plurality of TO buffers that comprise a first set of TO buffers designated for caching data received from the distributed file system and a second set of TO buffers that are not designated for caching the data received from the distributed file system, and wherein the first set of TO buffers comprises the first TO buffer. 4 . The method of claim 3 , wherein the data of the file received for the first IO buffer is used for a subsequent request to access the file from the client device, and wherein the method further comprises determining that the data of the file in the first IO buffer relative to the data of the file in the distributed file system has not changed prior to using the data of the file in the first IO buffer. 5 . The method of claim 3 , further comprising: responsive to determining that the data of the requested file in the distributed file system has not been designated for caching, causing the data of the file to be stored in a second IO buffer of the second set of IO buffers that are not designated for caching data received from the distributed file system. 6 . The method of claim 1 , wherein pre-registering comprises specifying multiple levels of access for the one or more IO buffers due to a level of access for the IO buffers, wherein the level of access for the IO buffers is determined in view of a level of access subsequently used by the application not yet being known at a time the IO buffers are pre-registered. 7 . The method of claim 1 , further comprising: receiving a request to access the file in the distributed file system from the application at the client device, wherein the request to access the file comprises a system call or a file operation of an operating system, and wherein the system call or the file operation accesses a virtual file system. 8 . 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 a processing device, at the client device, to communicate with the RDMA interface and the memory, the processing device to: pre-register one or more input/output (IO) buffers for the RDMA interface at the client device; responsive to pre-registering the one or more IO buffers at the client device, provide an application executed by the client device with access to a distributed file system through the RDMA interface; responsive to determining that data of a requested file in the distributed file system has been designated for caching, designating a first IO buffer among the IO buffers as a cache for the data of the file; and receive, via the RDMA interface and from the distributed file system, the data of the file for the first IO buffer. 9 . The system of claim 8 , wherein the one or more IO buffers are pre-registered during initialization of the RDMA interface. 10 . The system of claim 8 , wherein the one or more IO buffers comprise a plurality of IO buffers that comprise a first set of IO buffers designated for caching data received from the distributed file system and a second set of IO buffers that are not designated for caching the data received from the distributed file system, and wherein the first set of IO buffers comprises the first IO buffer. 11 . The system of claim 10 , wherein the data of the file received for the first IO buffer is used for a subsequent request to access the file from the client device, and wherein the processing device is further to: determine that the data of the file in the first IO buffer relative to the data of the file in the distributed file system has not changed prior to using the data of the file in the first IO buffer. 12 . The system of claim 10 , wherein the processing device is further to: responsive to determining that the data of the requested file in the distributed file system has not been designated for caching, cause the data of the file to be stored in a second IO buffer of the second set of IO buffers that are not designated for caching data received from the distributed file system. 13 . The system of claim 8 , wherein pre-registering comprises specifying multiple levels of access for the one or more IO buffers due to a level of access for the IO buffers, wherein the level of access for the IO buffers is determined in view of a level of access subsequently used by the application not yet being known at a time the IO buffers are pre-registered. 14 . A non-transitory, computer readable medium having instructions that, when executed by a processing device, cause the processing device to: pre-register, at a client device, one or more input/output (IO) buffers for a remote direct memory access (RDMA) interface at the client device; responsive to pre-registering the one or more IO buffers at the client device, provide an application executed by the client device with access to a distributed file system through the RDMA interface; responsive to determining that data of a requested file in the distributed file system has been designated for caching, designate a first IO buffer among the IO buffers as a cache for the data of the file; and receive, via the RDMA interface and from the distributed file system, the data of the file for the first IO buffer. 15 . The non-transitory, computer readable medium of claim 14 , wherein the one or more IO buffers are pre-registered during initialization of the RDMA interface. 16 . The non-transitory, computer readable medium of claim 14 , wherein the one or more IO buffers that comprise a first set of IO buffers designated for caching data received from the distributed file system and a second set of IO buffers that are not designated for caching the data received from the distributed file system, and wherein the first set of IO buffers comprises the first IO buffer. 17 . The non-transitory, computer readable medium of claim 16 , wherein the data of the file received for the first IO buffer is used for a subsequent request to access the file from the client device, and wherein the processing device is further to: determine that the data of the file in the first IO buffer relative to the data of the file in the distributed file system has not changed prior to using the data of the file in the first IO buffer. 18 . The non-transitory, computer readable medium of claim 16 , wherein the processing device is further to: responsive to determining that the data of the requested file in the distributed file system has not been designated for caching, cause the data of the file to be stored in a second IO buffer of the second set of IO buffers that are not designated for caching data rec

Assignees

Inventors

Classifications

  • for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS] · CPC title

  • using dynamic buffer space allocation · CPC title

  • Distributed shared memory [DSM], e.g. remote direct memory access [RDMA] · CPC title

  • Interprogram communication · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US2020341940A1 cover?
The subject matter of this specification can be implemented in, among other things, a method that includes pre-registering, at a client device, one or more input/output (IO) buffers for a remote direct memory access (RDMA) interface at the client device. In response to pre-registering the one or more IO buffers at the client device, an application executed by the client device is provided with …
Who is the assignee on this patent?
Red Hat Inc
What technology area does this patent fall under?
Primary CPC classification H04L67/1097. Mapped technology areas include Electricity.
When was this patent published?
Publication date Thu Oct 29 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).