High-Performance Analysis of Filtered Semantic Graphs

High performance is a crucial consideration when executing a complex analytic query on a massive semantic graph. In a semantic graph, vertices and edges carry \attributes of var- ious types. Analytic queries on semantic graphs typically depend on the values of these attributes; thus, the com- putati...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Buluc, Aydin, Fox, Armando, Gilbert, John, Kamil, Shoaib A, Lugowski, Adam, Oliker, Leonid, Williams, Samuel
Format: Report
Sprache:eng
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page
container_issue
container_start_page
container_title
container_volume
creator Buluc, Aydin
Fox, Armando
Gilbert, John
Kamil, Shoaib A
Lugowski, Adam
Oliker, Leonid
Williams, Samuel
description High performance is a crucial consideration when executing a complex analytic query on a massive semantic graph. In a semantic graph, vertices and edges carry \attributes of var- ious types. Analytic queries on semantic graphs typically depend on the values of these attributes; thus, the com- putation must either view the graph through a lter that passes only those individual vertices and edges of interest or else must rst materialize a subgraph or subgraphs con- sisting of only the vertices and edges of interest. The ltered approach is superior due to its generality, ease of use, and memory e ciency, but may carry a performance cost. In the Knowledge Discovery Toolbox (KDT), a Python library for parallel graph computations, the user writes l- ters in a high-level language, but those lters result in rel- atively low performance due to the bottleneck of having to call into the Python interpreter for each edge. In this work we use the Selective Embedded JIT Specialization (SEJITS) approach to automatically translate lters de ned by pro- grammers into a lower-level e ciency language, bypassing the upcall into Python. We evaluate our approach by com- paring it with the high-performance C++ /MPI Combinato- rial BLAS engine, and show that the productivity gained by using a high-level ltering language comes without sacri c- ing performance. We also present a new roo ine model for graph traversals, and show that our high-performance im- plementations do not signi cantly deviate from the roo ine.
format Report
fullrecord <record><control><sourceid>dtic_1RU</sourceid><recordid>TN_cdi_dtic_stinet_ADA561689</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>ADA561689</sourcerecordid><originalsourceid>FETCH-dtic_stinet_ADA5616893</originalsourceid><addsrcrecordid>eNrjZDD1yEzP0A1ILUrLL8pNzEtOVXDMS8ypLM4sVshPU3DLzClJLUpNUQhOBUqWZCYruBclFmQU8zCwpiXmFKfyQmluBhk31xBnD90UoJr44pLMvNSSeEcXR1MzQzMLS2MC0gB88Sn-</addsrcrecordid><sourcetype>Open Access Repository</sourcetype><iscdi>true</iscdi><recordtype>report</recordtype></control><display><type>report</type><title>High-Performance Analysis of Filtered Semantic Graphs</title><source>DTIC Technical Reports</source><creator>Buluc, Aydin ; Fox, Armando ; Gilbert, John ; Kamil, Shoaib A ; Lugowski, Adam ; Oliker, Leonid ; Williams, Samuel</creator><creatorcontrib>Buluc, Aydin ; Fox, Armando ; Gilbert, John ; Kamil, Shoaib A ; Lugowski, Adam ; Oliker, Leonid ; Williams, Samuel ; CALIFORNIA UNIV BERKELEY DEPT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE</creatorcontrib><description>High performance is a crucial consideration when executing a complex analytic query on a massive semantic graph. In a semantic graph, vertices and edges carry \attributes of var- ious types. Analytic queries on semantic graphs typically depend on the values of these attributes; thus, the com- putation must either view the graph through a lter that passes only those individual vertices and edges of interest or else must rst materialize a subgraph or subgraphs con- sisting of only the vertices and edges of interest. The ltered approach is superior due to its generality, ease of use, and memory e ciency, but may carry a performance cost. In the Knowledge Discovery Toolbox (KDT), a Python library for parallel graph computations, the user writes l- ters in a high-level language, but those lters result in rel- atively low performance due to the bottleneck of having to call into the Python interpreter for each edge. In this work we use the Selective Embedded JIT Specialization (SEJITS) approach to automatically translate lters de ned by pro- grammers into a lower-level e ciency language, bypassing the upcall into Python. We evaluate our approach by com- paring it with the high-performance C++ /MPI Combinato- rial BLAS engine, and show that the productivity gained by using a high-level ltering language comes without sacri c- ing performance. We also present a new roo ine model for graph traversals, and show that our high-performance im- plementations do not signi cantly deviate from the roo ine.</description><language>eng</language><subject>COMPUTATIONS ; Computer Programming and Software ; COSTS ; FILTERS ; GRAPHS ; HIGH LEVEL LANGUAGES ; INTERROGATION ; KDT(KNOWLEDGE DISCOVERY TOOLBOX) ; LANGUAGE ; MEMORY DEVICES ; PARALLEL PROCESSING ; PERFORMANCE(ENGINEERING) ; PRODUCTIVITY ; SEMANTICS ; SPECIALIZATION ; USER NEEDS ; VALUE</subject><creationdate>2012</creationdate><rights>Approved for public release; distribution is unlimited.</rights><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>230,778,883,27550,27551</link.rule.ids><linktorsrc>$$Uhttps://apps.dtic.mil/sti/citations/ADA561689$$EView_record_in_DTIC$$FView_record_in_$$GDTIC$$Hfree_for_read</linktorsrc></links><search><creatorcontrib>Buluc, Aydin</creatorcontrib><creatorcontrib>Fox, Armando</creatorcontrib><creatorcontrib>Gilbert, John</creatorcontrib><creatorcontrib>Kamil, Shoaib A</creatorcontrib><creatorcontrib>Lugowski, Adam</creatorcontrib><creatorcontrib>Oliker, Leonid</creatorcontrib><creatorcontrib>Williams, Samuel</creatorcontrib><creatorcontrib>CALIFORNIA UNIV BERKELEY DEPT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE</creatorcontrib><title>High-Performance Analysis of Filtered Semantic Graphs</title><description>High performance is a crucial consideration when executing a complex analytic query on a massive semantic graph. In a semantic graph, vertices and edges carry \attributes of var- ious types. Analytic queries on semantic graphs typically depend on the values of these attributes; thus, the com- putation must either view the graph through a lter that passes only those individual vertices and edges of interest or else must rst materialize a subgraph or subgraphs con- sisting of only the vertices and edges of interest. The ltered approach is superior due to its generality, ease of use, and memory e ciency, but may carry a performance cost. In the Knowledge Discovery Toolbox (KDT), a Python library for parallel graph computations, the user writes l- ters in a high-level language, but those lters result in rel- atively low performance due to the bottleneck of having to call into the Python interpreter for each edge. In this work we use the Selective Embedded JIT Specialization (SEJITS) approach to automatically translate lters de ned by pro- grammers into a lower-level e ciency language, bypassing the upcall into Python. We evaluate our approach by com- paring it with the high-performance C++ /MPI Combinato- rial BLAS engine, and show that the productivity gained by using a high-level ltering language comes without sacri c- ing performance. We also present a new roo ine model for graph traversals, and show that our high-performance im- plementations do not signi cantly deviate from the roo ine.</description><subject>COMPUTATIONS</subject><subject>Computer Programming and Software</subject><subject>COSTS</subject><subject>FILTERS</subject><subject>GRAPHS</subject><subject>HIGH LEVEL LANGUAGES</subject><subject>INTERROGATION</subject><subject>KDT(KNOWLEDGE DISCOVERY TOOLBOX)</subject><subject>LANGUAGE</subject><subject>MEMORY DEVICES</subject><subject>PARALLEL PROCESSING</subject><subject>PERFORMANCE(ENGINEERING)</subject><subject>PRODUCTIVITY</subject><subject>SEMANTICS</subject><subject>SPECIALIZATION</subject><subject>USER NEEDS</subject><subject>VALUE</subject><fulltext>true</fulltext><rsrctype>report</rsrctype><creationdate>2012</creationdate><recordtype>report</recordtype><sourceid>1RU</sourceid><recordid>eNrjZDD1yEzP0A1ILUrLL8pNzEtOVXDMS8ypLM4sVshPU3DLzClJLUpNUQhOBUqWZCYruBclFmQU8zCwpiXmFKfyQmluBhk31xBnD90UoJr44pLMvNSSeEcXR1MzQzMLS2MC0gB88Sn-</recordid><startdate>20120506</startdate><enddate>20120506</enddate><creator>Buluc, Aydin</creator><creator>Fox, Armando</creator><creator>Gilbert, John</creator><creator>Kamil, Shoaib A</creator><creator>Lugowski, Adam</creator><creator>Oliker, Leonid</creator><creator>Williams, Samuel</creator><scope>1RU</scope><scope>BHM</scope></search><sort><creationdate>20120506</creationdate><title>High-Performance Analysis of Filtered Semantic Graphs</title><author>Buluc, Aydin ; Fox, Armando ; Gilbert, John ; Kamil, Shoaib A ; Lugowski, Adam ; Oliker, Leonid ; Williams, Samuel</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-dtic_stinet_ADA5616893</frbrgroupid><rsrctype>reports</rsrctype><prefilter>reports</prefilter><language>eng</language><creationdate>2012</creationdate><topic>COMPUTATIONS</topic><topic>Computer Programming and Software</topic><topic>COSTS</topic><topic>FILTERS</topic><topic>GRAPHS</topic><topic>HIGH LEVEL LANGUAGES</topic><topic>INTERROGATION</topic><topic>KDT(KNOWLEDGE DISCOVERY TOOLBOX)</topic><topic>LANGUAGE</topic><topic>MEMORY DEVICES</topic><topic>PARALLEL PROCESSING</topic><topic>PERFORMANCE(ENGINEERING)</topic><topic>PRODUCTIVITY</topic><topic>SEMANTICS</topic><topic>SPECIALIZATION</topic><topic>USER NEEDS</topic><topic>VALUE</topic><toplevel>online_resources</toplevel><creatorcontrib>Buluc, Aydin</creatorcontrib><creatorcontrib>Fox, Armando</creatorcontrib><creatorcontrib>Gilbert, John</creatorcontrib><creatorcontrib>Kamil, Shoaib A</creatorcontrib><creatorcontrib>Lugowski, Adam</creatorcontrib><creatorcontrib>Oliker, Leonid</creatorcontrib><creatorcontrib>Williams, Samuel</creatorcontrib><creatorcontrib>CALIFORNIA UNIV BERKELEY DEPT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE</creatorcontrib><collection>DTIC Technical Reports</collection><collection>DTIC STINET</collection></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext_linktorsrc</fulltext></delivery><addata><au>Buluc, Aydin</au><au>Fox, Armando</au><au>Gilbert, John</au><au>Kamil, Shoaib A</au><au>Lugowski, Adam</au><au>Oliker, Leonid</au><au>Williams, Samuel</au><aucorp>CALIFORNIA UNIV BERKELEY DEPT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE</aucorp><format>book</format><genre>unknown</genre><ristype>RPRT</ristype><btitle>High-Performance Analysis of Filtered Semantic Graphs</btitle><date>2012-05-06</date><risdate>2012</risdate><abstract>High performance is a crucial consideration when executing a complex analytic query on a massive semantic graph. In a semantic graph, vertices and edges carry \attributes of var- ious types. Analytic queries on semantic graphs typically depend on the values of these attributes; thus, the com- putation must either view the graph through a lter that passes only those individual vertices and edges of interest or else must rst materialize a subgraph or subgraphs con- sisting of only the vertices and edges of interest. The ltered approach is superior due to its generality, ease of use, and memory e ciency, but may carry a performance cost. In the Knowledge Discovery Toolbox (KDT), a Python library for parallel graph computations, the user writes l- ters in a high-level language, but those lters result in rel- atively low performance due to the bottleneck of having to call into the Python interpreter for each edge. In this work we use the Selective Embedded JIT Specialization (SEJITS) approach to automatically translate lters de ned by pro- grammers into a lower-level e ciency language, bypassing the upcall into Python. We evaluate our approach by com- paring it with the high-performance C++ /MPI Combinato- rial BLAS engine, and show that the productivity gained by using a high-level ltering language comes without sacri c- ing performance. We also present a new roo ine model for graph traversals, and show that our high-performance im- plementations do not signi cantly deviate from the roo ine.</abstract><oa>free_for_read</oa></addata></record>
fulltext fulltext_linktorsrc
identifier
ispartof
issn
language eng
recordid cdi_dtic_stinet_ADA561689
source DTIC Technical Reports
subjects COMPUTATIONS
Computer Programming and Software
COSTS
FILTERS
GRAPHS
HIGH LEVEL LANGUAGES
INTERROGATION
KDT(KNOWLEDGE DISCOVERY TOOLBOX)
LANGUAGE
MEMORY DEVICES
PARALLEL PROCESSING
PERFORMANCE(ENGINEERING)
PRODUCTIVITY
SEMANTICS
SPECIALIZATION
USER NEEDS
VALUE
title High-Performance Analysis of Filtered Semantic Graphs
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-16T06%3A21%3A48IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-dtic_1RU&rft_val_fmt=info:ofi/fmt:kev:mtx:book&rft.genre=unknown&rft.btitle=High-Performance%20Analysis%20of%20Filtered%20Semantic%20Graphs&rft.au=Buluc,%20Aydin&rft.aucorp=CALIFORNIA%20UNIV%20BERKELEY%20DEPT%20OF%20ELECTRICAL%20ENGINEERING%20AND%20COMPUTER%20SCIENCE&rft.date=2012-05-06&rft_id=info:doi/&rft_dat=%3Cdtic_1RU%3EADA561689%3C/dtic_1RU%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_id=info:pmid/&rfr_iscdi=true