Object Oriented MPI
MPI provides four heavy-weight object types that are shared between processes and keep communication organized and synchronized. The most important of these objects is the communicator. The other three primary object types are the datatype, file, and win (shared memory) objects.
MPI also provides handles for four other object types: group, request, info, and op (operator). These are much lighter than the types described above. The group object is a collection of process references and is used when creating communicators. The request object can be queried to find out when a message has been sent and buffers are free. The info object is a simple key/value association where key and value are both strings.
The MPI functions manipulate other values that are not defined as MPI handles. Other supporting object that will simplify the use of the primary MPI objects are described here.