A method for implementing Message Passing Interface (MPI-2) one-sided
communication by using Low-level Applications Programming Interface
(LAPI) active messaging capabilities, including providing at least three
data transfer types, one of which is used to send a message with a
message header greater than one packet where Data Gather and Scatter
Programs (DGSP) are placed as part of the message header; allowing a
multi-packet header by using a LAPI data transfer type; sending the DGSP
and data as one message; reading the DSGP with a header handler;
registering the DSGP with the LAPI to allow the LAPI to scatter the data
to one or more memory locations; defining two sets of counters, one
counter set for keeping track of a state of a prospective communication
partner, and another counter set for recording activities of local and
Remote Memory Access (RMA) operations; comparing local and remote counts
of completed RMA operations to complete synchronization mechanisms; and
creating a mpci_wait_loop function.