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...

Full description

Bibliographic Details
Main Authors: Schiller, Benjamin, Deusser, Clemens, Castrillon, Jeronimo, Strufe, Thorsten
Other Authors: Springer International Publishing,
Format: Article
Language:English
Published: Saechsische Landesbibliothek- Staats- und Universitaetsbibliothek Dresden 2017
Subjects:
Online Access:http://nbn-resolving.de/urn:nbn:de:bsz:14-qucosa-214219
http://nbn-resolving.de/urn:nbn:de:bsz:14-qucosa-214219
http://www.qucosa.de/fileadmin/data/qucosa/documents/21421/art3A10.10072Fs41109-016-0011-2.pdf
id ndltd-DRESDEN-oai-qucosa.de-bsz-14-qucosa-214219
record_format oai_dc
spelling ndltd-DRESDEN-oai-qucosa.de-bsz-14-qucosa-2142192017-01-19T03:27:17Z Compile- and run-time approaches for the selection of efficient data structures for dynamic graph analysis Schiller, Benjamin Deusser, Clemens Castrillon, Jeronimo Strufe, Thorsten Dynamische Graphenanalyse Datenstrukturen Performance Messstudie Kompilierzeitoptimierung TU Dresden Publikationsfonds Dynamic graph analysis Data structures Performance Measurement study Compile-time optimization TU Dresden Publishing Fund ddc:300 rvk:MN 1000 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. Saechsische Landesbibliothek- Staats- und Universitaetsbibliothek Dresden Springer International Publishing, 2017-01-11 doc-type:article application/pdf http://nbn-resolving.de/urn:nbn:de:bsz:14-qucosa-214219 urn:nbn:de:bsz:14-qucosa-214219 PPN481868305 http://www.qucosa.de/fileadmin/data/qucosa/documents/21421/art3A10.10072Fs41109-016-0011-2.pdf Applied Network Science (2016), 1(1). S. 9. ISSN: 2364-8228. DOI: 10.1007/s41109-016-0011-2 eng
collection NDLTD
language English
format Article
sources NDLTD
topic Dynamische Graphenanalyse
Datenstrukturen
Performance
Messstudie
Kompilierzeitoptimierung
TU Dresden
Publikationsfonds
Dynamic graph analysis
Data structures
Performance
Measurement study
Compile-time optimization
TU Dresden
Publishing Fund
ddc:300
rvk:MN 1000
spellingShingle Dynamische Graphenanalyse
Datenstrukturen
Performance
Messstudie
Kompilierzeitoptimierung
TU Dresden
Publikationsfonds
Dynamic graph analysis
Data structures
Performance
Measurement study
Compile-time optimization
TU Dresden
Publishing Fund
ddc:300
rvk:MN 1000
Schiller, Benjamin
Deusser, Clemens
Castrillon, Jeronimo
Strufe, Thorsten
Compile- and run-time approaches for the selection of efficient data structures for dynamic graph analysis
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.
author2 Springer International Publishing,
author_facet Springer International Publishing,
Schiller, Benjamin
Deusser, Clemens
Castrillon, Jeronimo
Strufe, Thorsten
author Schiller, Benjamin
Deusser, Clemens
Castrillon, Jeronimo
Strufe, Thorsten
author_sort Schiller, Benjamin
title 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_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_sort compile- and run-time approaches for the selection of efficient data structures for dynamic graph analysis
publisher Saechsische Landesbibliothek- Staats- und Universitaetsbibliothek Dresden
publishDate 2017
url http://nbn-resolving.de/urn:nbn:de:bsz:14-qucosa-214219
http://nbn-resolving.de/urn:nbn:de:bsz:14-qucosa-214219
http://www.qucosa.de/fileadmin/data/qucosa/documents/21421/art3A10.10072Fs41109-016-0011-2.pdf
work_keys_str_mv AT schillerbenjamin compileandruntimeapproachesfortheselectionofefficientdatastructuresfordynamicgraphanalysis
AT deusserclemens compileandruntimeapproachesfortheselectionofefficientdatastructuresfordynamicgraphanalysis
AT castrillonjeronimo compileandruntimeapproachesfortheselectionofefficientdatastructuresfordynamicgraphanalysis
AT strufethorsten compileandruntimeapproachesfortheselectionofefficientdatastructuresfordynamicgraphanalysis
_version_ 1718407969079558144