skip to main content
10.1145/1854273.1854323acmconferencesArticle/Chapter ViewAbstractPublication PagespactConference Proceedingsconference-collections
research-article

AM++: a generalized active message framework

Published: 11 September 2010 Publication History

Abstract

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.

References

[1]
}}Berkeley UPC system internals documentation, version 2.10.0, Nov. 2009. http://upc.lbl.gov/docs/system/index.html
[2]
}}D. Bonachea. GASNet specification, v1.1. Technical report, University of California at Berkeley, Berkeley, CA, USA, 2002. http://gasnet.cs.berkeley.edu/CSD-02-1207.pdf.
[3]
}}K. M. Chandy and J. Misra. How processes learn. Distributed Computing, 1(1):40--52, 1986.
[4]
}}A. Crauser, K. Mehlhorn, U. Meyer, and P. Sanders. A parallelization of Dijkstra's shortest path algorithm. In Mathematical Foundations of Computer Science, volume 1450 of LNCS, pages 722--731. Springer, 1998.
[5]
}}J. Dean and S. Ghemawat. MapReduce: Simplified data processing on large clusters. In Operating Systems Design & Implementation, pages 137--157, Berkeley, CA, USA, 2004.
[6]
}}N. Edmonds, A. Breuer, D. Gregor, and A. Lumsdaine. Single-source shortest paths with the Parallel Boost Graph Library. In The Ninth DIMACS Implementation Challenge: The Shortest Path Problem, Piscataway, NJ, November 2006.
[7]
}}N. Francez. Distributed termination. ACM Trans. Program. Lang. Syst., 2(1):42--55, 1980.
[8]
}}P. Geoffray. Myrinet eXpress (MX): Is your interconnect smart? In High Performance Computing and Grid in Asia Pacific Region, pages 452--452, Washington, DC, USA, 2004. IEEE Computer Society.
[9]
}}D. Gregor and A. Lumsdaine. The Parallel BGL: A generic library for distributed graph computations. In Parallel Object-Oriented Scientific Computing, July 2005.
[10]
}}T. Hoefler, A. Lumsdaine, and W. Rehm. Implementation and performance analysis of non-blocking collective operations for MPI. In IEEE/ACM Supercomputing 2007 (SC'07), Nov. 2007.
[11]
}}T. Hoefler, C. Siebert, and A. Lumsdaine. Scalable communication protocols for dynamic sparse data exchange. In Principles and Practice of Parallel Programming, Jan. 2010.
[12]
}}H. Kaiser, M. Brodowicz, and T. Sterling. ParalleX. International Conference on Parallel Processing Workshops, pages 394--401, 2009.
[13]
}}L. V. Kalé and S. Krishnan. CHARM++: a portable concurrent object oriented system based on C++. SIGPLAN Not., 28(10):91--108, 1993.
[14]
}}S. Kumar, G. Dozsa, G. Almasi, P. Heidelberger, D. Chen, M. E. Giampapa, M. Blocksome, A. Faraj, J. Parker, J. Ratterman, B. Smith, and C. J. Archer. The Deep Computing Messaging Framework: Generalized scalable message passing on the Blue Gene/P supercomputer. In International Conference on Supercomputing, pages 94--103, New York, NY, USA, 2008. ACM.
[15]
}}A. Lumsdaine, D. Gregor, B. Hendrickson, and J. Berry. Challenges in parallel graph processing. Parallel Processing Letters, 17(1):5--20, 2007 2007.
[16]
}}F. Mattern. Algorithms for distributed termination detection. Distributed Computing, 2(3):161--175, Sept. 1987.
[17]
}}U. Meyer and P. Sanders. Δ-stepping: A parallelizable shortest path algorithm. J. Algorithms, 49(1):114--152, 2003.
[18]
}}MPI Forum. MPI: A Message-Passing Interface Standard. Version 2.2, September 4th 2009.
[19]
}}R. W. Numrich and J. Reid. Co-arrays in the next Fortran standard. SIGPLAN Fortran Forum, 24(2):4--17, 2005.
[20]
}}Object Management Group. CORBA 3.1, Jan. 2008. http://www.omg.org/spec/CORBA/3.1/.
[21]
}}G. Shah and C. Bender. Performance and experience with LAPI--a new high-performance communication library for the IBM RS/6000 SP. In International Parallel Processing Symposium, page 260, Washington, DC, USA, 1998. IEEE Computer Society.
[22]
}}W. Shu and L. V. Kalé. Chare kernel--a runtime support system for parallel computations. J. Parallel Distrib. Comput., 11(3):198--211, 1991.
[23]
}}A. B. Sinha, L. V. Kalé, and B. Ramkumar. A dynamic and adaptive quiescence detection algorithm. Technical Report 93-11, Parallel Programming Laboratory, UIUC, 1993.
[24]
}}B. Stroustrup. Design and Evolution of C++. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 1994.
[25]
}}N. Thomas, S. Saunders, T. G. Smith, G. Tanase, and L. Rauchwerger. ARMI: a high level communication library for STAPL. Parallel Processing Letters, 16(2):261--280, 2006.
[26]
}}R. Thurlow. RPC: Remote Procedure Call Protocol Specification Version 2. Sun Microsystems, May 2009. http://tools.ietf.org/html/rfc5531.
[27]
}}UPC Consortium. UPC Language Specification, v1.2, May 2005. http://upc.lbl.gov/docs/user/upc_spec_1.2.pdf.
[28]
}}Object-Oriented Scientific Computing, July 2005.
[29]
}}T. von Eicken, D. E. Culler, S. C. Goldstein, and K. E. Schauser. Active messages: a mechanism for integrated communication and computation. In International Symposium on Computer Architecture, pages 256--266, New York, NY, USA, 1992. ACM.
[30]
}}J. Waldo. Remote procedure calls and Java Remote Method Invocation. IEEE Concurrency, 6:5--7, 1998.
[31]
}}D. A. Wallach, W. C. Hsieh, K. L. Johnson, M. F. Kaashoek, and W. E. Weihl. Optimistic Active Messages: a mechanism for scheduling communication with computation. In Principles and Practice of Parallel Programming, pages 217--226, New York, NY, USA, 1995. ACM.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
PACT '10: Proceedings of the 19th international conference on Parallel architectures and compilation techniques
September 2010
596 pages
ISBN:9781450301787
DOI:10.1145/1854273
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 11 September 2010

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. active messages
  2. parallel graph algorithms
  3. parallel programming interfaces

Qualifiers

  • Research-article

Conference

PACT '10
Sponsor:
  • IFIP WG 10.3
  • IEEE CS TCPP
  • SIGARCH
  • IEEE CS TCAA

Acceptance Rates

Overall Acceptance Rate 121 of 471 submissions, 26%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)14
  • Downloads (Last 6 weeks)1
Reflects downloads up to 01 Jan 2025

Other Metrics

Citations

Cited By

View all

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media