skip to main content
10.1145/2150976.2151013acmconferencesArticle/Chapter ViewAbstractPublication PagesasplosConference Proceedingsconference-collections
research-article

Green-Marl: a DSL for easy and efficient graph analysis

Published:03 March 2012Publication History

ABSTRACT

The increasing importance of graph-data based applications is fueling the need for highly efficient and parallel implementations of graph analysis software. In this paper we describe Green-Marl, a domain-specific language (DSL) whose high level language constructs allow developers to describe their graph analysis algorithms intuitively, but expose the data-level parallelism inherent in the algorithms. We also present our Green-Marl compiler which translates high-level algorithmic description written in Green-Marl into an efficient C++ implementation by exploiting this exposed data-level parallelism. Furthermore, our Green-Marl compiler applies a set of optimizations that take advantage of the high-level semantic knowledge encoded in the Green-Marl DSL. We demonstrate that graph analysis algorithms can be written very intuitively with Green-Marl through some examples, and our experimental results show that the compiler-generated implementation out of such descriptions performs as well as or better than highly-tuned hand-coded implementations.

References

  1. Green-marl lanaguage specification. http://ppl.stanford.edu/main/green_marl.html.Google ScholarGoogle Scholar
  2. Pagerank c+ implementation. http://code.grnet.gr/projects/pagerank.Google ScholarGoogle Scholar
  3. Strongly connected component (kosaraju) java implementation. http://www.keithschwarz.com/interesting/.Google ScholarGoogle Scholar
  4. V. Agarwal, F. Petrini, D. Pasetto, and D. Bader. Scalable Graph Exploration on Multicore Processors. In ACM/IEEE SC 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. M. Anderson. Better benchmarking for supercomputers. Spectrum, IEEE, 48(1), 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. D. Bader and K. Madduri. Designing multithreaded algorithms for breadth-first search and st-connectivity on the Cray MTA-2. In ICPP 2006. IEEE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. D. Bader and K. Madduri. Parallel algorithms for evaluating centrality indices in real-world networks. In IEEE ICPP 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. D. Bader and K. Madduri. Snap, small-world network analysis and partitioning: An open-source parallel graph framework for the exploration of large-scale networks. In IEEE IPDPS, 2008.Google ScholarGoogle ScholarCross RefCross Ref
  9. D. A. Bader and K. Madduri. Snap: small-world network analysis and partitioning. http://snap-graph.sourceforge.net.Google ScholarGoogle Scholar
  10. O. Bagge, K. Kalleberg, M. Haveraaen, and E. Visser. Design of the CodeBoost transformation system for domain-specific optimisation of C+ programs. In Source Code Analysis and Manipulation, 2003. Proceedings. Third IEEE International Workshop on.Google ScholarGoogle Scholar
  11. O. Beckmann, A. Houghton, M. Mellor, and P. H. Kelly. Runtime code generation in c+ as a foundation for domain-specific optimisation. In Domain-Specific Program Generation, volume 3016 of Lecture Notes in Computer Science. Springer Berlin / Heidelberg, 2004.Google ScholarGoogle ScholarCross RefCross Ref
  12. B. Bollobás. Modern graph theory. Springer Verlag, 1998.Google ScholarGoogle ScholarCross RefCross Ref
  13. U. Brandes. A faster algorithm for betweenness centrality. The Journal of Mathematical Sociology, 25(2):163--177, 2001.Google ScholarGoogle ScholarCross RefCross Ref
  14. H. Chafi, A. Sujeeth, K. Brown, H. Lee, A. Atreya, and K. Olukotun. A domain-specific approach to heterogeneous parallelism. In PPoPP. ACM, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. D. Chakrabarti, Y. Zhan, and C. Faloutsos. R-mat: A recursive model for graph mining. In SDM, 2004.Google ScholarGoogle ScholarCross RefCross Ref
  16. G. Cong and D. Bader. Lock-free parallel algorithms: An experimental study. High Performance Computing-HiPC 2004, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein. Introduction to Algorithms. MIT press and McGraw-Hill, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. G. Csardi and T. Nepusz. The igraph software package for complex network research. InterJournal Complex Systems, 1695, 2006.Google ScholarGoogle Scholar
  19. D. Gregor and A. Lumsdaine. The parallel bgl: A generic library for distributed graph computations. Parallel Object-Oriented Scientific Computing (POOSC), 2005.Google ScholarGoogle Scholar
  20. S. Z. Guyer and C. Lin. An annotation language for optimizing software libraries. In PLAN '99: Proceedings of the 2nd conference on Domain-specific languages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. S. Hong, S. Kim, T. Oguntebi, and K. Olukotun. Accelerating CUDA graph algorithms at maximum warp. In PPoPP, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. S. Hong, T. Oguntebi, and K. Olukotun. Efficient parallel graph exploration for multi-core cpu and gpu. In IEEE PACT 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. P. Hudak. Building domain-specific embedded languages. ACM Computing Surveys, 28, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. K. Kennedy, B. Broom, A. Chauhan, R. Fowler, J. Garvin, C. Koelbel, C. McCosh, and J. Mellor-Crummey. Telescoping languages: A system for automatic generation of domain languages. Proceedings of the IEEE, 93(3), 2005.Google ScholarGoogle ScholarCross RefCross Ref
  25. Y. Low, J. Gonzalez, A. Kyrola, D. Bickson, C. Guestrin, and J. Hellerstein. Graphlab: A new parallel framework for machine learning. In Conference on Uncertainty in Artificial Intelligence, 2010.Google ScholarGoogle Scholar
  26. A. Lumsdaine, D. Gregor, B. Hendrickson, J. Berry, and J. Guest Editors. Challenges in parallel graph processing. Parallel Processing Letters, 17(1):5--20, 2007.Google ScholarGoogle ScholarCross RefCross Ref
  27. K. Madduri, D. Bader, J. Berry, and J. Crobak. Parallel shortest path algorithms for solving large-scale instances. 9th DIMACS Implementation Challenge-Shortest Paths, 2006.Google ScholarGoogle Scholar
  28. K. Madduri, D. Ediger, K. Jiang, D. Bader, and D. Chavarria-Miranda. A faster parallel algorithm and efficient multithreaded implementations for evaluating betweenness centrality on massive datasets. In IEEE IPDPS 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. G. Malewicz, M. H. Austern, A. J. Bik, J. C. Dehnert, I. Horn, N. Leiser, and G. Czajkowski. Pregel: a system for large-scale graph processing. In SIGMOD '10. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. NVIDIA. CUDA. http://developer.nvidia.com/object/cuda.html.Google ScholarGoogle Scholar
  31. OpenMP ARB. Openmp. http://www.openmp.org.Google ScholarGoogle Scholar
  32. L. Page. Method for node ranking in a linked database, Sept. 4 2001. US Patent 6,285,999.Google ScholarGoogle Scholar
  33. J. Siek, L. Lee, A. Lumsdaine, L. Lee, L. Blackford, J. Demmel, J. Dongarra, I. Duff, S. Hammarling, M. Heroux, et al. The boost graph library: user guide and reference manual. 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. L. G. Valiant. A bridging model for parallel computation. Commun. ACM, 33, August 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. T. L. Veldhuizen. Expression templates, C+ gems. SIGS Publications, Inc., New York, NY, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. T. L. Veldhuizen. Arrays in blitz+. In ISCOPE, pages 223--230, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. T. L. Veldhuizen. Active Libraries and Universal Languages. PhD thesis, Indiana University Computer Science, May 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. A. Yoo, E. Chow, K. Henderson, W. McLendon, B. Hendrickson, and U. Catalyurek. A scalable distributed parallel breadth-first search algorithm on BlueGene/L. In SC 2005 ACM/IEEE. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Green-Marl: a DSL for easy and efficient graph analysis

      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
      • Published in

        cover image ACM Conferences
        ASPLOS XVII: Proceedings of the seventeenth international conference on Architectural Support for Programming Languages and Operating Systems
        March 2012
        476 pages
        ISBN:9781450307598
        DOI:10.1145/2150976
        • cover image ACM SIGARCH Computer Architecture News
          ACM SIGARCH Computer Architecture News  Volume 40, Issue 1
          ASPLOS '12
          March 2012
          453 pages
          ISSN:0163-5964
          DOI:10.1145/2189750
          Issue’s Table of Contents
        • cover image ACM SIGPLAN Notices
          ACM SIGPLAN Notices  Volume 47, Issue 4
          ASPLOS '12
          April 2012
          453 pages
          ISSN:0362-1340
          EISSN:1558-1160
          DOI:10.1145/2248487
          Issue’s Table of Contents

        Copyright © 2012 ACM

        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]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 3 March 2012

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        Overall Acceptance Rate535of2,713submissions,20%

        Upcoming Conference

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader