Repository landing page
High level synthesis of RDF queries for graph analytics
Abstract
In this paper we present a set of techniques that enable the synthesis of efficient custom accelerators for memory intensive, irregular applications. To address the challenges of irregular applications (large memory footprint, unpredictable fine-grained data accesses, and high synchronization intensity), and exploit their opportunities (thread level parallelism, memory level parallelism), we propose a novel accelerator design that employs an adaptive and Distributed Controller (DC) architecture, and a Memory Interface Controller (MIC) that supports concurrent and atomic memory operations on a multi-ported/multi-banked shared memory. Among the multitude of algorithms that may benefit from our solution, we focus on the acceleration of graph analytics applications and, in particular, on the synthesis of SPARQL queries on Resource Description Framework (RDF) databases. We achieve this objective by incorporating the synthesis techniques into Bambu, an Open Source high-level synthesis tools, and interfacing it with GEMS, the Graph database Engine for Multithreaded Systems. The GEMS' front-end generates optimized C implementations of the input queries, modeled as graph pattern matching algorithms, which are then automatically synthesized by Bambu. We validate our approach by synthesizing several SPARQL queries from the Lehigh University Benchmark (LUBM)- info:eu-repo/semantics/conferenceObject
- graph theory
- high level synthesi
- memory architecture
- multi-threading
- query language
- hared memory system
- Bambu
- DC architecture
- GEMS
- LUBM
- Lehigh University Benchmark
- MIC
- RDF database
- RDF querie
- SPARQL querie
- accelerator design
- adaptive architecture
- atomic memory operation
- concurrent memory operation
- distributed controller architecture
- graph analytic
- graph database engine
- graph pattern matching algorithm
- memory intensive irregular application
- memory interface controller
- multiported/multibanked shared memory
- multithreaded system
- open source high-level synthesis tool
- resource description framework database
- Acceleration
- Computer architecture
- Database
- Field programmable gate array
- Parallel processing
- Program processor
- Resource description framework