The Case for Collective Pattern Specification

Torsten Hoefler, Jeremiah James Willcock, Arun Chauhan, Andrew Lumsdaine · 2010

Many scientific applications are written in a Bulk Synchronous Parallel style, in which regions of pure computation are separated by communication operations. Unless an existing MPI collective operation can be used, these communication operations are usually written as separate message sends and receives, making analysis and optimization difficult. This style of communication also reduces readability and maintainability by hiding the overall collective pattern in a maze of individual messages. Instead we advocate directly specifying (collective) communication operations in a domain-specific language. We further classify applications by their communication patterns, in particular with respect to different nodes ’ knowledge of the applications ’ patterns and the frequency of pattern changes, showing how a language would benefit each of these classes of applications and the requirements for such a language. Categories and Subject Descriptors D.1.3 [Programming techniques]: Concurrent programming—Parallel programming; D.3.3 [Programming languages]: Language constructs and features— Concurrent programming structures

Read the paper · More papers on PaperTik