Chapter 17: Passing Messages
David L. Chopp · Society for Industrial and Applied Mathematics eBooks · 2019
There are certainly many applications where the same program must be run many times using varying input parameters in order to achieve its goal. Using a cluster in this instance is sometimes called “poor man’s parallelism” or “embarrassingly parallelizable” because essentially no effort beyond learning how to get multiple versions of the code to run is required in order to achieve perfectly scalable parallelism. These are not the type of applications intended here. Instead, the focus is on tasks that require coordination between processes and on how to get multiple processes to talk to each other by passing messages. This chapter covers the various communications patterns including point-to-point communications between two individual processes and group communications including many-to-one, one-to-many, and many-to-many.