-
Notifications
You must be signed in to change notification settings - Fork 34
Adding a new graph processing platform
This page contains instructions for developers adding support for a new graph processing platform to Graphalytics.
The code for each platform is organized as a Maven project. Each project should include a script to set up the environment for running the benchmark, and may include configuration files. The platform integration code should be written in Java, but may use external scripts or programs to execute algorithms on the platform.
The Maven project for a specific project should use graphalytics-platforms-${platform.name} (e.g. graphalytics-platforms-giraph for the Giraph platform) as its artifact id.
A prepare-benchmark.sh script must exist in the same directory as the Maven project's POM file. The script must export the platform environment variable with ${platform.name} as its value. The script may also export the platform_classpath and java_opts environment variables to add to the classpath and JVM options of the benchmark process, respectively.
If configuration files are needed for the platform, they should be places in a directory called config-template.
The platform code for Graphalytics must provide a class implementing the nl.tudelft.graphalytics.Platform interface. See the Javadoc provided with the Platform interface for more details.
To couple the platform code with the Graphalytics core, a properties file must be created (located in src/main/resources in the common Java project layout) called ${platform.name}.properties containing the fully qualified name of the Platform subclass.
Tutorial
Documentation