skip to main content
poster

Expressing graph algorithms using generalized active messages

Published:23 February 2013Publication History
Skip Abstract Section

Abstract

Recently, graph computation has emerged as an important class of high-performance computing application whose characteristics differ markedly from those of traditional, compute-bound, kernels. Libraries such as BLAS, LAPACK, and others have been successful in codifying best practices in numerical computing. The data-driven nature of graph applications necessitates a more complex application stack incorporating runtime optimization. In this paper, we present a method of phrasing graph algorithms as collections of asynchronous, concurrently executing, concise code fragments which may be invoked both locally and in remote address spaces. A runtime layer performs a number of dynamic optimizations, including message coalescing, message combining, and software routing. Practical implementations and performance results are provided for a number of representative algorithms.

References

  1. A. Lumsdaine, D. Gregor, B. Hendrickson, and J. Berry, "Challenges in parallel graph processing," Parallel Processing Letters, vol. 17, no. 1, pp. 5--20, 2007.Google ScholarGoogle ScholarCross RefCross Ref
  2. K. Lang, "Fixing two weaknesses of the spectral method," in Neural Information Processing Systems, 2005.Google ScholarGoogle Scholar
  3. P. ErdÝos, R. L. Graham, and E. Szemeredi, "On sparse graphs with dense long paths," Stanford Univ., Tech. Rep. CS-TR-75-504, 1975. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. L. G. Valiant, "A bridging model for parallel computation," Communications of the ACM, vol. 33, no. 8, pp. 103--111, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. J.Willcock, T. Hoefler, N. Edmonds, and A. Lumsdaine, "Active Pebbles: Parallel programming for data-driven applications," in International Conference on Supercomputing, Tucson, Arizona,May 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. J. Jose, S. Potluri, M. Luo, S. Sur, and D. K. Panda, "UPC Queues for scalable graph traversals: Design and evaluation on InfiniBand clusters," in Conference on PGAS Programming Models, Oct. 2011.Google ScholarGoogle Scholar
  7. D. Chavarria-Miranda, S. Krishnamoorthy, and A. Vishnu, "Global Futures: A multithreaded execution model for Global Arrays-based applications," in CCGRID, 2012, pp. 393--401. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. U. Meyer and P. Sanders, "?-stepping: A parallelizable shortest path algorithm," J. Algorithms, vol. 49, no. 1, pp. 114--152, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Expressing graph algorithms using generalized active messages

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          • Published in

            cover image ACM SIGPLAN Notices
            ACM SIGPLAN Notices  Volume 48, Issue 8
            PPoPP '13
            August 2013
            309 pages
            ISSN:0362-1340
            EISSN:1558-1160
            DOI:10.1145/2517327
            Issue’s Table of Contents
            • cover image ACM Conferences
              PPoPP '13: Proceedings of the 18th ACM SIGPLAN symposium on Principles and practice of parallel programming
              February 2013
              332 pages
              ISBN:9781450319225
              DOI:10.1145/2442516

            Copyright © 2013 Authors

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 23 February 2013

            Check for updates

            Qualifiers

            • poster

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader
          About Cookies On This Site

          We use cookies to ensure that we give you the best experience on our website.

          Learn more

          Got it!