Cargando…

Compile- and run-time approaches for the selection of efficient data structures for dynamic graph analysis

Graphs are used to model a wide range of systems from different disciplines including social network analysis, biology, and big data processing. When analyzing these constantly changing dynamic graphs at a high frequency, performance is the main concern. Depending on the graph size and structure, up...

Descripción completa

Detalles Bibliográficos
Autores principales: Schiller, Benjamin, Deusser, Clemens, Castrillon, Jeronimo, Strufe, Thorsten
Formato: Online Artículo Texto
Lenguaje:English
Publicado: Springer International Publishing 2016
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6245199/
https://www.ncbi.nlm.nih.gov/pubmed/30533501
http://dx.doi.org/10.1007/s41109-016-0011-2
_version_ 1783372193920450560
author Schiller, Benjamin
Deusser, Clemens
Castrillon, Jeronimo
Strufe, Thorsten
author_facet Schiller, Benjamin
Deusser, Clemens
Castrillon, Jeronimo
Strufe, Thorsten
author_sort Schiller, Benjamin
collection PubMed
description Graphs are used to model a wide range of systems from different disciplines including social network analysis, biology, and big data processing. When analyzing these constantly changing dynamic graphs at a high frequency, performance is the main concern. Depending on the graph size and structure, update frequency, and read accesses of the analysis, the use of different data structures can yield great performance variations. Even for expert programmers, it is not always obvious, which data structure is the best choice for a given scenario. In previous work, we presented an approach for handling the selection of the most efficient data structures automatically using a compile-time approach well-suited for constant workloads. We extend this work with a measurement study of seven data structures and use the results to fit actual cost estimation functions. In addition, we evaluate our approach for the computations of seven different graph metrics. In analyses of real-world dynamic graphs with a constant workload, our approach achieves a speedup of up to 5.4× compared to basic data structure configurations. Such a compile-time based approach cannot yield optimal results when the behavior of the system changes later and the workload becomes non-constant. To close this gap we present a run-time approach which provides live profiling and facilitates automatic exchanges of data structures during execution. We analyze the performance of this approach using an artificial, non-constant workload where our approach achieves speedups of up to 7.3× compared to basic configurations.
format Online
Article
Text
id pubmed-6245199
institution National Center for Biotechnology Information
language English
publishDate 2016
publisher Springer International Publishing
record_format MEDLINE/PubMed
spelling pubmed-62451992018-12-06 Compile- and run-time approaches for the selection of efficient data structures for dynamic graph analysis Schiller, Benjamin Deusser, Clemens Castrillon, Jeronimo Strufe, Thorsten Appl Netw Sci Research Graphs are used to model a wide range of systems from different disciplines including social network analysis, biology, and big data processing. When analyzing these constantly changing dynamic graphs at a high frequency, performance is the main concern. Depending on the graph size and structure, update frequency, and read accesses of the analysis, the use of different data structures can yield great performance variations. Even for expert programmers, it is not always obvious, which data structure is the best choice for a given scenario. In previous work, we presented an approach for handling the selection of the most efficient data structures automatically using a compile-time approach well-suited for constant workloads. We extend this work with a measurement study of seven data structures and use the results to fit actual cost estimation functions. In addition, we evaluate our approach for the computations of seven different graph metrics. In analyses of real-world dynamic graphs with a constant workload, our approach achieves a speedup of up to 5.4× compared to basic data structure configurations. Such a compile-time based approach cannot yield optimal results when the behavior of the system changes later and the workload becomes non-constant. To close this gap we present a run-time approach which provides live profiling and facilitates automatic exchanges of data structures during execution. We analyze the performance of this approach using an artificial, non-constant workload where our approach achieves speedups of up to 7.3× compared to basic configurations. Springer International Publishing 2016-09-05 2016 /pmc/articles/PMC6245199/ /pubmed/30533501 http://dx.doi.org/10.1007/s41109-016-0011-2 Text en © The Author(s) 2016 Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.
spellingShingle Research
Schiller, Benjamin
Deusser, Clemens
Castrillon, Jeronimo
Strufe, Thorsten
Compile- and run-time approaches for the selection of efficient data structures for dynamic graph analysis
title Compile- and run-time approaches for the selection of efficient data structures for dynamic graph analysis
title_full Compile- and run-time approaches for the selection of efficient data structures for dynamic graph analysis
title_fullStr Compile- and run-time approaches for the selection of efficient data structures for dynamic graph analysis
title_full_unstemmed Compile- and run-time approaches for the selection of efficient data structures for dynamic graph analysis
title_short Compile- and run-time approaches for the selection of efficient data structures for dynamic graph analysis
title_sort compile- and run-time approaches for the selection of efficient data structures for dynamic graph analysis
topic Research
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6245199/
https://www.ncbi.nlm.nih.gov/pubmed/30533501
http://dx.doi.org/10.1007/s41109-016-0011-2
work_keys_str_mv AT schillerbenjamin compileandruntimeapproachesfortheselectionofefficientdatastructuresfordynamicgraphanalysis
AT deusserclemens compileandruntimeapproachesfortheselectionofefficientdatastructuresfordynamicgraphanalysis
AT castrillonjeronimo compileandruntimeapproachesfortheselectionofefficientdatastructuresfordynamicgraphanalysis
AT strufethorsten compileandruntimeapproachesfortheselectionofefficientdatastructuresfordynamicgraphanalysis