An analysis of the graph processing landscape

Abstract The value of graph-based big data can be unlocked by exploring the topology and metrics of the networks they represent, and the computational approaches to this exploration take on many forms. For the use-case of performing global computations over a graph, it is first ingested into a graph...

Full description

Bibliographic Details
Main Authors: Miguel E. Coimbra, Alexandre P. Francisco, Luís Veiga
Format: Article
Language:English
Published: SpringerOpen 2021-04-01
Series:Journal of Big Data
Subjects:
Online Access:https://doi.org/10.1186/s40537-021-00443-9
id doaj-af949bce83da41f48a76e84038d3bd17
record_format Article
spelling doaj-af949bce83da41f48a76e84038d3bd172021-04-11T11:44:13ZengSpringerOpenJournal of Big Data2196-11152021-04-018114110.1186/s40537-021-00443-9An analysis of the graph processing landscapeMiguel E. Coimbra0Alexandre P. Francisco1Luís Veiga2INESC-IDINESC-IDINESC-IDAbstract The value of graph-based big data can be unlocked by exploring the topology and metrics of the networks they represent, and the computational approaches to this exploration take on many forms. For the use-case of performing global computations over a graph, it is first ingested into a graph processing system from one of many digital representations. Extracting information from graphs involves processing all their elements globally, which can be done with single-machine systems (with varying approaches to hardware usage), distributed systems (either homogeneous or heterogeneous groups of machines) and systems dedicated to high-performance computing (HPC). For these systems focused on processing the bulk of graph elements, common use-cases consist in executing for example algorithms for vertex ranking or community detection, which produce insights on graph structure and relevance of their elements. Many distributed systems (such as Flink, Spark) and libraries (e.g. Gelly, GraphX) have been built to enable these tasks and improve performance. This is achieved with techniques ranging from classic load balancing (often geared to reduce communication overhead) to exploring trade-offs between delaying computation and relaxing accuracy. In this survey we firstly familiarize the reader with common graph datasets and applications in the world of today. We provide an overview of different aspects of the graph processing landscape and describe classes of systems based on a set of dimensions we describe. The dimensions we detail encompass paradigms to express graph processing, different types of systems to use, coordination and communication models in distributed graph processing, partitioning techniques and different definitions related to the potential for a graph to be updated. This survey is aimed at both the experienced software engineer or researcher as well as the graduate student looking for an understanding of the landscape of solutions (and their limitations) for graph processing.https://doi.org/10.1186/s40537-021-00443-9Graph processingDistributed systemsOnline processingGraph representationDataflow programming
collection DOAJ
language English
format Article
sources DOAJ
author Miguel E. Coimbra
Alexandre P. Francisco
Luís Veiga
spellingShingle Miguel E. Coimbra
Alexandre P. Francisco
Luís Veiga
An analysis of the graph processing landscape
Journal of Big Data
Graph processing
Distributed systems
Online processing
Graph representation
Dataflow programming
author_facet Miguel E. Coimbra
Alexandre P. Francisco
Luís Veiga
author_sort Miguel E. Coimbra
title An analysis of the graph processing landscape
title_short An analysis of the graph processing landscape
title_full An analysis of the graph processing landscape
title_fullStr An analysis of the graph processing landscape
title_full_unstemmed An analysis of the graph processing landscape
title_sort analysis of the graph processing landscape
publisher SpringerOpen
series Journal of Big Data
issn 2196-1115
publishDate 2021-04-01
description Abstract The value of graph-based big data can be unlocked by exploring the topology and metrics of the networks they represent, and the computational approaches to this exploration take on many forms. For the use-case of performing global computations over a graph, it is first ingested into a graph processing system from one of many digital representations. Extracting information from graphs involves processing all their elements globally, which can be done with single-machine systems (with varying approaches to hardware usage), distributed systems (either homogeneous or heterogeneous groups of machines) and systems dedicated to high-performance computing (HPC). For these systems focused on processing the bulk of graph elements, common use-cases consist in executing for example algorithms for vertex ranking or community detection, which produce insights on graph structure and relevance of their elements. Many distributed systems (such as Flink, Spark) and libraries (e.g. Gelly, GraphX) have been built to enable these tasks and improve performance. This is achieved with techniques ranging from classic load balancing (often geared to reduce communication overhead) to exploring trade-offs between delaying computation and relaxing accuracy. In this survey we firstly familiarize the reader with common graph datasets and applications in the world of today. We provide an overview of different aspects of the graph processing landscape and describe classes of systems based on a set of dimensions we describe. The dimensions we detail encompass paradigms to express graph processing, different types of systems to use, coordination and communication models in distributed graph processing, partitioning techniques and different definitions related to the potential for a graph to be updated. This survey is aimed at both the experienced software engineer or researcher as well as the graduate student looking for an understanding of the landscape of solutions (and their limitations) for graph processing.
topic Graph processing
Distributed systems
Online processing
Graph representation
Dataflow programming
url https://doi.org/10.1186/s40537-021-00443-9
work_keys_str_mv AT miguelecoimbra ananalysisofthegraphprocessinglandscape
AT alexandrepfrancisco ananalysisofthegraphprocessinglandscape
AT luisveiga ananalysisofthegraphprocessinglandscape
AT miguelecoimbra analysisofthegraphprocessinglandscape
AT alexandrepfrancisco analysisofthegraphprocessinglandscape
AT luisveiga analysisofthegraphprocessinglandscape
_version_ 1721530723580510208