Fencing network direct memory access data transfers in a parallel active messaging interface of a parallel computer
First Claim
1. A method for fencing direct memory access (DMA) data transfers in a parallel active messaging interface (‘
- PAMI’
), the method comprising;
receiving, at an origin endpoint in the PAMI, a DMA PUT instruction from an origin application, wherein the DMA PUT instruction specifies a data transfer between the origin endpoint to a target endpoint in the PAMI, wherein the DMA PUT instruction, upon execution, transmits data from the origin endpoint directly into a target random access memory (RAM) for the target endpoint, wherein each endpoint specifies a client, a context, and a task;
receiving, at an origin endpoint, a FENCE instruction corresponding to data transfer between the origin endpoint and the target endpoint,wherein the FENCE instruction advises the application when the transfers between the origin endpoint and the target endpoint are complete, andwherein the transfer between the origin endpoint and the target endpoint occur across a deterministic network connecting the origin endpoint and the target endpoint;
posting the DMA PUT instructions and the FENCE instruction to a work queue of the context for the origin endpoint, wherein the FENCE instruction is posted at a location in the ordered sequence such that the FENCE instruction is processed after the plurality of DMA PUT instructions is processed; and
executing, through the PAMI, by the origin endpoint, an advance function that executes instructions in the work queue strictly in the ordered sequence, wherein execution of the FENCE instruction indicates to the origin application that the execution of the DMA PUT instruction is complete.
1 Assignment
0 Petitions
Accused Products
Abstract
Fencing direct memory access (‘DMA’) data transfers in a parallel active messaging interface (‘PAMI’) of a parallel computer, the PAMI including data communications endpoints, each endpoint including specifications of a client, a context, and a task, the endpoints coupled for data communications through the PAMI and through DMA controllers operatively coupled to a deterministic data communications network through which the DMA controllers deliver data communications deterministically, including initiating execution through the PAMI of an ordered sequence of active DMA instructions for DMA data transfers between two endpoints, effecting deterministic DMA data transfers through a DMA controller and the deterministic data communications network; and executing through the PAMI, with no FENCE accounting for DMA data transfers, an active FENCE instruction, the FENCE instruction completing execution only after completion of all DMA instructions initiated prior to execution of the FENCE instruction for DMA data transfers between the two endpoints.
-
Citations
5 Claims
-
1. A method for fencing direct memory access (DMA) data transfers in a parallel active messaging interface (‘
- PAMI’
), the method comprising;receiving, at an origin endpoint in the PAMI, a DMA PUT instruction from an origin application, wherein the DMA PUT instruction specifies a data transfer between the origin endpoint to a target endpoint in the PAMI, wherein the DMA PUT instruction, upon execution, transmits data from the origin endpoint directly into a target random access memory (RAM) for the target endpoint, wherein each endpoint specifies a client, a context, and a task; receiving, at an origin endpoint, a FENCE instruction corresponding to data transfer between the origin endpoint and the target endpoint, wherein the FENCE instruction advises the application when the transfers between the origin endpoint and the target endpoint are complete, and wherein the transfer between the origin endpoint and the target endpoint occur across a deterministic network connecting the origin endpoint and the target endpoint; posting the DMA PUT instructions and the FENCE instruction to a work queue of the context for the origin endpoint, wherein the FENCE instruction is posted at a location in the ordered sequence such that the FENCE instruction is processed after the plurality of DMA PUT instructions is processed; and executing, through the PAMI, by the origin endpoint, an advance function that executes instructions in the work queue strictly in the ordered sequence, wherein execution of the FENCE instruction indicates to the origin application that the execution of the DMA PUT instruction is complete. - View Dependent Claims (2, 3, 4, 5)
- PAMI’
Specification