GREMLIN++ & BITGRAPH: IMPLEMENTING THE GREMLIN TRAVERSAL LANGUAGE AND A GPU-ACCELERATED GRAPH COMPUTING FRAMEWORK IN C++

Loading...
Thumbnail Image

Files

Publication or External Link

Date

2019

Citation

Abstract

This thesis consists of two major components, Gremlin++ and BitGraph. Gremlin++ is a C++ implementation of the Gremlin graph traversal language designed for interfacing with C++ graph processing backends. BitGraph is a graph backend written in C++ designed to outperform Java-based competitors, such as JanusGraph and Neo4j . It also offers GPU acceleration through OpenCL .

Designing the two components of this thesis was a major undertaking that involved implementing the semantics of Gremlin in C++, and then writing the computing framework to execute Gremlin’s traversal steps in BitGraph, along with runtime optimizations and backend-specific steps. There were many important and novel design decisions made along the way, including some which yielded both advantages and disadvantages over Java-Gremlin. BitGraph was also compared to several major backends, including TinkerGraph, JanusGraph, and Neo4j. In this comparison, BitGraph offered the fastest overall runtime, primarily due to data ingest speedup.

Notes

Rights