Proceedings ArticleDOI
Green-Marl: a DSL for easy and efficient graph analysis
Sungpack Hong,Hassan Chafi,Edic Sedlar,Kunle Olukotun +3 more
- Vol. 40, Iss: 1, pp 349-362
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
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
Jianlong Zhong,Bingsheng He +1 more
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
Gábor Csárdi,Tamás Nepusz +1 more
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
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)
Ligra: a lightweight graph processing framework for shared memory
Julian Shun,Guy E. Blelloch +1 more