Generally, communication among the IUA tasks is through a uniform message passing mechanism. Any task running on the IUA may send messages to any message queue on any processor in the IUA. The message mechanism provides a uniform interface whether the message is transmitted over special purpose hardware, the ethernet, or through shared memory. A remote procedure call (RPC) mechanism is built on top of the message passing system. The RPC mechanism facilitates cooperation between tasks by providing a means for processors to supply services to each other. For example, a task wishing to do I/O may call a normal-looking I/O routine on its own processor, which generates a message to the Host. The server interprets the message, calls the appropriate routine, packages up the result, and sends it back to the waiting task. The RPC package transparently handles packing and unpacking of data, including format conversions and copying of indirectly referenced structures.