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...
Main Authors: | , , , |
---|---|
Other Authors: | |
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 |