The Graphalytics benchmark is an industrial-grade benchmark for graph analysis platforms such as Giraph. It consists of six core algorithms, standard data sets, synthetic data set generators, and reference outputs, enabling the objective comparison of graph analysis platforms.
The design of the benchmark process takes into account that graph-processing is impeded by three dimensions of diversity: platform, algorithms and data set.
The benchmark harness consists of a core component, which is extendable by a driver for each different platform implementation. The choice of the six algorithms:
- breadth-first search,
- weakly connected components,
- community detection using label propagation,
- local clustering coefficient, and
- single-source shortest paths
was carefully motivated, using the LDBC TUC and extensive literature surveys to ensure good coverage of scenarios. The standard data sets include both real and synthetic data sets, which are classified into intuitive “T-shirt” sizes (e.g., S, M, L, XL).
Each experiment set in Graphalytics consists of multiple platform runs (a platform executes an algorithm on a data set), and diverse set of experiments are carried out to evaluate different performance characteristics of a system-under-test.
All completed benchmarks must go through a strict validation process to ensure the integrity of the performance results.
The Graphalytics benchmarking process is made future-proof, through a renewal process that takes place regularly to ensure that the benchmark process meets the state-of-the-art development in the field of graph analytics.
To enhance the depth of the benchmark process, Graphalytics also facilitates a plugin-architecture, which allows external software tools to be added to the benchmark harness. For instance, it is possible to also use SNB Datagen (the data generator of the LDBC Social Network Benchmark), an advanced synthetic data set generator to create synthetic graphs for custom test scenarios, or to use Granula, a fine-grained performance evaluation tool to obtain enriched performance results.
The development of Graphalytics is supported by many active vendors in the field of large-scale graph analytics. Currently, Graphalytics already facilitates benchmark for a large number of graph analytics platforms, such as Giraph, GraphX, GraphMat, OpenG, and PGXD, allowing comparison of the state-of-the-art system performance of both community-driven and industrial-driven platforms. To get started, the details of the Graphalyics documentation and its software components are described below.
Documents and repositories:
- Benchmark specification. The source code is stored in the
- VLDB paper
ldbc_graphalytics: Generic driver
ldbc_graphalytics_platforms_reference: Reference implementation
The data sets are currently available in a NextCloud directory. The data sets are compressed using
zstd. The total size of the compressed archives is 326GB. Decompressed, it’s approximately 1.1TB.
The files the
graph500-30 data sets are larger than 32 GB, therefore, they are split in to chunks. To concatenate and decompress these files, run:
cat datagen-sf10k-fb.tar.zst.* | tar -tv -I unzstd cat graph500-30.tar.zst.* | tar -tv -I unzstd