Next: Execution Trace
Up: An Execution Model
Previous: An Execution Model
In the execution model, a target program is executed
as a set of parallel processes (i.e. one process
per processor).
At any point in time, a process is in one of the
following states:
- Running: A process is running if it is not blocked.
- Blocked: A process is blocked if it has executed a receive
statement, and is waiting for a matching message to arrive.
The execution times of local statements and
the communication times of messages are non-deterministic and
can be arbitrarily small or large. Non-determinism
in execution time is included to model the various
effects of sharing of the processor, on each node of the target machine,
with the processes of other programs.
Non-determinism in communication time is included
to model the effects of sharing the communication medium with the
processes of other programs.
However, messages from one process to another are received in FIFO order.
The communication time of messages is assumed to be non zero.
If two or more messages (from different processes)
arrive simultaneously at a receiver, they
are deposited in its message queue in arbitrary (non-deterministic) order.
Next: Execution Trace
Up: An Execution Model
Previous: An Execution Model
Andy Kahn
Wed Jun 25 20:28:02 PDT 1997