MPI
Message Passing programs are non-deterministic because of concurrency
- Consider 2 processes sending messages to third
MPI does guarantee that 2 messages sent from a single process to another will arrive in order.
It is the programmer's responsibility to ensure computation determinism