Overlapped rendezvous memory registration
AssigneeIntel Corporation
InventorsSayantan Sur, Keith Underwood, Ravindra Babu Ganapathi, Andrew Friedley
Life of this patent
Estimating the term…
Loading patent…
AssigneeIntel Corporation
InventorsSayantan Sur, Keith Underwood, Ravindra Babu Ganapathi, Andrew Friedley
Estimating the term…
Methods, software, and systems for improved data transfer operations using overlapped rendezvous memory registration. Techniques are disclosed for transferring data between a first process operating as a sender and a second process operating as a receiver. The sender sends a PUT request message to the receiver including payload data stored in a send buffer and first and second match indicia. Subsequent to or in conjunction with sending the PUT request message, the send buffer is exposed on the sender. The first match indicia is used to determine whether the PUT request is expected or unexpected. If the PUT request is unexpected, an RMA GET operation is performed using the second matching indicia to pull data from the send buffer and write the data to a memory region in the user space of the process associated with the receiver. The RMA GET operation may be retried one or more times in the event that the send buffer has yet to be exposed. If the PUT request message is expected, the data payload with the PUT request is written to a receive buffer on the receiver determined using the first match indicia. The techniques included implementations using the Portals APIs and Message Passing Interface (MPI) applications and provide an improved rendezvous protocol.
A method comprising:
A non-transient machine-readable media having instruction stored thereon, including instructions configured to be executed via first and second processes, the first process corresponding to a sender and the second process corresponding to a receiver, wherein execution of the instructions enable the first and second processes to:
A system comprising a plurality of nodes, each executing a respective process enabling each node to operate as a sender and receiver, wherein under a given data transfer from a first node to a second node the first node comprises a sender and the second node comprises a receiver, and the given data transfer comprises:
Dependencies are inferred from the claim text.