GithubHelp home page GithubHelp logo

sampollard / ldbc_graphalytics Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ldbc/ldbc_graphalytics

0.0 2.0 0.0 2.26 MB

A big data benchmark for graph-processing platforms

License: Apache License 2.0

Java 64.36% HTML 3.42% CSS 1.27% JavaScript 27.18% E 0.05% Coq 0.01% Shell 1.64% Python 2.07%

ldbc_graphalytics's Introduction

Graphalytics: A big data benchmark for graph-processing platforms

Build Status

Getting started

To use Graphalytics, go through the following steps:

  1. Build Graphalytics (see "How to build Graphalytics?").
  2. Edit the Graphalytics configuration (see "How to configure Graphalytics?").
  3. Add graphs to the benchmark (see "How to add graphs to Graphalytics?").
  4. Ensure the platform under test is configured and running (see documentation of the Graphalytics platform extension).
  5. Run the benchmark by executing the launch script, run-benchmark.sh.

After the benchmark has completed, the results can be found in ${platform}-report-${timestamp}.

How to build Graphalytics?

The Graphalytics benchmark suite consists of several Git repositories: the core repository (graphalytics) and one additional repository per supported graph-processing platform (graphalytics-platform-${name}). To build Graphalytics, you must clone the core repository and the platform repositories of any platforms you intend to benchmark.

  1. Run mvn install once in the core repository to install the Graphalytics core to a local Maven repository.
  2. Run mvn package in the platform repository to create a binary of the platform extension and a distributable archive ("Graphalytics distribution").

After building the benchmark, the created archive 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.

How to configure Graphalytics?

The Graphalytics distribution includes a config-template directory containing (template) configuration files for the Graphalytics core and the platform extension. Before editing any configuration files, it is recommended to create a copy of the config-template directory and name it config.

You can specify in the Graphalytics configuration a subset of graphs and algorithms to run. By default, all algorithms are run on all the available graphs. This can be changed by creating a "run" properties file in config/runs/. See config/runs/example.properties for an example. A particular run can be selected by editing config/benchmark.properties and including a different file from the runs subdirectory.

How to add graphs to Graphalytics?

You can download supported graphs (including synthetic graphs generated with the LDBC-SNB Data Generator, and a variety of real world graphs) from: http://atlarge.ewi.tudelft.nl/graphalytics/. Note that the provided graphs need to be decompressed before running the benchmark.

You must edit the graphs.root-directory property in config/graphs.properties file to point to the graphs you have downloaded, e.g.:

graphs.root-directory = /local/graphs/

Graphalytics detects at runtime which graphs are available by checking for the existence of supported graphs in the directory specified by graphs.root-directory.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.