2010 19th International Conference on Parallel Architectures and Compilation Techniques (PACT) (2010)
Sept. 11, 2010 to Sept. 15, 2010
DOI Bookmark: http://doi.ieeecomputersociety.org/
Jeremiah J. Willcock , Indiana University, 150 S. Woodlawn Ave, Bloomington, IN 47401, USA
Torsten Hoefler , University of Illinois at Urbana-Champaign, 1205 W. Clark St., 61801, USA
Nicholas G. Edmonds , Indiana University, 150 S. Woodlawn Ave, Bloomington, IN 47401, USA
Andrew Lumsdaine , Indiana University, 150 S. Woodlawn Ave, Bloomington, IN 47401, USA
Active messages have proven to be an effective approach for certain communication problems in high performance computing. Many MPI implementations, as well as runtimes for Partitioned Global Address Space languages, use active messages in their low-level transport layers. However, most active message frameworks have low-level programming interfaces that require significant programming effort to use directly in applications and that also prevent optimization opportunities. In this paper we present AM++, a new user-level library for active messages based on generic programming techniques. Our library allows message handlers to be run in an explicit loop that can be optimized and vectorized by the compiler and that can also be executed in parallel on multicore architectures. Runtime optimizations, such as message combining and filtering, are also provided by the library, removing the need to implement that functionality at the application level. Evaluation of AM++ with distributed-memory graph algorithms shows the usability benefits provided by these library features, as well as their performance advantages.
Parallel Programming Interfaces, Active Messages, Parallel Graph Algorithms
J. J. Willcock, T. Hoefler, N. G. Edmonds and A. Lumsdaine, "AM++: A generalized active message framework," 2010 19th International Conference on Parallel Architectures and Compilation Techniques (PACT), Vienna, Austria, 2010, pp. 401-410.