Direct memory access in a hybrid computing environment
First Claim
1. A method of direct memory access (‘
- DMA’
) in a computing environment, the computing environment comprising a plurality of computers and one or more DMA engines, the computers adapted to one another for data communications by an data communications fabric, each computer executing an application capable of issuing DMA requests to a DMA engine, the method comprising;
pinning, by a first application executing on a first computer, a memory region for DMA transfer of data, including providing, to all applications executing in the computing environment, information describing the memory region;
effecting, by a second application executing on a second computer in dependence upon the information describing the memory region, DMA transfers related to the memory region, including issuing DMA requests to a particular DMA engine for processing; and
unpinning, by the first application after effecting a plurality of DMA transfers related to the memory region, the memory region, including insuring, prior to unpinning, that no additional DMA requests related to the memory region are issued, that all outstanding DMA requests related to the memory region are provided to a DMA engine, and that processing of all outstanding DMA requests related to the memory region and provided to a DMA engine has been completed.
1 Assignment
0 Petitions
Accused Products
Abstract
DMA in a computing environment that includes several computers and DMA engines, the computers adapted to one another for data communications by an data communications fabric, each computer executing an application, where DMA includes: pinning, by a first application, a memory region, including providing, to all applications, information describing the memory region; effecting, by a second application in dependence upon the information describing the memory region, DMA transfers related to the memory region, including issuing DMA requests to a particular DMA engine for processing; and unpinning, by the first application, the memory region, including insuring, prior to unpinning, that no additional DMA requests related to the memory region are issued, that all outstanding DMA requests related to the memory region are provided to a DMA engine, and that processing of all outstanding DMA requests related to the memory region and provided to a DMA engine has been completed.
-
Citations
20 Claims
-
1. A method of direct memory access (‘
- DMA’
) in a computing environment, the computing environment comprising a plurality of computers and one or more DMA engines, the computers adapted to one another for data communications by an data communications fabric, each computer executing an application capable of issuing DMA requests to a DMA engine, the method comprising;pinning, by a first application executing on a first computer, a memory region for DMA transfer of data, including providing, to all applications executing in the computing environment, information describing the memory region; effecting, by a second application executing on a second computer in dependence upon the information describing the memory region, DMA transfers related to the memory region, including issuing DMA requests to a particular DMA engine for processing; and unpinning, by the first application after effecting a plurality of DMA transfers related to the memory region, the memory region, including insuring, prior to unpinning, that no additional DMA requests related to the memory region are issued, that all outstanding DMA requests related to the memory region are provided to a DMA engine, and that processing of all outstanding DMA requests related to the memory region and provided to a DMA engine has been completed. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
- DMA’
-
9. An apparatus for direct memory access (‘
- DMA’
) in a computing environment, the computing environment comprising a plurality of computers and one or more DMA engines, the computers adapted to one another for data communications by an data communications fabric, each computer executing an application capable of issuing DMA requests to a DMA engine, the apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions capable of;pinning, by a first application executing on a first computer, a memory region for DMA transfer of data, including providing, to all applications executing in the computing environment, information describing the memory region; effecting, by a second application executing on a second computer in dependence upon the information describing the memory region, DMA transfers related to the memory region, including issuing DMA requests to a particular DMA engine for processing; and unpinning, by the first application after effecting a plurality of DMA transfers related to the memory region, the memory region, including insuring, prior to unpinning, that no additional DMA requests related to the memory region are issued, that all outstanding DMA requests related to the memory region are provided to a DMA engine, and that processing of all outstanding DMA requests related to the memory region and provided to a DMA engine has been completed. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
- DMA’
-
17. A computer program product for direct memory access (‘
- DMA’
) in a computing environment, the computing environment comprising a plurality of computers and one or more DMA engines, the computers adapted to one another for data communications by an data communications fabric, each computer executing an application capable of issuing DMA requests to a DMA engine, the computer program product disposed in a computer readable recording medium, the computer program product comprising computer program instructions capable of;pinning, by a first application executing on a first computer, a memory region for DMA transfer of data, including providing, to all applications executing in the computing environment, information describing the memory region; effecting, by a second application executing on a second computer in dependence upon the information describing the memory region, DMA transfers related to the memory region, including issuing DMA requests to a particular DMA engine for processing; and unpinning, by the first application after effecting a plurality of DMA transfers related to the memory region, the memory region, including insuring, prior to unpinning, that no additional DMA requests related to the memory region are issued, that all outstanding DMA requests related to the memory region are provided to a DMA engine, and that processing of all outstanding DMA requests related to the memory region and provided to a DMA engine has been completed. - View Dependent Claims (18, 19, 20)
- DMA’
Specification