next up previous contents index
Next: G1-Class Up: Predefined Mailer Classes Previous: Z-Class


mail is used to support emulation of typed message notations such as Intel's NX or PICL [Geist:92b]. Process names are not abstracted, and receipt selectivity is based on the source name (as { node,pid} pair) plus a type.

We have been able to classify a number of message-passing systems in [Skjellum:92c], though specific differences in sending, and receiving strategies exist between common tagged-message-passing systems. In Zipcode, we define the L-class, which provides for receipt selectivity based on message source in unabstracted {node,pid} notation, and on a long-integer tag. This class can be used to define one or more contexts of tagged message systems, that call the primitives described fully in [Skjellum:92b]. However, and perhaps more interestingly, these L-class calls can be used to generate wrappers for all the major tagged message-passing systems. In the Zipcode manual we illustrate how this is done by showing a few of the wrappers for the PICL, NX, and Vertex system [Skjellum:92b]. We also have a long-standing Zipcode-based emulation for the Livermore Message Passing System (LMPS) [Welcome:92a].

Furthermore, for each context a user declares, he or she is guaranteed that the L-class messages will not be mixed up, so that if vendor-style calls are used in different libraries, then these will not interfere with other parts of a program. This allows several existing tagged subroutines or programs to be brought together and face-lifted easily to work together, without changing tags or seeing when/where the message passing resources might conflict. In short, this provides a general means to ensure tagged-message safety, as contemplated in [Hart:93a].

Guy Robinson
Wed Mar 1 10:19:35 EST 1995