September 8, 2013
Conference Paper

Composing Data Parallel Code for a SPARQL Graph Engine

Abstract

Big data analytics process large amount of data to extract knowledge from them. Semantic databases are big data applications that adopt the Resource Description Framework (RDF) to structure metadata through a graph-based representation. The graph based representation provides several benefits, such as the possibility to perform in memory processing with large amounts of parallelism. SPARQL is a language used to perform queries on RDF-structured data through graph matching. In this paper we present a tool that automatically translates SPARQL queries to parallel graph crawling and graph matching operations. The tool also supports complex SPARQL constructs, which requires more than basic graph matching for their implementation. The tool generates parallel code annotated with OpenMP pragmas for x86 Shared-memory Multiprocessors (SMPs). With respect to commercial database systems such as Virtuoso, our approach reduces memory occupation due to join operations and provides higher performance. We show the scaling of the automatically generated graph-matching code on a 48-core SMP.

Revised: March 11, 2014 | Published: September 8, 2013

Citation

Castellana V.G., A. Tumeo, O. Villa, D.J. Haglin, and J. Feo. 2013. Composing Data Parallel Code for a SPARQL Graph Engine. In IEEE International Conference on Social Computing (SocialCom 2013), September 8-14, 2013, Alexandria, Virginia, 691-699. Piscataway, New Jersey:Institute of Electrical and Electronics Engineers. PNNL-SA-96193. doi:10.1109/SocialCom.2013.104