Each of these three difficulty level's use cases are defined below.

Use Case A: Distributed Computing and Non-Determinism

Students first gain an understanding of both message passing and communication non-determinism. Specifically, students at a beginner level should be able to meet following goals once they have completed:

Learning Goal A1: Introduce Parallelism using Message Passing Paradigm

In order to satisfy the Goal, The students must understand two key concepts

  • Any process in an exectuion can send a message to another process.
  • Processes can exchange message using different communication patterns.

Observe the scenarios in each figure

Fig 1. Event graph visualization of AMG 2013 communication pattern on 2 MPI processes. Each row corresponds to a different MPI rank (process). Green circles correspond to the start or end of a process; blue circles correspond to sending a message; and red circles correspond to receiving a message.

Fig 2. Event graph visualization of a message race communication pattern on four MPI processes. Each row corresponds to a different MPI rank (process). Green circles correspond to the start or end of a process; blue circles correspond to sending a message; and red circles correspond to receiving a message.

Questions

  • Task 1: Describe the scenarios in each figure.
  • Task 2: What strategies would you employ to effectively reproduce the scenarios in the given figures and then broaden the range and quantity of scenarios using ANACIN-X with varying numbers of processes? How would you go about selecting and implementing the diverse communication patterns supported by ANACIN-X in this context?

Learning Goal A2: Define non-determinism associated to message passing

In order to satisfy the Goal, students must be able to understand that non-determinism is defined by inconsistent type and order of messages exchanged between MPI processes across runs of the same application execution.

Observe the scenarios in each figure

Two event graph visualizations run on the same configuration of the message race communication pattern. Different graphs correspond to two different non-deterministic executions. Each row corresponds to a different MPI rank (process). Green circles correspond to the start or end of a process; blue circles correspond to sending a message; and red circles correspond to receiving a message.

Note

  • Both Figures a and b are event graphs. They both correspond to the message race communication pattern. Both figures are generated using the same code with the same inputs but are the result of two independent runs.

Questions

  • Task 1: Describe the scenarios in each figure.
  • Task 2: Using ANACIN-X, generate new scenarios as shown in Figures.