Skip to main content

more options


Chess

Data3
  • Domain
    • Non-homogeneous members
    • No interaction between members
  • Technique
    • Self-scheduling (or "pool of tasks") using Manager-Worker
    • Dynamic load balancing
  • The communication pattern is one to all
    • This program will not scale if there is one process managing the pool of tasks.

Data3

In this example, a computer is playing chess. In choosing its next move, it will analyze responses to all possible moves for one or more rounds into the future.

  • Domain
    • Non-homogeneous members
      Different moves require different amounts of computation. One may allow checkmate on the next response, so can be eliminated immediately. Others may require projection further into the future.
    • No interaction between members
      When analyzing one move, no information is needed about other moves.
  • Technique
    • Self-scheduling (or "pool of tasks") using Manager/Worker
      The figure shows the Manager process on the left, ready to distribute data on possible moves to the Workers. The four Workers on the right are all doing the same analysis on different data (different moves). When a Worker is finished analyzing a move, the Manager assigns it another move to analyze.
    • Dynamic load balancing
      The specific work assigned to processes is determined at run time.
  • The communication pattern is one to all
    • This program will not scale if there is one process managing the pool of tasks. The Manager will become a bottleneck as the number of Workers increases.