skip to main content
10.1145/2588555.2610518acmconferencesArticle/Chapter ViewAbstractPublication PagesmodConference Proceedingsconference-collections
research-article

Navigating the maze of graph analytics frameworks using massive graph datasets

Published: 18 June 2014 Publication History

Abstract

Graph algorithms are becoming increasingly important for analyzing large datasets in many fields. Real-world graph data follows a pattern of sparsity, that is not uniform but highly skewed towards a few items. Implementing graph traversal, statistics and machine learning algorithms on such data in a scalable manner is quite challenging. As a result, several graph analytics frameworks (GraphLab, CombBLAS, Giraph, SociaLite and Galois among others) have been developed, each offering a solution with different programming models and targeted at different users. Unfortunately, the "Ninja performance gap" between optimized code and most of these frameworks is very large (2-30X for most frameworks and up to 560X for Giraph) for common graph algorithms, and moreover varies widely with algorithms. This makes the end-users' choice of graph framework dependent not only on ease of use but also on performance. In this work, we offer a quantitative roadmap for improving the performance of all these frameworks and bridging the "ninja gap". We first present hand-optimized baselines that get performance close to hardware limits and higher than any published performance figure for these graph algorithms. We characterize the performance of both this native implementation as well as popular graph frameworks on a variety of algorithms. This study helps end-users delineate bottlenecks arising from the algorithms themselves vs. programming model abstractions vs. the framework implementations. Further, by analyzing the system-level behavior of these frameworks, we obtain bottlenecks that are agnostic to specific algorithms. We recommend changes to alleviate these bottlenecks (and implement some of them) and reduce the performance gap with respect to native code. These changes will enable end-users to choose frameworks based mostly on ease of use.

References

[1]
Combinatorial Blas v 1.3. http://gauss.cs.ucsb.edu/~aydin/CombBLAS/html/.
[2]
Galois v 2.2.0. http://iss.ices.utexas.edu/?p=projects/galois/download.
[3]
Graphlab v 2.2. http://graphlab.org.
[4]
sar Manual Page. http://pagesperso-orange.fr/sebastien.godard/man_sar.html.
[5]
The Linpack Benchmark. http://www.top500.org/project/linpack/.
[6]
The Message Passing Interface (MPI) standard. http://www.mcs.anl.gov/research/projects/mpi/.
[7]
Yahoo! - Movie, Music, and Images Ratings Data Sets. http://webscope.sandbox.yahoo.com/catalog.php?datatype=r.
[8]
Apache giraph. http://giraph.apache.org/, 2013.
[9]
J. Bennett and S. Lanning. The Netflix Prize. In KDD Cup and Workshop at ACM SIGKDD, 2007.
[10]
N. Bronson, Z. Amsden, et~al. Tao: Facebook's distributed data store for the social graph. In USENIX ATC, 2013.
[11]
A. Buluc and J. R. Gilbert. The combinatorial blas: design, implementation, and applications. HPCA'11, 25(4):496--509.
[12]
J. Chhugani, N. Satish, C. Kim, J. Sewall, and P. Dubey. Fast and efficient graph traversal algorithm for cpus: Maximizing single-node efficiency. In IPDPS, pages 378--389, 2012.
[13]
A. Ching. Scaling apache giraph to a trillion edges. www.facebook.com/notes/facebook-engineering/scaling-apache-giraph-to-a-trillion-edges/10151617006153920, 2013.
[14]
T. Davis. The University of Florida Sparse Matrix Collection. http://www.cise.ufl.edu/research/sparse/matrices.
[15]
J. Dongarra. Compressed Row Storage. http://web.eecs.utk.edu/~dongarra/etemplates/node373.html.
[16]
R. Gemulla, E. Nijkamp, P. J. Haas, and Y. Sismanis. Large-scale matrix factorization with distributed stochastic gradient descent. In ACM SIGKDD, pages 69--77, 2011.
[17]
Y. Guo, M. Biczak, A. L. Varbanescu, A. Iosup, C. Martella, and T. L. Willke. Towards benchmarking graph-processing platforms. In Poster at Supercomputing, 2013.
[18]
T. Ideker, O. Ozier, B. Schwikowski, and A. F. Siegel. Discovering regulatory and signalling circuits in molecular interaction networks. Bioinformatics, 18(1):233--240, 2002.
[19]
Y. Koren, R. Bell, and C. Volinsky. Matrix factorization techniques for recommender systems. Computer, 42(8):30--37, 2009.
[20]
H. Kwak, C. Lee, H. Park, and S. B. Moon. What is twitter, a social network or a news media? In WWW, pages 591--600, 2010.
[21]
Y. Low, J. Gonzalez, A. Kyrola, D. Bickson, C. Guestrin, and J. M. Hellerstein. GraphLab: A new parallel framework for machine learning. In UAI, July 2010.
[22]
T. Mattson, D. Bader, et al. Standards for graph algorithm primitives. In HPEC, pages 1--2, 2014.
[23]
R. C. Murphy, K. B. Wheeler, B. W. Barrett, and J. A. Ang. Introducing the graph 500. Cray User's Group (CUG), 2010.
[24]
D. Nguyen, A. Lenharth, and K. Pingali. A lightweight infrastructure for graph analytics. In Proc. SOSP, 2013.
[25]
M. M. A. Patwary, R. H. Bisseling, and F. Manne. Parallel greedy graph matching using an edge partitioning approach. In ICFP Workshops at HLPP'10, pages 45--54. ACM, 2010.
[26]
K. Pingali, D. Nguyen, M. Kulkarni, et~al. The tao of parallelism in algorithms. In PLDI, pages 12--25, New York, NY, USA, 2011. ACM.
[27]
S. Salihoglu and J. Widom. Gps: A graph processing system. In Scientific and Statistical Database Management. Stanford InfoLab, July 2013.
[28]
N. Satish, C. Kim, J. Chhugani, and P. Dubey. Large-scale energy-efficient graph traversal: a path to efficient data-intensive supercomputing. In SC, pages 1--11, 2012.
[29]
N. Satish, C. Kim, J. Chhugani, P. Dubey, et~al. Can Traditional Programming Bridge the Ninja Performance Gap for Parallel Applications? In ISCA'12, pages 440--451, 2012.
[30]
J. Seo, S. Guo, and M. S. Lam. SociaLite: Datalog extensions for efficient social network analysis. ICDE'13, pages 278--289, 2013.
[31]
J. Seo, J. Park, J. Shin, and M. S. Lam. Distributed SociaLite: A datalog-based language for large-scale graph analysis. Proceedings of the VLDB Endowment, 6(14), 2013.
[32]
J. D. Ullman. Principles of database and knowledge-base systems, volume ii. 1989.
[33]
K. V. IP over InfiniBand (IPoIB) architecture. RFC 4392.
[34]
C. Wilson, B. Boe, A. Sala, K. P. N. Puttaswamy, and B. Y. Zhao. User interactions in social networks and their implications. In EuroSys, pages 205--218, 2009.
[35]
R. S. Xin, J. E. Gonzalez, M. J. Franklin, and I. Stoica. Graphx: a resilient distributed graph system on spark. In GRADES, page~2, 2013.
[36]
M. Zaharia, M. Chowdhury, M. J. Franklin, S. Shenker, and I. Stoica. Spark: cluster computing with working sets. In USENIX Hot Cloud, pages 10--10, 2010.

Cited By

View all
  • (2025)Hybrid Transactional/Analytical Graph Processing in Modern Memory HierarchiesScalable Data Management for Future Hardware10.1007/978-3-031-74097-8_4(91-116)Online publication date: 24-Jan-2025
  • (2023)Real-Time PageRank on Dynamic GraphsProceedings of the 32nd International Symposium on High-Performance Parallel and Distributed Computing10.1145/3588195.3593004(239-251)Online publication date: 7-Aug-2023
  • (2023)Parallel Breadth-First Search and Exact Shortest Paths and Stronger Notions for Approximate DistancesProceedings of the 55th Annual ACM Symposium on Theory of Computing10.1145/3564246.3585235(321-334)Online publication date: 2-Jun-2023
  • Show More Cited By

Index Terms

  1. Navigating the maze of graph analytics frameworks using massive graph datasets

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    SIGMOD '14: Proceedings of the 2014 ACM SIGMOD International Conference on Management of Data
    June 2014
    1645 pages
    ISBN:9781450323765
    DOI:10.1145/2588555
    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 the author(s) 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: 18 June 2014

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Galois
    2. analysis
    3. cluster
    4. combblas
    5. frameworks
    6. giraph
    7. graph analytics
    8. graphlab
    9. graphs
    10. performance
    11. socialite

    Qualifiers

    • Research-article

    Conference

    SIGMOD/PODS'14
    Sponsor:

    Acceptance Rates

    SIGMOD '14 Paper Acceptance Rate 107 of 421 submissions, 25%;
    Overall Acceptance Rate 699 of 3,470 submissions, 20%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)54
    • Downloads (Last 6 weeks)10
    Reflects downloads up to 15 Feb 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2025)Hybrid Transactional/Analytical Graph Processing in Modern Memory HierarchiesScalable Data Management for Future Hardware10.1007/978-3-031-74097-8_4(91-116)Online publication date: 24-Jan-2025
    • (2023)Real-Time PageRank on Dynamic GraphsProceedings of the 32nd International Symposium on High-Performance Parallel and Distributed Computing10.1145/3588195.3593004(239-251)Online publication date: 7-Aug-2023
    • (2023)Parallel Breadth-First Search and Exact Shortest Paths and Stronger Notions for Approximate DistancesProceedings of the 55th Annual ACM Symposium on Theory of Computing10.1145/3564246.3585235(321-334)Online publication date: 2-Jun-2023
    • (2023)subGE: Enhancing the subgraph representation of molecular compounds structure–activity relationship discoveryEngineering Applications of Artificial Intelligence10.1016/j.engappai.2022.105727119(105727)Online publication date: Mar-2023
    • (2023)MatGraph: An Energy-Efficient and Flexible CGRA Engine for Matrix-Based Graph AnalyticsAlgorithms and Architectures for Parallel Processing10.1007/978-3-031-22677-9_19(351-372)Online publication date: 11-Jan-2023
    • (2022)MASTIFFProceedings of the 36th ACM International Conference on Supercomputing10.1145/3524059.3532365(1-13)Online publication date: 28-Jun-2022
    • (2022)Software-defined floating-point number formats and their application to graph processingProceedings of the 36th ACM International Conference on Supercomputing10.1145/3524059.3532360(1-17)Online publication date: 28-Jun-2022
    • (2022)LOTUSProceedings of the 27th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming10.1145/3503221.3508402(219-233)Online publication date: 2-Apr-2022
    • (2022)Improving Locality of Irregular Updates with Hardware Assisted Propagation Blocking2022 IEEE International Symposium on High-Performance Computer Architecture (HPCA)10.1109/HPCA53966.2022.00047(543-557)Online publication date: Apr-2022
    • (2022)Fregel: a functional domain-specific language for vertex-centric large-scale graph processingJournal of Functional Programming10.1017/S095679682100027732Online publication date: 20-Jan-2022
    • Show More Cited By

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media