Next:
Conclusions
Up:
Prototype Systems
Previous:
MPI-style Message Passing
PVM 3.4 [#PVM3##1#] includes many enhancements such as contexts and a mailbox-style
user-accessible database.
These features can be used to add a level of protection
on a par with that of MPI.
Thus, by enrolling in PVMPI, an MPI
application can still be protected from rogue messages.
The second implementation of the PVMPI system uses some of the PVM 3.4
features to stores group attributes in the mailbox.
Attributes include group size, node architectures, context tag,
and access permissions,
which are set by using the options entry in the pvmpi_register call.
Once a process has registed under PVM 3.4, it is issued with a context for its
group. External processes cannot access details about that group, such as size
or membership, unless it matches the permission criteria set during the
registration.
The permission options for registration include the following:
- PVMPI_ANY: Any process can look up a groups details and attributes. This
is the default for the PVM 3.3 group services.
- PVMPI_SIBLIN: Any process that shares a common parent can access
details. The number of levels up the process tree searched can be varied.
- PVMPI_CHILD: Only this process's children can find details about it.
- PVMPI_PRIVATE: Access to process's identity and context for any
external processes is disallowed.
Processes may change their access permission at any time, noting that this is a
collective operation across the entire group.
Once a group has registered, its context is set and stored in the system mailbox.
If a process attempts to communicate with these processes, it must obtain the
context from the process itself, or it can use one of the PVMPI
communication routines such as pvmpi_send, which will look up and use the
correct context if it is available.
This arrangement enables processes to communicate with
each other without the user having to explicitly pass the context to other
processes.
An advantage of having fixed groups with known attributes is that PVM is
able to choose the correct encoding scheme when message passing,
thereby
enhancing performance on homogeneous systems automatically.
Next:
Conclusions
Up:
Prototype Systems
Previous:
MPI-style Message Passing
Jack Dongarra
Fri Apr 12 11:15:36 EDT 1996