High-Level Programming Abstractions for Distributed Graph Processing
- 12 October 2017
- journal article
- research article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Knowledge and Data Engineering
- Vol. 30 (2), 305-324
- https://doi.org/10.1109/tkde.2017.2762294
Abstract
Efficient processing of large-scale graphs in distributed environments has been an increasingly popular topic of research in recent years. Inter-connected data that can be modeled as graphs arise in application domains such as machine learning, recommendation, web search, and social network analysis. Writing distributed graph applications is inherently hard and requires programming models that can cover a diverse set of problem domains, including iterative refinement algorithms, graph transformations, graph aggregations, pattern matching, ego-network analysis, and graph traversals. Several high-level programming abstractions have been proposed and adopted by distributed graph processing systems and big data platforms. Even though significant work has been done to experimentally compare distributed graph processing frameworks, no qualitative study and comparison of graph programming abstractions has been conducted yet. In this survey, we review and analyze the most prevalent high-level programming models for distributed graph processing, in terms of their semantics and applicability. We review 34 distributed graph processing systems with respect to the graph processing models they implement and we survey applications that appear in recent distributed graph systems papers. Finally, we discuss trends and open research questions in the area of distributed graph processing.Keywords
Funding Information
- Stiftelsen för Strategisk Forskning (RIT10-0043)
This publication has 61 references indexed in Scilit:
- SYNC or ASYNC: time to fuse for distributed graph-parallel computationPublished by Association for Computing Machinery (ACM) ,2015
- The Stratosphere platform for big data analyticsThe VLDB Journal, 2014
- LFGraphPublished by Association for Computing Machinery (ACM) ,2013
- PrestoPublished by Association for Computing Machinery (ACM) ,2013
- Improving large graph processing on partitioned graphs in the cloudPublished by Association for Computing Machinery (ACM) ,2012
- ASTERIXProceedings of the VLDB Endowment, 2012
- The Combinatorial BLAS: design, implementation, and applicationsThe International Journal of High Performance Computing Applications, 2011
- Hyracks: A flexible and extensible foundation for data-intensive computingPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2011
- TwisterPublished by Association for Computing Machinery (ACM) ,2010
- DryadACM SIGOPS Operating Systems Review, 2007