Skip to content

Documentation: Software Build

wlngai edited this page Jun 28, 2017 · 3 revisions

The Graphalytics benchmark suite consists of several git repositories:

  • the core repository (ldbc_graphalytics),
  • one additional repository per platform driver (graphalytics-platform-${name}).

The core repository

All platform drivers are dependent on the core repository (ldbc_graphalytics). The software artifacts of the core repository are automatically provided by either the maven central repository or the Graphalytics maven repository (http://graphalytics.site/maven/).

Shall you intend to build the core repository yourself, follow these steps:

  1. Clone the core repository from https://github.com/ldbc/ldbc_graphalytics
  2. Run mvn clean install once in the core repository to install the Graphalytics core to a local Maven repository.

To make benchmark results more traceable, software artifacts are tagged by the git commit hash. Therefore if you have uncommitted local changes, the build process will fail. Run mvn clean install -Dmaven.buildNumber.skip to bypass this check.

The source code files are prepended with a standardized license header. The build process will fail if the license header is incorrect in any source code file. Run mvn clean install -Dlicense.skip to bypass this check.

Graphalytics uses plugins for extended features such as fine-grained performance analysis and bottleneck detection. To build Graphalytics plugins, e.g., Granula, run mvn clean install -Pgranula to activate the corresponding maven profiles.

The platform driver repositories

A platform driver contains the software artifacts which allows you to benchmark a corressponding graph processing platform. You can download the most recent platform drivers from http://graphalytics.site/dist/.

Shall you intend to build the platform driver yourself, follow these steps:

  • Clone the platform driver repository from its corresponding url.
  • Run mvn package in the platform repository to create a distributable archive ("Graphalytics distribution").

To make benchmark results more traceable, software artifacts are tagged by the git commit hash. Therefore if you have uncommitted local changes, the build process will fail. Run mvn clean package -Dmaven.buildNumber.skip to bypass this check.

The source code files are prepended with a standardized license header. The build process will fail if the license header is incorrect in any source code file. Run mvn clean package -Dlicense.skip to bypass this check.

After building the benchmark, the created archive graphalytics-{core-version}-giraph-{driver-version}-bin.tar.gz is available in the root of the platform repository. This archive should be extracted on the machine controlling the benchmark process. Configuring and executing the benchmark will be done in the extracted directory.