Method and system for communicating between memory regions
AssigneeIntel Corporation
InventorsMark Sean Hefty, Jerrie L. Coffman
Life of this patent
Estimating the term…
Abstract
A method and system are provided for transferring data in a networked system between a local memory in a local system and a remote memory in a remote system. A RDMA request is received and a first buffer region is associated with a first transfer operation. The system determines whether a size of the first buffer region exceeds a maximum transfer size of the networked system. Portions of the second buffer region may be associated with the first transfer operation based on the determination of the size of the first buffer region. The system subsequently performs the first transfer operation.
Claims19
1-25. (canceled)
A method comprising:
- if an amount of data located in one or more local memory buffers in a local computer system associated with one or more remote direct memory access (RDMA) requests does not exceed a maximum transfer size for a single memory to memory transfer operation over a data network to one or more remote memory buffers in a remote computer system:
- associating the data located in the one or more local memory buffers with a first transfer operation over the data network to the one or more remote memory buffers in the remote computer system;
- if an amount of data associated with the first transfer operation has not reached the maximum transfer size:
- associating at least a portion of data, otherwise to be associated with one or more subsequent transfer operations associated with the one or more RDMA requests, with the first transfer operation instead of with the one or more subsequent transfer operations, the portion of the data being located in one or more other memory buffers in the local computer system, the one or more subsequent transfer operations to be over the data network to the remote memory buffer in the remote computer system, the one or more local memory buffers being separated from the one or more other memory buffers;
- and
- if the one or more local memory buffers comprises a plurality of different local memory buffers and the one or more remote memory buffers comprises contiguous remote memory buffers:
- minimizing a number of transfer operations employed to transfer the data that is located in the plurality of different local memory buffers so as to conform to a minimum number required to transfer the amount of data located in the plurality of different local memory buffers to the contiguous remote memory buffers.
An apparatus comprising:
- an RDMA (remote direct memory access) manager operable to perform operations comprising:
- if an amount of data located in one or more local memory buffers in a local computer system associated with one or more remote direct memory access (RDMA) requests does not exceed a maximum transfer size for a single memory to memory transfer operation over a data network to one or more remote memory buffers in a remote computer system:
- associating the data located in the one or more local memory buffers with a first transfer operation over the data network to the one or more remote memory buffers in the remote computer system;
- if an amount of data associated with the first transfer operation has not reached the maximum transfer size:
- associating at least a portion of data, otherwise to be associated with one or more subsequent transfer operations associated with the one or more RDMA requests, with the first transfer operation instead of with the one or more subsequent transfer operations, the portion of the data being located in one or more other memory buffers in the local computer system, the one or more subsequent transfer operations to be over the data network to the remote memory buffer in the remote computer system, the one or more local memory buffers being separated from the one or more other memory buffers;
- and
- if the one or more local memory buffers comprises a plurality of different local memory buffers and the one or more remote memory buffers comprises contiguous remote memory buffers:
- minimizing a number of transfer operations employed to transfer the data that is located in the plurality of different local memory buffers so as to conform to a minimum number required to transfer the amount of data located in the plurality of different local memory buffers to the contiguous remote memory buffers.
Computer-readable storage medium including program instructions to be executed by a computer processor for performing a set of operations comprising:
- if an amount of data located in one or more local memory buffers in a local computer system associated with one or more remote direct memory access (RDMA) requests does not exceed a maximum transfer size for a single memory to memory transfer operation over a data network to one or more remote memory buffers in a remote computer system:
- associating the data located in the one or more local memory buffers with a first transfer operation over the data network to the one or more remote memory buffers in the remote computer system;
- if an amount of data associated with the first transfer operation has not reached the maximum transfer size:
- associating at least a portion of data, otherwise to be associated with one or more subsequent transfer operations associated with the one or more RDMA requests, with the first transfer operation instead of with the one or more subsequent transfer operations, the portion of the data being located in one or more other memory buffers in the local computer system, the one or more subsequent transfer operations to be over the data network to the remote memory buffer in the remote computer system, the one or more local memory buffers being separated from the one or more other memory buffers;
- and
- if the one or more local memory buffers comprises a plurality of different local memory buffers and the one or more remote memory buffers comprises contiguous remote memory buffers:
- minimizing a number of transfer operations employed to transfer the data that is located in the plurality of different local memory buffers so as to conform to a minimum number required to transfer the amount of data located in the plurality of different local memory buffers to the contiguous remote memory buffers.
Dependencies are inferred from the claim text.