next up previous
Next: Message Delivery Up: Basic Simulator Design Previous: Multithreading Support

Communicator Implementation

In MPI, each target process maintains a list of communicators that it is a member of, and has a message queue for each communicator. In MPISIM, each host process maintains a list of communicators that any of its threads is a member of, and on each communicator, maintains a message queue for each local member thread. Communicator message queues only contain data messages since acknowledgements can and are always matched immediately with the request list of the thread. Communicator message queues are implemented as linked lists ordered by send simulation timestamp. Also associated with each communicator are variables that contain the message EIT and the acknowledgement EIT and two arrays that contain the message EOTs and acknowledgement EOTs of all member threads (local and remote). As mentioned earlier, ECOTs are associated with LPs and not communicators.



next up previous
Next: Message Delivery Up: Basic Simulator Design Previous: Multithreading Support



Andy Kahn
Wed Jun 25 20:28:02 PDT 1997