scispace - formally typeset
Proceedings ArticleDOI

Green-Marl: a DSL for easy and efficient graph analysis

Reads0
Chats0
TLDR
This paper describes Green-Marl, a domain-specific language (DSL) whose high level language constructs allow developers to describe their graph analysis algorithms intuitively, but expose the data-level parallelism inherent in the algorithms.
Abstract
The increasing importance of graph-data based applications is fueling the need for highly efficient and parallel implementations of graph analysis software. In this paper we describe Green-Marl, a domain-specific language (DSL) whose high level language constructs allow developers to describe their graph analysis algorithms intuitively, but expose the data-level parallelism inherent in the algorithms. We also present our Green-Marl compiler which translates high-level algorithmic description written in Green-Marl into an efficient C++ implementation by exploiting this exposed data-level parallelism. Furthermore, our Green-Marl compiler applies a set of optimizations that take advantage of the high-level semantic knowledge encoded in the Green-Marl DSL. We demonstrate that graph analysis algorithms can be written very intuitively with Green-Marl through some examples, and our experimental results show that the compiler-generated implementation out of such descriptions performs as well as or better than highly-tuned hand-coded implementations.

read more

Content maybe subject to copyright    Report

Citations
More filters
Proceedings ArticleDOI

Graphicionado: a high-performance and energy-efficient accelerator for graph analytics

TL;DR: Graphicionado augments the vertex programming paradigm, allowing different graph analytics applications to be mapped to the same accelerator framework, while maintaining flexibility through a small set of reconfigurable blocks, for high-performance, energy-efficient processing of graph analytics workloads.
Proceedings ArticleDOI

TurboGraph: a fast parallel graph engine handling billion-scale graphs in a single PC

TL;DR: This paper proposes a general, disk-based graph engine called TurboGraph to process billion-scale graphs very efficiently by using modern hardware on a single PC and proposes a novel parallel execution model, called pin-and-slide, which is the first truly parallel graph engine that exploits full parallelism including multi-core parallelism and FlashSSD IO parallelism.
Journal ArticleDOI

Medusa: Simplified Graph Processing on GPUs

TL;DR: This work proposes a programming framework called Medusa which enables developers to leverage the capabilities of GPUs by writing sequential C/C++ code and develops a series of graph-centric optimizations based on the architecture features of GPUs for efficiency.
Journal ArticleDOI

Foundations of Modern Query Languages for Graph Databases

TL;DR: In this paper, the authors present a survey of the fundamental graph querying functionalities, such as graph patterns and navigational expressions, which are used in modern graph query languages such as SPARQL, Cypher and Gremlin.
Posted Content

Foundations of Modern Query Languages for Graph Databases

TL;DR: The importance of formalisation for graph query languages is discussed, with a summary of what is known about SPARQL, Cypher, and Gremlin in terms of expressivity and complexity; and an outline of possible future directions for the area.
References
More filters

The igraph software package for complex network research

TL;DR: Platform-independent and open source igraph aims to satisfy all the requirements of a graph package while possibly remaining easy to use in interactive mode as well.
Book ChapterDOI

Introduction to Algorithms

Xin-She Yang
TL;DR: This chapter provides an overview of the fundamentals of algorithms and their links to self-organization, exploration, and exploitation.
Journal ArticleDOI

A faster algorithm for betweenness centrality

TL;DR: New algorithms for betweenness are introduced in this paper and require O(n + m) space and run in O(nm) and O( nm + n2 log n) time on unweighted and weighted networks, respectively, where m is the number of links.
Related Papers (5)