DOE OSTI · 1123246
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.
Explore related subjects
Keep this discovery
Explore connections, maps & timelines
Castellana, Vito G., Tumeo, Antonino, Villa, Oreste, Haglin, David J., Feo, John. 2013-09-08. Composing Data Parallel Code for a SPARQL Graph Engine. https://doi.org/10.1109/socialcom.2013.104
Cite the original work for its findings. Save a collection to share your selection of sources.