The proposed approach has been successfully implemented into an existing object oriented finite element environment . The program structure has been designed to be independent of a particular message passing library. Currently, the MPI message passing library  has been used. It is supported by many existing platforms including workstation clusters. All communication is buffered by the finite element code, not by the message passing library. Explicit buffering by the application leads to an effective memory usage and efficient data exchange, but requires synchronization between collaborating processes. A nonblocking point to point communication has been used. It allows the data exchange to be performed by a specialized hardware (if installed), providing the possibility for some computation to be done before the communication completion.
Communication maps, which can be thought as lists of entities (nodes, elements) that participate in the communication, are established according to the mesh partitioning prior the actual analysis separately for send and receive operations. While the send and receive maps are identical for the node-cut strategy, they are different in the case of the element-cut strategy. It should be also pointed out that communication maps for node-cut approach (exchange of shared node data) can be assembled locally on each partition directly from the mesh partitioning data. However, this is not true for the element-cut approach, where only the receive map can be setup locally. The send map must be established by communication in terms of mutual exchange of receive maps between collaborating processes and consequent selection of requests related to each local partition. The corresponding local send and remote receive (and vice versa) maps must be uniquely ordered to guarantee correctness of packing and unpacking operations. In general, the communication maps can vary dynamically during the analysis to reflect the potential repartitioning, for example due to the recovery of the load balance.