PVM communication is based on TCP , UDP , and Unix-domain sockets. While more appropriate protocols exist, they aren't as generally available.
VMTP [3] is one example of a protocol built for this purpose. Although intended for RPC-style interaction (request-response), it could support PVM messages. It is packet oriented and efficiently sends short blocks of data (such as most pvmd-pvmd management messages) but also handles streaming (necessary for task-task communication). It supports multicasting and priority data (something PVM doesn't need yet). Connections don't need to be established before use; the first communication initializes the protocol drivers at each end. VMTP was rejected, however. because it is not widely available (using it requires modifying the kernel).
This section explains the PVM protocols. There are three connections to consider: Between pvmds, between pvmd and task, and between tasks.