This is a Graphalytics benchmark driver for the PowerGraph. Please refer to the documentation of Graphalytics core for an introduction to using Graphalytics.
- Make sure that you have installed Graphalytics.
- Download the source code from this repository.
- Execute
mvn clean package
in the root directory (See details in Software Build). - Extract the distribution from
graphalytics-{graphalytics-version}-powergraph-{platform-version}.tar.gz
.
The following dependencies are required for this platform extension:
Software | Version (tested) | Usage | Description | Provided |
---|---|---|---|---|
C Compiler | gcc 5.2.1 | Build | Building PowerGraph code | - |
PowerGraph | 2.2 | Platform | PowerGraph implementation | - |
CMake | 3.2.2 | Build | Building PowerGraph code | - |
GNU Make | 4.0 | Build | Building PowerGraph code | - |
OpenMPI or MPICH2 | 1.10.3 | Deployment | Job deployment | - |
Download PowerGraph, unpack into any directory, patch the missing CMakeLists.txt
file using a diff from bin/utils/ and fully compile/build using the instructions given by the authors. Note that Graphalytics does not support HDFS as data source for PowerGraph, so it is recommended to compile with the --no_jvm
flag.
Alternatively, one may use the build-distribution.sh
script that performs the steps described above in an automated fashion.
Finally, refer to the documentation of the Graphalytics core on how to build and run this platform repository.
Edit config/powergraph.properties
to change the following settings:
platform.powergraph.home
: Set to the root directory where PowerGraph has been installed.platform.powergraph.num-threads
: Set the number of threads PowerGraph should use.platform.powergraph.nodes
: Set the the names of computation nodes, with format e.g.,10.149.0.55\,10.149.0.56
(note: IP's separated between\,
non-separated by spaces).
- PowerGraph does not support machines with more than 64 threads. A workaround has been proposed in this issue.
- The PowerGraph installation process is somewhat outdated, it has a few broken links to dependencies. Patching the
CMakeLists.txt
file with our diff fixes these broken URIs.
To execute a Graphalytics benchmark on PowerGraph (using this driver), follow the steps in the Graphalytics tutorial on Running Benchmark.