Before any code is written, the matter of the underlying communication mechanism must be resolved. Since further experimentation is necessary to determine which of the above approaches is most efficient and portable, a transport will not be explicitly named. Instead, two requirements will be made of any method chosen as the basis for an AM implementation. First, the transport must be connectionless. One that is connection-oriented does not map well to the all-to-all communications model found in distributed computing. Personalized communication typically requires many system resources and has longer startup times. A connectionless model will thus be assumed-where data and the sender's address appear only at one ``interface'' to the network. The second requirement is that the communication layer provide for nonblocking operation. Overlapping computation and communication are central in active messaging and would simply not be possible with blocking communication primitives. Note that asynchronous notification of message delivery is not mandatory. This can be accomplished, sometimes much more efficiently, through explicit polling of the interface.